public final class GoloModule extends GoloElement implements FunctionContainer
Modifier and Type | Field and Description |
---|---|
static java.util.Set<ModuleImport> |
DEFAULT_IMPORTS |
static java.lang.String |
MODULE_INITIALIZER_FUNCTION |
Constructor and Description |
---|
GoloModule(PackageAndClass packageAndClass) |
GoloModule(PackageAndClass name,
ReferenceTable references) |
cantConvert, cantReplace, cantReplace, doesNotContain, getASTNode, getDocumentation, getLocalReferenceTable, getParentNode, getPositionInSourceCode, hasASTNode, makeParentOf, replaceInParentBy, setASTNode, setParentNode
public static final java.util.Set<ModuleImport> DEFAULT_IMPORTS
public static final java.lang.String MODULE_INITIALIZER_FUNCTION
public GoloModule(PackageAndClass packageAndClass)
public GoloModule(PackageAndClass name, ReferenceTable references)
public GoloModule ofAST(GoloASTNode n)
ofAST
in class GoloElement
public PackageAndClass getPackageAndClass()
public java.util.Set<ModuleImport> getImports()
public java.util.Collection<Augmentation> getAugmentations()
public java.util.Set<NamedAugmentation> getNamedAugmentations()
public void addImport(ModuleImport moduleImport)
public java.util.Set<GoloFunction> getFunctions()
getFunctions
in interface FunctionContainer
public void addFunctions(java.util.Collection<GoloFunction> functions)
addFunctions
in interface FunctionContainer
public boolean hasFunctions()
hasFunctions
in interface FunctionContainer
public boolean hasMain()
public void addFunction(GoloFunction function)
addFunction
in interface FunctionContainer
public void addNamedAugmentation(NamedAugmentation augment)
public Augmentation addAugmentation(Augmentation augment)
public GoloElement getSubtypeByName(java.lang.String name)
public void addModuleStateInitializer(AssignmentStatement assignment)
public void accept(GoloIrVisitor visitor)
GoloElement
This method should only call the visitor visitXXXX
method.
The children of this node will be visited by the
GoloElement.walk(GoloIrVisitor)
method.
accept
in class GoloElement
public void walk(GoloIrVisitor visitor)
GoloElement
walk
in class GoloElement
protected void replaceElement(GoloElement original, GoloElement newElement)
GoloElement
Replace original
with newElement
if original
is a child of this node
and type matches.
replaceElement
in class GoloElement
original
- the original value to replace. Must be a child of this nodenewElement
- the element to replace with. Type must match.GoloElement.cantReplace()
,
GoloElement.cantReplace(GoloElement, GoloElement)
,
GoloElement.doesNotContain(GoloElement)
,
GoloElement.cantConvert(String, Object)