Package com.strobel.assembler.metadata
Class MetadataSystem
- java.lang.Object
-
- com.strobel.assembler.metadata.MetadataResolver
-
- com.strobel.assembler.metadata.MetadataSystem
-
- All Implemented Interfaces:
IGenericContext
,IMetadataResolver
- Direct Known Subclasses:
NoRetryMetadataSystem
public class MetadataSystem extends MetadataResolver
-
-
Field Summary
Fields Modifier and Type Field Description private static MetadataSystem
_instance
private boolean
_isEagerMethodLoadingEnabled
private ITypeLoader
_typeLoader
private java.util.concurrent.ConcurrentHashMap<java.lang.String,TypeDefinition>
_types
private static TypeDefinition[]
PRIMITIVE_TYPES_BY_DESCRIPTOR
private static TypeDefinition[]
PRIMITIVE_TYPES_BY_NAME
-
Fields inherited from interface com.strobel.assembler.metadata.IMetadataResolver
EMPTY
-
-
Constructor Summary
Constructors Constructor Description MetadataSystem()
MetadataSystem(ITypeLoader typeLoader)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTypeDefinition(TypeDefinition type)
private static int
hashPrimitiveName(java.lang.String name)
static MetadataSystem
instance()
boolean
isEagerMethodLoadingEnabled()
protected TypeReference
lookupTypeCore(java.lang.String descriptor)
protected TypeDefinition
resolveCore(TypeReference type)
protected TypeDefinition
resolveType(java.lang.String descriptor, boolean mightBePrimitive)
void
setEagerMethodLoadingEnabled(boolean value)
-
Methods inherited from class com.strobel.assembler.metadata.MetadataResolver
areEquivalent, areEquivalent, areEquivalent, areParametersEquivalent, createLimitedResolver, findTypeVariable, getField, getField, getMethod, getMethod, getNestedType, lookupType, popFrame, pushFrame, resolve, resolve, resolve
-
-
-
-
Field Detail
-
_instance
private static MetadataSystem _instance
-
_types
private final java.util.concurrent.ConcurrentHashMap<java.lang.String,TypeDefinition> _types
-
_typeLoader
private final ITypeLoader _typeLoader
-
_isEagerMethodLoadingEnabled
private boolean _isEagerMethodLoadingEnabled
-
PRIMITIVE_TYPES_BY_NAME
private static final TypeDefinition[] PRIMITIVE_TYPES_BY_NAME
-
PRIMITIVE_TYPES_BY_DESCRIPTOR
private static final TypeDefinition[] PRIMITIVE_TYPES_BY_DESCRIPTOR
-
-
Constructor Detail
-
MetadataSystem
public MetadataSystem()
-
MetadataSystem
public MetadataSystem(ITypeLoader typeLoader)
-
-
Method Detail
-
instance
public static MetadataSystem instance()
-
isEagerMethodLoadingEnabled
public final boolean isEagerMethodLoadingEnabled()
-
setEagerMethodLoadingEnabled
public final void setEagerMethodLoadingEnabled(boolean value)
-
addTypeDefinition
public void addTypeDefinition(TypeDefinition type)
-
resolveCore
protected TypeDefinition resolveCore(TypeReference type)
- Specified by:
resolveCore
in classMetadataResolver
-
lookupTypeCore
protected TypeReference lookupTypeCore(java.lang.String descriptor)
- Specified by:
lookupTypeCore
in classMetadataResolver
-
resolveType
protected TypeDefinition resolveType(java.lang.String descriptor, boolean mightBePrimitive)
-
hashPrimitiveName
private static int hashPrimitiveName(java.lang.String name)
-
-