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