Package manifold.api.gen
Class AbstractSrcClass<T extends AbstractSrcClass<T>>
- java.lang.Object
-
- manifold.api.gen.SrcElement
-
- manifold.api.gen.SrcAnnotated<T>
-
- manifold.api.gen.SrcStatement<T>
-
- manifold.api.gen.AbstractSrcClass<T>
-
- Direct Known Subclasses:
SrcClass,SrcLinkedClass
public class AbstractSrcClass<T extends AbstractSrcClass<T>> extends SrcStatement<T>
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractSrcClass.Kind
-
Field Summary
-
Fields inherited from class manifold.api.gen.SrcAnnotated
NON_SEALED, SEALED
-
Fields inherited from class manifold.api.gen.SrcElement
INDENT
-
-
Constructor Summary
Constructors Constructor Description AbstractSrcClass(String fqn, AbstractSrcClass.Kind kind)AbstractSrcClass(String fqn, AbstractSrcClass enclosingClass, AbstractSrcClass.Kind kind)AbstractSrcClass(String fqn, AbstractSrcClass enclosingClass, AbstractSrcClass.Kind kind, JavaFileManager.Location location, IModule module, DiagnosticListener<JavaFileObject> errorHandler)
-
Method Summary
-
Methods inherited from class manifold.api.gen.SrcAnnotated
addAnnotation, addAnnotation, addAnnotation, addParam, addParam, addParam, addParam, clearUserData, computeOrGetUserData, forwardParameters, getAnnotation, getAnnotations, getModifiers, getParameters, getSimpleName, getUserData, hasAnnotation, hasAnnotation, insertParam, modifiers, modifiers, modifiersFrom, name, removeUserData, renderAnnotations, renderAnnotations, renderArgumenets, renderModifiers, renderModifiers, renderParameters, renderParameters, withUserData
-
Methods inherited from class manifold.api.gen.SrcElement
getOwner, indent, makeCompileTimeConstantValue, setOwner, toString
-
-
-
-
Constructor Detail
-
AbstractSrcClass
public AbstractSrcClass(String fqn, AbstractSrcClass.Kind kind)
-
AbstractSrcClass
public AbstractSrcClass(String fqn, AbstractSrcClass enclosingClass, AbstractSrcClass.Kind kind)
-
AbstractSrcClass
public AbstractSrcClass(String fqn, AbstractSrcClass enclosingClass, AbstractSrcClass.Kind kind, JavaFileManager.Location location, IModule module, DiagnosticListener<JavaFileObject> errorHandler)
-
-
Method Detail
-
isSealed
public boolean isSealed()
-
isNonSealed
public boolean isNonSealed()
-
addConstructor
public T addConstructor(SrcConstructor ctor)
-
addMethod
public T addMethod(AbstractSrcMethod method)
-
addGetProperty
public T addGetProperty(SrcGetProperty property)
-
addSetProperty
public T addSetProperty(SrcSetProperty property)
-
addInnerClass
public T addInnerClass(AbstractSrcClass innerClass)
-
addStaticBlock
public T addStaticBlock(SrcStatementBlock block)
-
getPackage
public String getPackage()
-
getKind
public AbstractSrcClass.Kind getKind()
-
getSuperClass
public SrcType getSuperClass()
-
getEnclosingClass
public AbstractSrcClass<?> getEnclosingClass()
-
getConstructors
public List<SrcConstructor> getConstructors()
-
getMethods
public List<AbstractSrcMethod> getMethods()
-
getStaticBlocks
public List<SrcStatementBlock> getStaticBlocks()
-
getInnerClasses
public List<AbstractSrcClass> getInnerClasses()
-
addTypeVar
public void addTypeVar(SrcType typeVar)
-
getName
public String getName()
-
isInterface
public boolean isInterface()
-
isEnum
public boolean isEnum()
-
isAnnotation
public boolean isAnnotation()
-
isRecord
public boolean isRecord()
-
isBinary
public boolean isBinary()
Is the source obtained from decompiling a binary form? If so, this usually means the source will not be compiled to disk, but instead is used only in the javac compiler to pose an existing type e.g., for extensions. The calls to extension methods are rewritten to forward to extension class code. The distinction is important because a binary-derived source can be stubbed.
-
setBinary
public void setBinary(boolean binary)
-
getLocation
public JavaFileManager.Location getLocation()
-
getModule
public IModule getModule()
-
getErrorHandler
public DiagnosticListener<JavaFileObject> getErrorHandler()
-
render
public StringBuilder render()
-
render
public StringBuilder render(int indent)
-
render
public StringBuilder render(StringBuilder sb, int indent)
- Specified by:
renderin classSrcElement
-
render
public StringBuilder render(StringBuilder sb, int indent, boolean includePackage)
-
findPrimaryConstructor
public AbstractSrcMethod findPrimaryConstructor()
-
-