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_instanceprivate boolean_isEagerMethodLoadingEnabledprivate ITypeLoader_typeLoaderprivate java.util.concurrent.ConcurrentHashMap<java.lang.String,TypeDefinition>_typesprivate static TypeDefinition[]PRIMITIVE_TYPES_BY_DESCRIPTORprivate 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 voidaddTypeDefinition(TypeDefinition type)private static inthashPrimitiveName(java.lang.String name)static MetadataSysteminstance()booleanisEagerMethodLoadingEnabled()protected TypeReferencelookupTypeCore(java.lang.String descriptor)protected TypeDefinitionresolveCore(TypeReference type)protected TypeDefinitionresolveType(java.lang.String descriptor, boolean mightBePrimitive)voidsetEagerMethodLoadingEnabled(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:
resolveCorein classMetadataResolver
-
lookupTypeCore
protected TypeReference lookupTypeCore(java.lang.String descriptor)
- Specified by:
lookupTypeCorein classMetadataResolver
-
resolveType
protected TypeDefinition resolveType(java.lang.String descriptor, boolean mightBePrimitive)
-
hashPrimitiveName
private static int hashPrimitiveName(java.lang.String name)
-
-