Package com.strobel.assembler.metadata
Class MetadataParser
- java.lang.Object
-
- com.strobel.assembler.metadata.MetadataParser
-
public final class MetadataParser extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classMetadataParser.StackBasedGenericContextprivate static classMetadataParser.UnresolvedFieldprivate static classMetadataParser.UnresolvedMethod
-
Field Summary
Fields Modifier and Type Field Description private CoreMetadataFactory_factoryprivate java.util.Stack<IGenericContext>_genericContextsprivate IMetadataResolver_resolverprivate SignatureParser_signatureParserprivate java.util.concurrent.atomic.AtomicInteger_suppressResolveDepthprivate static TypeReference[]PRIMITIVE_TYPESprivate static java.lang.ThreadLocal<MetadataParser>THREAD_UNBOUND_PARSERS
-
Constructor Summary
Constructors Constructor Description MetadataParser()MetadataParser(IMetadataResolver resolver)MetadataParser(TypeDefinition owner)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description IMetadataResolvergetResolver()private static inthashPrimitiveName(java.lang.String name)(package private) MethodReferencelookupMethod(TypeReference declaringType, java.lang.String name, IMethodSignature signature)TypeReferencelookupType(java.lang.String packageName, java.lang.String typeName)TypeReferencelookupTypeVariable(java.lang.String name)IClassSignatureparseClassSignature(java.lang.String signature)FieldReferenceparseField(TypeReference declaringType, java.lang.String name, java.lang.String signature)MethodReferenceparseMethod(TypeReference declaringType, java.lang.String name, java.lang.String descriptor)IMethodSignatureparseMethodSignature(java.lang.String signature)TypeReferenceparseTypeDescriptor(java.lang.String descriptor)TypeReferenceparseTypeSignature(java.lang.String signature)voidpopGenericContext()voidpushGenericContext(IGenericContext context)SafeCloseablesuppressTypeResolution()static MetadataParserunbound()
-
-
-
Field Detail
-
THREAD_UNBOUND_PARSERS
private static final java.lang.ThreadLocal<MetadataParser> THREAD_UNBOUND_PARSERS
-
_resolver
private final IMetadataResolver _resolver
-
_signatureParser
private final SignatureParser _signatureParser
-
_genericContexts
private final java.util.Stack<IGenericContext> _genericContexts
-
_factory
private final CoreMetadataFactory _factory
-
_suppressResolveDepth
private final java.util.concurrent.atomic.AtomicInteger _suppressResolveDepth
-
PRIMITIVE_TYPES
private static final TypeReference[] PRIMITIVE_TYPES
-
-
Constructor Detail
-
MetadataParser
public MetadataParser()
-
MetadataParser
public MetadataParser(IMetadataResolver resolver)
-
MetadataParser
public MetadataParser(TypeDefinition owner)
-
-
Method Detail
-
unbound
public static MetadataParser unbound()
-
suppressTypeResolution
public final SafeCloseable suppressTypeResolution()
-
getResolver
public final IMetadataResolver getResolver()
-
pushGenericContext
public void pushGenericContext(IGenericContext context)
-
popGenericContext
public void popGenericContext()
-
parseTypeDescriptor
public TypeReference parseTypeDescriptor(java.lang.String descriptor)
-
parseTypeSignature
public TypeReference parseTypeSignature(java.lang.String signature)
-
parseField
public FieldReference parseField(TypeReference declaringType, java.lang.String name, java.lang.String signature)
-
parseMethod
public MethodReference parseMethod(TypeReference declaringType, java.lang.String name, java.lang.String descriptor)
-
lookupType
public TypeReference lookupType(java.lang.String packageName, java.lang.String typeName)
-
lookupTypeVariable
public TypeReference lookupTypeVariable(java.lang.String name)
-
parseMethodSignature
public IMethodSignature parseMethodSignature(java.lang.String signature)
-
parseClassSignature
public IClassSignature parseClassSignature(java.lang.String signature)
-
lookupMethod
MethodReference lookupMethod(TypeReference declaringType, java.lang.String name, IMethodSignature signature)
-
hashPrimitiveName
private static int hashPrimitiveName(java.lang.String name)
-
-