Class MetadataResolver
java.lang.Object
com.strobel.assembler.metadata.MetadataResolver
- All Implemented Interfaces:
IGenericContext, IMetadataResolver
- Direct Known Subclasses:
MetadataResolver.LimitedResolver, MetadataSystem
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsFields inherited from interface IMetadataResolver
EMPTY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static booleanprivate static booleanstatic booleanReturns whether two type references refer to the same type.static booleanareEquivalent(TypeReference a, TypeReference b, boolean strict) Returns whether two type references refer to the same type.(package private) static <T extends TypeReference>
booleanareEquivalent(List<T> a, List<T> b) (package private) static booleanstatic IMetadataResolverfinal GenericParameterfindTypeVariable(String name) (package private) final FieldDefinitiongetField(TypeDefinition declaringType, FieldReference reference) (package private) static FieldDefinitiongetField(List<FieldDefinition> candidates, FieldReference reference) (package private) final MethodDefinitiongetMethod(TypeDefinition declaringType, MethodReference reference) (package private) static MethodDefinitiongetMethod(List<MethodDefinition> candidates, MethodReference reference) (package private) static TypeDefinitiongetNestedType(List<TypeDefinition> candidates, TypeReference reference) final TypeReferencelookupType(String descriptor) protected abstract TypeReferencelookupTypeCore(String descriptor) voidpopFrame()voidpushFrame(IResolverFrame frame) resolve(FieldReference field) resolve(MethodReference method) resolve(TypeReference type) protected abstract TypeDefinitionresolveCore(TypeReference type)
-
Field Details
-
_frames
-
-
Constructor Details
-
MetadataResolver
protected MetadataResolver()
-
-
Method Details
-
lookupType
- Specified by:
lookupTypein interfaceIMetadataResolver
-
findTypeVariable
- Specified by:
findTypeVariablein interfaceIGenericContext
-
lookupTypeCore
-
pushFrame
- Specified by:
pushFramein interfaceIMetadataResolver
-
popFrame
public void popFrame()- Specified by:
popFramein interfaceIMetadataResolver
-
resolve
- Specified by:
resolvein interfaceIMetadataResolver
-
resolveCore
-
resolve
- Specified by:
resolvein interfaceIMetadataResolver
-
resolve
- Specified by:
resolvein interfaceIMetadataResolver
-
getField
-
getMethod
-
getNestedType
-
getField
-
getMethod
-
areEquivalent
Returns whether two type references refer to the same type. Note that a parameterized type will not match its corresponding raw type (but a generic definition will match its raw type).- Parameters:
a- The first type reference.b- The second type reference.- Returns:
trueif two type references refer to the same type; otherwise,false.
-
areEquivalent
Returns whether two type references refer to the same type.- Parameters:
a- The first type reference.b- The second type reference.strict- Iftrue, a parameterized type will not match its corresponding raw type (but a generic definition will match its raw type).- Returns:
trueif two type references refer to the same type; otherwise,false.
-
areParametersEquivalent
-
areEquivalent
-
areEquivalent
-
areEquivalent
-
createLimitedResolver
-