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 class
MetadataParser.StackBasedGenericContext
private static class
MetadataParser.UnresolvedField
private static class
MetadataParser.UnresolvedMethod
-
Field Summary
Fields Modifier and Type Field Description private CoreMetadataFactory
_factory
private java.util.Stack<IGenericContext>
_genericContexts
private IMetadataResolver
_resolver
private SignatureParser
_signatureParser
private java.util.concurrent.atomic.AtomicInteger
_suppressResolveDepth
private static TypeReference[]
PRIMITIVE_TYPES
private 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 IMetadataResolver
getResolver()
private static int
hashPrimitiveName(java.lang.String name)
(package private) MethodReference
lookupMethod(TypeReference declaringType, java.lang.String name, IMethodSignature signature)
TypeReference
lookupType(java.lang.String packageName, java.lang.String typeName)
TypeReference
lookupTypeVariable(java.lang.String name)
IClassSignature
parseClassSignature(java.lang.String signature)
FieldReference
parseField(TypeReference declaringType, java.lang.String name, java.lang.String signature)
MethodReference
parseMethod(TypeReference declaringType, java.lang.String name, java.lang.String descriptor)
IMethodSignature
parseMethodSignature(java.lang.String signature)
TypeReference
parseTypeDescriptor(java.lang.String descriptor)
TypeReference
parseTypeSignature(java.lang.String signature)
void
popGenericContext()
void
pushGenericContext(IGenericContext context)
SafeCloseable
suppressTypeResolution()
static MetadataParser
unbound()
-
-
-
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)
-
-