public final class Struct extends GoloElement
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
IMMUTABLE_FACTORY_METHOD |
Modifier and Type | Method and Description |
---|---|
void |
accept(GoloIrVisitor visitor)
Accept the visitor.
|
protected void |
addMember(Member member) |
java.util.Set<GoloFunction> |
createFactories() |
protected GoloFunction |
createFullArgsConstructor() |
protected java.lang.String |
getFactoryDelegateName() |
protected java.lang.Object[] |
getFullArgs() |
protected java.util.List<java.lang.String> |
getMemberNames() |
java.util.Set<Member> |
getMembers() |
java.lang.String |
getName() |
PackageAndClass |
getPackageAndClass() |
java.util.List<Member> |
getPublicMembers() |
boolean |
hasMembers() |
org.eclipse.golo.compiler.ir.TypeWithMembers |
members(java.lang.Object... members) |
Struct |
ofAST(GoloASTNode node) |
protected void |
replaceElement(GoloElement original,
GoloElement newElement)
Replace a child.
|
void |
setModuleName(PackageAndClass module) |
void |
walk(GoloIrVisitor visitor)
Walk the visitor through this node children.
|
org.eclipse.golo.compiler.ir.TypeWithMembers |
withMember(java.lang.Object member) |
cantConvert, cantReplace, cantReplace, doesNotContain, getASTNode, getDocumentation, getLocalReferenceTable, getParentNode, getPositionInSourceCode, hasASTNode, makeParentOf, replaceInParentBy, setASTNode, setParentNode
public static final java.lang.String IMMUTABLE_FACTORY_METHOD
public Struct ofAST(GoloASTNode node)
ofAST
in class GoloElement
public PackageAndClass getPackageAndClass()
public void setModuleName(PackageAndClass module)
public java.util.Set<GoloFunction> createFactories()
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 java.lang.String getName()
protected java.lang.String getFactoryDelegateName()
public org.eclipse.golo.compiler.ir.TypeWithMembers members(java.lang.Object... members)
public boolean hasMembers()
public org.eclipse.golo.compiler.ir.TypeWithMembers withMember(java.lang.Object member)
protected java.util.List<java.lang.String> getMemberNames()
public java.util.Set<Member> getMembers()
public java.util.List<Member> getPublicMembers()
protected java.lang.Object[] getFullArgs()
protected GoloFunction createFullArgsConstructor()
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)