Package com.strobel.assembler.metadata
Class CompoundTypeReference
- java.lang.Object
-
- com.strobel.assembler.metadata.MemberReference
-
- com.strobel.assembler.metadata.TypeReference
-
- com.strobel.assembler.metadata.CompoundTypeReference
-
- All Implemented Interfaces:
IAnnotationsProvider
,ICompoundType
,IGenericContext
,IGenericParameterProvider
,IMetadataTypeMember
public final class CompoundTypeReference extends TypeReference implements ICompoundType
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.strobel.assembler.metadata.TypeReference
TypeReference.TypeFunctions
-
-
Field Summary
Fields Modifier and Type Field Description private TypeReference
_baseType
private java.util.List<TypeReference>
_interfaces
private IMetadataResolver
_resolver
-
Fields inherited from class com.strobel.assembler.metadata.TypeReference
EMPTY_REFERENCES
-
-
Constructor Summary
Constructors Constructor Description CompoundTypeReference(TypeReference baseType, java.util.List<TypeReference> interfaces)
CompoundTypeReference(TypeReference baseType, java.util.List<TypeReference> interfaces, IMetadataResolver resolver)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <R,P>
Raccept(TypeMetadataVisitor<P,R> visitor, P parameter)
(package private) static java.lang.StringBuilder
append0(ICompoundType t, java.lang.StringBuilder sb, java.lang.String delimiter, Accumulator<TypeReference,java.lang.StringBuilder> appender)
java.lang.StringBuilder
appendBriefDescription(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendDescription(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendErasedClassSignature(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendErasedDescription(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendErasedSignature(java.lang.StringBuilder sb)
protected java.lang.StringBuilder
appendName(java.lang.StringBuilder sb, boolean fullName, boolean dottedName)
java.lang.StringBuilder
appendSignature(java.lang.StringBuilder sb)
java.lang.StringBuilder
appendSimpleDescription(java.lang.StringBuilder sb)
boolean
containsGenericParameters()
TypeReference
getBaseType()
TypeReference
getDeclaringType()
java.lang.String
getFullName()
java.util.List<TypeReference>
getInterfaces()
java.lang.String
getInternalName()
java.lang.String
getName()
IMetadataResolver
getResolver()
java.lang.String
getSimpleName()
TypeReference
getUnderlyingType()
boolean
isCompoundType()
TypeDefinition
resolve()
private TypeReference
underlyingType0()
-
Methods inherited from class com.strobel.assembler.metadata.TypeReference
appendClassDescription, appendClassSignature, appendGenericSignature, checkRecursive, equals, findTypeVariable, getBriefDescription, getDescription, getElementType, getErasedDescription, getExtendsBound, getGenericParameters, getPackageName, getRawType, getSimpleDescription, getSimpleType, getSuperBound, hasExtendsBound, hasGenericParameters, hashCode, hasSuperBound, isArray, isBoundedType, isEquivalentTo, isGenericDefinition, isGenericParameter, isGenericType, isNested, isPrimitive, isUnbounded, isUnionType, isVoid, isWildcardType, makeArrayType, makeGenericType, makeGenericType, resolve, resolve, resolve, setDeclaringType, setName, toString
-
Methods inherited from class com.strobel.assembler.metadata.MemberReference
getAnnotations, getErasedSignature, getSignature, hasAnnotations, isDefinition, isSpecialName
-
-
-
-
Field Detail
-
_baseType
private final TypeReference _baseType
-
_interfaces
private final java.util.List<TypeReference> _interfaces
-
_resolver
private final IMetadataResolver _resolver
-
-
Constructor Detail
-
CompoundTypeReference
public CompoundTypeReference(TypeReference baseType, java.util.List<TypeReference> interfaces)
-
CompoundTypeReference
public CompoundTypeReference(TypeReference baseType, java.util.List<TypeReference> interfaces, IMetadataResolver resolver)
-
-
Method Detail
-
underlyingType0
private TypeReference underlyingType0()
-
getBaseType
public final TypeReference getBaseType()
- Specified by:
getBaseType
in interfaceICompoundType
-
getInterfaces
public final java.util.List<TypeReference> getInterfaces()
- Specified by:
getInterfaces
in interfaceICompoundType
-
getResolver
public IMetadataResolver getResolver()
- Specified by:
getResolver
in interfaceICompoundType
-
getDeclaringType
public TypeReference getDeclaringType()
- Specified by:
getDeclaringType
in interfaceIMetadataTypeMember
- Overrides:
getDeclaringType
in classTypeReference
-
isCompoundType
public boolean isCompoundType()
- Overrides:
isCompoundType
in classTypeReference
-
getSimpleName
public java.lang.String getSimpleName()
- Specified by:
getSimpleName
in classTypeReference
-
containsGenericParameters
public boolean containsGenericParameters()
- Overrides:
containsGenericParameters
in classTypeReference
-
getName
public java.lang.String getName()
- Specified by:
getName
in interfaceIMetadataTypeMember
- Overrides:
getName
in classTypeReference
-
getFullName
public java.lang.String getFullName()
- Overrides:
getFullName
in classTypeReference
-
getInternalName
public java.lang.String getInternalName()
- Overrides:
getInternalName
in classTypeReference
-
getUnderlyingType
public TypeReference getUnderlyingType()
- Overrides:
getUnderlyingType
in classTypeReference
-
accept
public final <R,P> R accept(TypeMetadataVisitor<P,R> visitor, P parameter)
- Specified by:
accept
in classTypeReference
-
appendName
protected java.lang.StringBuilder appendName(java.lang.StringBuilder sb, boolean fullName, boolean dottedName)
- Overrides:
appendName
in classTypeReference
-
append0
static java.lang.StringBuilder append0(ICompoundType t, java.lang.StringBuilder sb, java.lang.String delimiter, Accumulator<TypeReference,java.lang.StringBuilder> appender)
-
appendBriefDescription
public java.lang.StringBuilder appendBriefDescription(java.lang.StringBuilder sb)
- Overrides:
appendBriefDescription
in classTypeReference
-
appendSimpleDescription
public java.lang.StringBuilder appendSimpleDescription(java.lang.StringBuilder sb)
- Overrides:
appendSimpleDescription
in classTypeReference
-
appendErasedDescription
public java.lang.StringBuilder appendErasedDescription(java.lang.StringBuilder sb)
- Overrides:
appendErasedDescription
in classTypeReference
-
appendDescription
public java.lang.StringBuilder appendDescription(java.lang.StringBuilder sb)
- Overrides:
appendDescription
in classTypeReference
-
appendSignature
public java.lang.StringBuilder appendSignature(java.lang.StringBuilder sb)
- Overrides:
appendSignature
in classTypeReference
-
appendErasedSignature
public java.lang.StringBuilder appendErasedSignature(java.lang.StringBuilder sb)
- Overrides:
appendErasedSignature
in classTypeReference
-
appendErasedClassSignature
protected java.lang.StringBuilder appendErasedClassSignature(java.lang.StringBuilder sb)
- Overrides:
appendErasedClassSignature
in classTypeReference
-
resolve
public TypeDefinition resolve()
- Overrides:
resolve
in classTypeReference
-
-