/* Generated By:JJTree: Do not edit this line. SimpleNode.java Version 4.3 */ /* JavaCCOptions:MULTI=false,NODE_USES_PARSER=true,VISITOR=false,TRACK_TOKENS=false,NODE_PREFIX=AST,NODE_EXTENDS=,NODE_FACTORY=*,SUPPORT_CLASS_VISIBILITY_PUBLIC=true */ package org.python.pydev.parser.fastparser.grammar_fstrings_common; import org.eclipse.jface.text.BadLocationException; import org.eclipse.jface.text.Document; import org.python.pydev.parser.grammar_fstrings.FStringsGrammar; import org.python.pydev.parser.grammar_fstrings.FStringsGrammarTreeConstants; import org.python.pydev.shared_core.string.StringUtils; import org.python.pydev.shared_core.string.TextSelectionUtils; public class SimpleNode implements Node { protected Node parent; protected Node[] children; public final int id; protected Object value; public int beginColumn; public int endColumn; public int beginLine; public int endLine; public SimpleNode(int i) { id = i; } public static Node jjtCreate(FStringsGrammar p, int id) { return new SimpleNode(id); } @Override public void jjtOpen(FStringsGrammar parser) { } @Override public void jjtClose(FStringsGrammar parser) { } @Override public void jjtSetParent(Node n) { parent = n; } @Override public Node jjtGetParent() { return parent; } @Override public void jjtAddChild(Node n, int i) { if (children == null) { children = new Node[i + 1]; } else if (i >= children.length) { Node c[] = new Node[i + 1]; System.arraycopy(children, 0, c, 0, children.length); children = c; } children[i] = n; } @Override public Node jjtGetChild(int i) { return children[i]; } @Override public int jjtGetNumChildren() { return (children == null) ? 0 : children.length; } public void jjtSetValue(Object value) { this.value = value; } public Object jjtGetValue() { return value; } /* You can override these two methods in subclasses of SimpleNode to customize the way the node appears when the tree is dumped. If your output uses more than one line you should override toString(String), otherwise overriding toString() is probably all you need to do. */ @Override public String toString() { return StringUtils.join("", FStringsGrammarTreeConstants.jjtNodeName[id], " (", beginLine, ", ", beginColumn, ") -> (", endLine, ", ", endColumn, ")"); } public String toString(String prefix) { return prefix + toString(); } /* Override this method if you want to customize how the node dumps out its children. */ public void dump(String prefix) { System.out.println(toString(prefix)); if (children != null) { for (int i = 0; i < children.length; ++i) { SimpleNode n = (SimpleNode) children[i]; if (n != null) { n.dump(prefix + " "); } } } } public String getContentsFromString(String str, Document doc) throws BadLocationException { int offset1 = TextSelectionUtils.getAbsoluteCursorOffset(doc, this.beginLine - 1, this.beginColumn - 1); int offset2 = TextSelectionUtils.getAbsoluteCursorOffset(doc, this.endLine - 1, this.endColumn); return doc.get(offset1, offset2 - offset1); } } /* JavaCC - OriginalChecksum=169f55ab032ee70675f83cac2ef6f376 (do not edit this line) */