Class: SyntaxTree::Node
- Inherits:
-
Object
show all
- Defined in:
- lib/syntax_tree/node.rb
Overview
This is the parent node of all of the syntax tree nodes. It’s pretty much exclusively here to make it easier to operate with the tree in cases where you’re trying to monkey-patch or strictly type.
Direct Known Subclasses
ARef, ARefField, Alias, ArgBlock, ArgParen, ArgStar, Args, ArgsForward, ArrayLiteral, AryPtn, Assign, Assoc, AssocSplat, BEGINBlock, Backref, Backtick, BareAssocHash, Begin, Binary, BlockArg, BlockVar, BodyStmt, BraceBlock, Break, CHAR, CVar, Call, Case, ClassDeclaration, Comma, Command, CommandCall, Comment, Const, ConstPathField, ConstPathRef, ConstRef, Def, DefEndless, Defined, Defs, DoBlock, Dot2, Dot3, DynaSymbol, ENDBlock, Else, Elsif, EmbDoc, EmbExprBeg, EmbExprEnd, EmbVar, EndContent, Ensure, ExcessedComma, FCall, Field, FloatLiteral, FndPtn, For, GVar, HashLiteral, Heredoc, HeredocBeg, HshPtn, IVar, Ident, If, IfMod, IfOp, Imaginary, In, Int, Kw, KwRestParam, LBrace, LBracket, LParen, Label, LabelEnd, Lambda, MAssign, MLHS, MLHSParen, MRHS, MethodAddBlock, ModuleDeclaration, Next, Not, Op, OpAssign, Params, Paren, Period, PinnedBegin, PinnedVarRef, Program, QSymbols, QSymbolsBeg, QWords, QWordsBeg, RAssign, RBrace, RBracket, RParen, RationalLiteral, Redo, RegexpBeg, RegexpContent, RegexpEnd, RegexpLiteral, Rescue, RescueEx, RescueMod, RestParam, Retry, Return, Return0, SClass, Statements, StringConcat, StringContent, StringDVar, StringEmbExpr, StringLiteral, Super, SymBeg, SymbolContent, SymbolLiteral, Symbols, SymbolsBeg, TLamBeg, TLambda, TStringBeg, TStringContent, TStringEnd, TopConstField, TopConstRef, Unary, Undef, Unless, UnlessMod, Until, UntilMod, VCall, VarAlias, VarField, VarRef, VoidStmt, When, While, WhileMod, Word, Words, WordsBeg, XString, XStringLiteral, Yield, Yield0, ZSuper
Instance Attribute Summary collapse
Instance Method Summary
collapse
Instance Attribute Details
#location ⇒ Object
- Location
-
the location of this node
59
60
61
|
# File 'lib/syntax_tree/node.rb', line 59
def location
@location
end
|
Instance Method Details
#accept(visitor) ⇒ Object
61
62
63
|
# File 'lib/syntax_tree/node.rb', line 61
def accept(visitor)
raise NotImplementedError
end
|
#child_nodes ⇒ Object
65
66
67
|
# File 'lib/syntax_tree/node.rb', line 65
def child_nodes
raise NotImplementedError
end
|
#deconstruct ⇒ Object
69
70
71
|
# File 'lib/syntax_tree/node.rb', line 69
def deconstruct
raise NotImplementedError
end
|
#deconstruct_keys(keys) ⇒ Object
73
74
75
|
# File 'lib/syntax_tree/node.rb', line 73
def deconstruct_keys(keys)
raise NotImplementedError
end
|
77
78
79
|
# File 'lib/syntax_tree/node.rb', line 77
def format(q)
raise NotImplementedError
end
|
#pretty_print(q) ⇒ Object
81
82
83
84
|
# File 'lib/syntax_tree/node.rb', line 81
def pretty_print(q)
visitor = Visitor::PrettyPrintVisitor.new(q)
visitor.visit(self)
end
|
#to_json(*opts) ⇒ Object
86
87
88
89
|
# File 'lib/syntax_tree/node.rb', line 86
def to_json(*opts)
visitor = Visitor::JSONVisitor.new
visitor.visit(self).to_json(*opts)
end
|