slcom/slangc/model/NodeData.sauce

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;
}
}