46 lines
856 B
Plaintext
46 lines
856 B
Plaintext
|
package slangc.model;
|
||
|
|
||
|
import slangc.parser.Node;
|
||
|
|
||
|
public class NodeData {
|
||
|
private SystemModel system;
|
||
|
private NodeData outer;
|
||
|
private Node node;
|
||
|
|
||
|
private UserTypeModel typeDefinition = null;
|
||
|
|
||
|
NodeData(NodeData outer, Node node, SystemModel system) {
|
||
|
this.outer = outer;
|
||
|
this.node = node;
|
||
|
this.system = system;
|
||
|
}
|
||
|
|
||
|
public Node getNode() {
|
||
|
return node;
|
||
|
}
|
||
|
|
||
|
public NodeData getOuter() {
|
||
|
return outer;
|
||
|
}
|
||
|
|
||
|
public boolean isTypeDefinition() {
|
||
|
return typeDefinition != null;
|
||
|
}
|
||
|
|
||
|
public UserTypeModel getTypeDefinition() {
|
||
|
return typeDefinition;
|
||
|
}
|
||
|
|
||
|
public void setTypeDefinition(UserTypeModel typeDefinition) {
|
||
|
this.typeDefinition = typeDefinition;
|
||
|
}
|
||
|
|
||
|
public static NodeData of(Node n) {
|
||
|
return (NodeData)n.userdata;
|
||
|
}
|
||
|
|
||
|
public SystemModel getSystem() {
|
||
|
return system;
|
||
|
}
|
||
|
}
|