Package com.google.turbine.binder.bound
Class SourceTypeBoundClass
- java.lang.Object
-
- com.google.turbine.binder.bound.SourceTypeBoundClass
-
- All Implemented Interfaces:
BoundClass,HeaderBoundClass,TypeBoundClass
public class SourceTypeBoundClass extends java.lang.Object implements TypeBoundClass
A HeaderBoundClass for classes compiled from source.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.google.turbine.binder.bound.TypeBoundClass
TypeBoundClass.FieldInfo, TypeBoundClass.MethodInfo, TypeBoundClass.ParamInfo, TypeBoundClass.RecordComponentInfo, TypeBoundClass.TyVarInfo
-
-
Constructor Summary
Constructors Constructor Description SourceTypeBoundClass(com.google.common.collect.ImmutableList<Type> interfaceTypes, com.google.common.collect.ImmutableList<ClassSymbol> permits, @Nullable Type superClassType, com.google.common.collect.ImmutableMap<TyVarSymbol,TypeBoundClass.TyVarInfo> typeParameterTypes, int access, com.google.common.collect.ImmutableList<TypeBoundClass.RecordComponentInfo> components, com.google.common.collect.ImmutableList<TypeBoundClass.MethodInfo> methods, com.google.common.collect.ImmutableList<TypeBoundClass.FieldInfo> fields, @Nullable ClassSymbol owner, TurbineTyKind kind, com.google.common.collect.ImmutableMap<java.lang.String,ClassSymbol> children, com.google.common.collect.ImmutableMap<java.lang.String,TyVarSymbol> typeParameters, CompoundScope enclosingScope, CompoundScope scope, MemberImportIndex memberImports, @Nullable AnnotationMetadata annotationMetadata, com.google.common.collect.ImmutableList<AnnoInfo> annotations, SourceFile source, Tree.TyDecl decl)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intaccess()Class access bits (see JVMS table 4.1).@Nullable AnnotationMetadataannotationMetadata()Annotation metadata, e.g.com.google.common.collect.ImmutableList<AnnoInfo>annotations()Declaration annotations.com.google.common.collect.ImmutableMap<java.lang.String,ClassSymbol>children()Member type declarations, by simple name.com.google.common.collect.ImmutableList<TypeBoundClass.RecordComponentInfo>components()The record components.Tree.TyDecldecl()CompoundScopeenclosingScope()The scope of the enclosing declaration or compilation unit.com.google.common.collect.ImmutableList<TypeBoundClass.FieldInfo>fields()Declared fields.com.google.common.collect.ImmutableList<ClassSymbol>interfaces()The interfaces of the declaration.com.google.common.collect.ImmutableList<Type>interfaceTypes()Implemented interface types.TurbineTyKindkind()The kind of declared type (class, interface, enum, or annotation).MemberImportIndexmemberImports()The static member import index for the enclosing compilation unit.com.google.common.collect.ImmutableList<TypeBoundClass.MethodInfo>methods()Declared methods.@Nullable ClassSymbolowner()The enclosing declaration for member types, ornullfor top-level declarations.com.google.common.collect.ImmutableList<ClassSymbol>permits()The permitted direct subclasses.CompoundScopescope()The scope of the current class, including its members.SourceFilesource()The source file.@Nullable ClassSymbolsuperclass()The superclass of the declaration.@Nullable TypesuperClassType()The super-class type.com.google.common.collect.ImmutableMap<java.lang.String,TyVarSymbol>typeParameters()Declared type parameters.com.google.common.collect.ImmutableMap<TyVarSymbol,TypeBoundClass.TyVarInfo>typeParameterTypes()Declared type parameters.
-
-
-
Constructor Detail
-
SourceTypeBoundClass
public SourceTypeBoundClass(com.google.common.collect.ImmutableList<Type> interfaceTypes, com.google.common.collect.ImmutableList<ClassSymbol> permits, @Nullable Type superClassType, com.google.common.collect.ImmutableMap<TyVarSymbol,TypeBoundClass.TyVarInfo> typeParameterTypes, int access, com.google.common.collect.ImmutableList<TypeBoundClass.RecordComponentInfo> components, com.google.common.collect.ImmutableList<TypeBoundClass.MethodInfo> methods, com.google.common.collect.ImmutableList<TypeBoundClass.FieldInfo> fields, @Nullable ClassSymbol owner, TurbineTyKind kind, com.google.common.collect.ImmutableMap<java.lang.String,ClassSymbol> children, com.google.common.collect.ImmutableMap<java.lang.String,TyVarSymbol> typeParameters, CompoundScope enclosingScope, CompoundScope scope, MemberImportIndex memberImports, @Nullable AnnotationMetadata annotationMetadata, com.google.common.collect.ImmutableList<AnnoInfo> annotations, SourceFile source, Tree.TyDecl decl)
-
-
Method Detail
-
superclass
public @Nullable ClassSymbol superclass()
Description copied from interface:HeaderBoundClassThe superclass of the declaration.- Specified by:
superclassin interfaceHeaderBoundClass
-
interfaces
public com.google.common.collect.ImmutableList<ClassSymbol> interfaces()
Description copied from interface:HeaderBoundClassThe interfaces of the declaration.- Specified by:
interfacesin interfaceHeaderBoundClass
-
permits
public com.google.common.collect.ImmutableList<ClassSymbol> permits()
Description copied from interface:TypeBoundClassThe permitted direct subclasses.- Specified by:
permitsin interfaceTypeBoundClass
-
access
public int access()
Description copied from interface:BoundClassClass access bits (see JVMS table 4.1).- Specified by:
accessin interfaceBoundClass
-
kind
public TurbineTyKind kind()
Description copied from interface:BoundClassThe kind of declared type (class, interface, enum, or annotation).- Specified by:
kindin interfaceBoundClass
-
owner
public @Nullable ClassSymbol owner()
Description copied from interface:BoundClassThe enclosing declaration for member types, ornullfor top-level declarations.- Specified by:
ownerin interfaceBoundClass
-
children
public com.google.common.collect.ImmutableMap<java.lang.String,ClassSymbol> children()
Description copied from interface:BoundClassMember type declarations, by simple name.- Specified by:
childrenin interfaceBoundClass
-
typeParameters
public com.google.common.collect.ImmutableMap<java.lang.String,TyVarSymbol> typeParameters()
Description copied from interface:HeaderBoundClassDeclared type parameters.- Specified by:
typeParametersin interfaceHeaderBoundClass
-
interfaceTypes
public com.google.common.collect.ImmutableList<Type> interfaceTypes()
Description copied from interface:TypeBoundClassImplemented interface types.- Specified by:
interfaceTypesin interfaceTypeBoundClass
-
superClassType
public @Nullable Type superClassType()
The super-class type.- Specified by:
superClassTypein interfaceTypeBoundClass
-
components
public com.google.common.collect.ImmutableList<TypeBoundClass.RecordComponentInfo> components()
The record components.- Specified by:
componentsin interfaceTypeBoundClass
-
methods
public com.google.common.collect.ImmutableList<TypeBoundClass.MethodInfo> methods()
Declared methods.- Specified by:
methodsin interfaceTypeBoundClass
-
annotationMetadata
public @Nullable AnnotationMetadata annotationMetadata()
Description copied from interface:TypeBoundClassAnnotation metadata, e.g. fromTarget,Retention, andRepeatable.- Specified by:
annotationMetadatain interfaceTypeBoundClass
-
fields
public com.google.common.collect.ImmutableList<TypeBoundClass.FieldInfo> fields()
Declared fields.- Specified by:
fieldsin interfaceTypeBoundClass
-
typeParameterTypes
public com.google.common.collect.ImmutableMap<TyVarSymbol,TypeBoundClass.TyVarInfo> typeParameterTypes()
Declared type parameters.- Specified by:
typeParameterTypesin interfaceTypeBoundClass
-
enclosingScope
public CompoundScope enclosingScope()
The scope of the enclosing declaration or compilation unit.
-
scope
public CompoundScope scope()
The scope of the current class, including its members.
-
memberImports
public MemberImportIndex memberImports()
The static member import index for the enclosing compilation unit.
-
annotations
public com.google.common.collect.ImmutableList<AnnoInfo> annotations()
Description copied from interface:TypeBoundClassDeclaration annotations.- Specified by:
annotationsin interfaceTypeBoundClass
-
source
public SourceFile source()
The source file.
-
decl
public Tree.TyDecl decl()
-
-