108 }
109
110 @Override
111 public HotSpotResolvedObjectTypeImpl getDeclaringClass() {
112 return holder;
113 }
114
115 @Override
116 public String getName() {
117 return holder.createFieldInfo(index).getName();
118 }
119
120 @Override
121 public JavaType getType() {
122 // Pull field into local variable to prevent a race causing
123 // a ClassCastException below
124 JavaType currentType = type;
125 if (currentType instanceof UnresolvedJavaType) {
126 // Don't allow unresolved types to hang around forever
127 UnresolvedJavaType unresolvedType = (UnresolvedJavaType) currentType;
128 ResolvedJavaType resolved = unresolvedType.resolve(holder);
129 if (resolved != null) {
130 type = resolved;
131 }
132 }
133 return type;
134 }
135
136 @Override
137 public int getOffset() {
138 return offset;
139 }
140
141 @Override
142 public String toString() {
143 return format("HotSpotField<%H.%n %t:") + offset + ">";
144 }
145
146 @Override
147 public boolean isSynthetic() {
148 return (config().jvmAccSynthetic & modifiers) != 0;
|
108 }
109
110 @Override
111 public HotSpotResolvedObjectTypeImpl getDeclaringClass() {
112 return holder;
113 }
114
115 @Override
116 public String getName() {
117 return holder.createFieldInfo(index).getName();
118 }
119
120 @Override
121 public JavaType getType() {
122 // Pull field into local variable to prevent a race causing
123 // a ClassCastException below
124 JavaType currentType = type;
125 if (currentType instanceof UnresolvedJavaType) {
126 // Don't allow unresolved types to hang around forever
127 UnresolvedJavaType unresolvedType = (UnresolvedJavaType) currentType;
128 ResolvedJavaType resolved = holder.lookupType(unresolvedType, false);
129 if (resolved != null) {
130 type = resolved;
131 }
132 }
133 return type;
134 }
135
136 @Override
137 public int getOffset() {
138 return offset;
139 }
140
141 @Override
142 public String toString() {
143 return format("HotSpotField<%H.%n %t:") + offset + ">";
144 }
145
146 @Override
147 public boolean isSynthetic() {
148 return (config().jvmAccSynthetic & modifiers) != 0;
|