module Prism::DSL
The DSL module provides a set of methods that can be used to create prism nodes in a more concise manner. For example, instead of writing:
source = Prism::Source.new("[1]") Prism::ArrayNode.new( [ Prism::IntegerNode.new( Prism::IntegerBaseFlags::DECIMAL, Prism::Location.new(source, 1, 1), ) ], Prism::Location.new(source, 0, 1), Prism::Location.new(source, 2, 1) )
you could instead write:
source = Prism::Source.new("[1]")
ArrayNode(
IntegerNode(Prism::IntegerBaseFlags::DECIMAL, Location(source, 1, 1))),
Location(source, 0, 1),
Location(source, 2, 1)
)
This is mostly helpful in the context of writing tests, but can also be used to generate trees programmatically.
Private Instance Methods
Create a new AliasGlobalVariableNode node
# File lib/prism/dsl.rb, line 46 def AliasGlobalVariableNode(new_name, old_name, keyword_loc, location = Location()) AliasGlobalVariableNode.new(new_name, old_name, keyword_loc, location) end
Create a new AliasMethodNode node
# File lib/prism/dsl.rb, line 51 def AliasMethodNode(new_name, old_name, keyword_loc, location = Location()) AliasMethodNode.new(new_name, old_name, keyword_loc, location) end
Create a new AlternationPatternNode node
# File lib/prism/dsl.rb, line 56 def AlternationPatternNode(left, right, operator_loc, location = Location()) AlternationPatternNode.new(left, right, operator_loc, location) end
Create a new AndNode node
# File lib/prism/dsl.rb, line 61 def AndNode(left, right, operator_loc, location = Location()) AndNode.new(left, right, operator_loc, location) end
Create a new ArgumentsNode node
# File lib/prism/dsl.rb, line 66 def ArgumentsNode(flags, arguments, location = Location()) ArgumentsNode.new(flags, arguments, location) end
Create a new ArrayNode node
# File lib/prism/dsl.rb, line 71 def ArrayNode(flags, elements, opening_loc, closing_loc, location = Location()) ArrayNode.new(flags, elements, opening_loc, closing_loc, location) end
Create a new ArrayPatternNode node
# File lib/prism/dsl.rb, line 76 def ArrayPatternNode(constant, requireds, rest, posts, opening_loc, closing_loc, location = Location()) ArrayPatternNode.new(constant, requireds, rest, posts, opening_loc, closing_loc, location) end
Create a new AssocNode node
# File lib/prism/dsl.rb, line 81 def AssocNode(key, value, operator_loc, location = Location()) AssocNode.new(key, value, operator_loc, location) end
Create a new AssocSplatNode node
# File lib/prism/dsl.rb, line 86 def AssocSplatNode(value, operator_loc, location = Location()) AssocSplatNode.new(value, operator_loc, location) end
Create a new BackReferenceReadNode node
# File lib/prism/dsl.rb, line 91 def BackReferenceReadNode(name, location = Location()) BackReferenceReadNode.new(name, location) end
Create a new BeginNode node
# File lib/prism/dsl.rb, line 96 def BeginNode(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location = Location()) BeginNode.new(begin_keyword_loc, statements, rescue_clause, else_clause, ensure_clause, end_keyword_loc, location) end
Create a new BlockArgumentNode node
# File lib/prism/dsl.rb, line 101 def BlockArgumentNode(expression, operator_loc, location = Location()) BlockArgumentNode.new(expression, operator_loc, location) end
Create a new BlockLocalVariableNode node
# File lib/prism/dsl.rb, line 106 def BlockLocalVariableNode(name, location = Location()) BlockLocalVariableNode.new(name, location) end
Create a new BlockNode node
# File lib/prism/dsl.rb, line 111 def BlockNode(locals, locals_body_index, parameters, body, opening_loc, closing_loc, location = Location()) BlockNode.new(locals, locals_body_index, parameters, body, opening_loc, closing_loc, location) end
Create a new BlockParameterNode node
# File lib/prism/dsl.rb, line 116 def BlockParameterNode(name, name_loc, operator_loc, location = Location()) BlockParameterNode.new(name, name_loc, operator_loc, location) end
Create a new BlockParametersNode node
# File lib/prism/dsl.rb, line 121 def BlockParametersNode(parameters, locals, opening_loc, closing_loc, location = Location()) BlockParametersNode.new(parameters, locals, opening_loc, closing_loc, location) end
Create a new BreakNode node
# File lib/prism/dsl.rb, line 126 def BreakNode(arguments, keyword_loc, location = Location()) BreakNode.new(arguments, keyword_loc, location) end
Create a new CallAndWriteNode node
# File lib/prism/dsl.rb, line 131 def CallAndWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location = Location()) CallAndWriteNode.new(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location) end
Create a new CallNode node
# File lib/prism/dsl.rb, line 136 def CallNode(flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, location = Location()) CallNode.new(flags, receiver, call_operator_loc, name, message_loc, opening_loc, arguments, closing_loc, block, location) end
Create a new CallOperatorWriteNode node
# File lib/prism/dsl.rb, line 141 def CallOperatorWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, location = Location()) CallOperatorWriteNode.new(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator, operator_loc, value, location) end
Create a new CallOrWriteNode node
# File lib/prism/dsl.rb, line 146 def CallOrWriteNode(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location = Location()) CallOrWriteNode.new(flags, receiver, call_operator_loc, message_loc, read_name, write_name, operator_loc, value, location) end
Create a new CallTargetNode node
# File lib/prism/dsl.rb, line 151 def CallTargetNode(flags, receiver, call_operator_loc, name, message_loc, location = Location()) CallTargetNode.new(flags, receiver, call_operator_loc, name, message_loc, location) end
Create a new CapturePatternNode node
# File lib/prism/dsl.rb, line 156 def CapturePatternNode(value, target, operator_loc, location = Location()) CapturePatternNode.new(value, target, operator_loc, location) end
Create a new CaseMatchNode node
# File lib/prism/dsl.rb, line 161 def CaseMatchNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = Location()) CaseMatchNode.new(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location) end
Create a new CaseNode node
# File lib/prism/dsl.rb, line 166 def CaseNode(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location = Location()) CaseNode.new(predicate, conditions, consequent, case_keyword_loc, end_keyword_loc, location) end
Create a new ClassNode node
# File lib/prism/dsl.rb, line 171 def ClassNode(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location = Location()) ClassNode.new(locals, class_keyword_loc, constant_path, inheritance_operator_loc, superclass, body, end_keyword_loc, name, location) end
Create a new ClassVariableAndWriteNode node
# File lib/prism/dsl.rb, line 176 def ClassVariableAndWriteNode(name, name_loc, operator_loc, value, location = Location()) ClassVariableAndWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new ClassVariableOperatorWriteNode node
# File lib/prism/dsl.rb, line 181 def ClassVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = Location()) ClassVariableOperatorWriteNode.new(name, name_loc, operator_loc, value, operator, location) end
Create a new ClassVariableOrWriteNode node
# File lib/prism/dsl.rb, line 186 def ClassVariableOrWriteNode(name, name_loc, operator_loc, value, location = Location()) ClassVariableOrWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new ClassVariableReadNode node
# File lib/prism/dsl.rb, line 191 def ClassVariableReadNode(name, location = Location()) ClassVariableReadNode.new(name, location) end
Create a new ClassVariableTargetNode node
# File lib/prism/dsl.rb, line 196 def ClassVariableTargetNode(name, location = Location()) ClassVariableTargetNode.new(name, location) end
Create a new ClassVariableWriteNode node
# File lib/prism/dsl.rb, line 201 def ClassVariableWriteNode(name, name_loc, value, operator_loc, location = Location()) ClassVariableWriteNode.new(name, name_loc, value, operator_loc, location) end
Create a new ConstantAndWriteNode node
# File lib/prism/dsl.rb, line 206 def ConstantAndWriteNode(name, name_loc, operator_loc, value, location = Location()) ConstantAndWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new ConstantOperatorWriteNode node
# File lib/prism/dsl.rb, line 211 def ConstantOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = Location()) ConstantOperatorWriteNode.new(name, name_loc, operator_loc, value, operator, location) end
Create a new ConstantOrWriteNode node
# File lib/prism/dsl.rb, line 216 def ConstantOrWriteNode(name, name_loc, operator_loc, value, location = Location()) ConstantOrWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new ConstantPathAndWriteNode node
# File lib/prism/dsl.rb, line 221 def ConstantPathAndWriteNode(target, operator_loc, value, location = Location()) ConstantPathAndWriteNode.new(target, operator_loc, value, location) end
Create a new ConstantPathNode node
# File lib/prism/dsl.rb, line 226 def ConstantPathNode(parent, child, delimiter_loc, location = Location()) ConstantPathNode.new(parent, child, delimiter_loc, location) end
Create a new ConstantPathOperatorWriteNode node
# File lib/prism/dsl.rb, line 231 def ConstantPathOperatorWriteNode(target, operator_loc, value, operator, location = Location()) ConstantPathOperatorWriteNode.new(target, operator_loc, value, operator, location) end
Create a new ConstantPathOrWriteNode node
# File lib/prism/dsl.rb, line 236 def ConstantPathOrWriteNode(target, operator_loc, value, location = Location()) ConstantPathOrWriteNode.new(target, operator_loc, value, location) end
Create a new ConstantPathTargetNode node
# File lib/prism/dsl.rb, line 241 def ConstantPathTargetNode(parent, child, delimiter_loc, location = Location()) ConstantPathTargetNode.new(parent, child, delimiter_loc, location) end
Create a new ConstantPathWriteNode node
# File lib/prism/dsl.rb, line 246 def ConstantPathWriteNode(target, operator_loc, value, location = Location()) ConstantPathWriteNode.new(target, operator_loc, value, location) end
Create a new ConstantReadNode node
# File lib/prism/dsl.rb, line 251 def ConstantReadNode(name, location = Location()) ConstantReadNode.new(name, location) end
Create a new ConstantTargetNode node
# File lib/prism/dsl.rb, line 256 def ConstantTargetNode(name, location = Location()) ConstantTargetNode.new(name, location) end
Create a new ConstantWriteNode node
# File lib/prism/dsl.rb, line 261 def ConstantWriteNode(name, name_loc, value, operator_loc, location = Location()) ConstantWriteNode.new(name, name_loc, value, operator_loc, location) end
Create a new DefNode node
# File lib/prism/dsl.rb, line 266 def DefNode(name, name_loc, receiver, parameters, body, locals, locals_body_index, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location = Location()) DefNode.new(name, name_loc, receiver, parameters, body, locals, locals_body_index, def_keyword_loc, operator_loc, lparen_loc, rparen_loc, equal_loc, end_keyword_loc, location) end
Create a new DefinedNode node
# File lib/prism/dsl.rb, line 271 def DefinedNode(lparen_loc, value, rparen_loc, keyword_loc, location = Location()) DefinedNode.new(lparen_loc, value, rparen_loc, keyword_loc, location) end
Create a new ElseNode node
# File lib/prism/dsl.rb, line 276 def ElseNode(else_keyword_loc, statements, end_keyword_loc, location = Location()) ElseNode.new(else_keyword_loc, statements, end_keyword_loc, location) end
Create a new EmbeddedStatementsNode node
# File lib/prism/dsl.rb, line 281 def EmbeddedStatementsNode(opening_loc, statements, closing_loc, location = Location()) EmbeddedStatementsNode.new(opening_loc, statements, closing_loc, location) end
Create a new EmbeddedVariableNode node
# File lib/prism/dsl.rb, line 286 def EmbeddedVariableNode(operator_loc, variable, location = Location()) EmbeddedVariableNode.new(operator_loc, variable, location) end
Create a new EnsureNode node
# File lib/prism/dsl.rb, line 291 def EnsureNode(ensure_keyword_loc, statements, end_keyword_loc, location = Location()) EnsureNode.new(ensure_keyword_loc, statements, end_keyword_loc, location) end
Create a new FalseNode node
# File lib/prism/dsl.rb, line 296 def FalseNode(location = Location()) FalseNode.new(location) end
Create a new FindPatternNode node
# File lib/prism/dsl.rb, line 301 def FindPatternNode(constant, left, requireds, right, opening_loc, closing_loc, location = Location()) FindPatternNode.new(constant, left, requireds, right, opening_loc, closing_loc, location) end
Create a new FlipFlopNode node
# File lib/prism/dsl.rb, line 306 def FlipFlopNode(flags, left, right, operator_loc, location = Location()) FlipFlopNode.new(flags, left, right, operator_loc, location) end
Create a new FloatNode node
# File lib/prism/dsl.rb, line 311 def FloatNode(location = Location()) FloatNode.new(location) end
Create a new ForNode node
# File lib/prism/dsl.rb, line 316 def ForNode(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location = Location()) ForNode.new(index, collection, statements, for_keyword_loc, in_keyword_loc, do_keyword_loc, end_keyword_loc, location) end
Create a new ForwardingArgumentsNode node
# File lib/prism/dsl.rb, line 321 def ForwardingArgumentsNode(location = Location()) ForwardingArgumentsNode.new(location) end
Create a new ForwardingParameterNode node
# File lib/prism/dsl.rb, line 326 def ForwardingParameterNode(location = Location()) ForwardingParameterNode.new(location) end
Create a new ForwardingSuperNode node
# File lib/prism/dsl.rb, line 331 def ForwardingSuperNode(block, location = Location()) ForwardingSuperNode.new(block, location) end
Create a new GlobalVariableAndWriteNode node
# File lib/prism/dsl.rb, line 336 def GlobalVariableAndWriteNode(name, name_loc, operator_loc, value, location = Location()) GlobalVariableAndWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new GlobalVariableOperatorWriteNode node
# File lib/prism/dsl.rb, line 341 def GlobalVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = Location()) GlobalVariableOperatorWriteNode.new(name, name_loc, operator_loc, value, operator, location) end
Create a new GlobalVariableOrWriteNode node
# File lib/prism/dsl.rb, line 346 def GlobalVariableOrWriteNode(name, name_loc, operator_loc, value, location = Location()) GlobalVariableOrWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new GlobalVariableReadNode node
# File lib/prism/dsl.rb, line 351 def GlobalVariableReadNode(name, location = Location()) GlobalVariableReadNode.new(name, location) end
Create a new GlobalVariableTargetNode node
# File lib/prism/dsl.rb, line 356 def GlobalVariableTargetNode(name, location = Location()) GlobalVariableTargetNode.new(name, location) end
Create a new GlobalVariableWriteNode node
# File lib/prism/dsl.rb, line 361 def GlobalVariableWriteNode(name, name_loc, value, operator_loc, location = Location()) GlobalVariableWriteNode.new(name, name_loc, value, operator_loc, location) end
Create a new HashNode node
# File lib/prism/dsl.rb, line 366 def HashNode(opening_loc, elements, closing_loc, location = Location()) HashNode.new(opening_loc, elements, closing_loc, location) end
Create a new HashPatternNode node
# File lib/prism/dsl.rb, line 371 def HashPatternNode(constant, elements, rest, opening_loc, closing_loc, location = Location()) HashPatternNode.new(constant, elements, rest, opening_loc, closing_loc, location) end
Create a new IfNode node
# File lib/prism/dsl.rb, line 376 def IfNode(if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location = Location()) IfNode.new(if_keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location) end
Create a new ImaginaryNode node
# File lib/prism/dsl.rb, line 381 def ImaginaryNode(numeric, location = Location()) ImaginaryNode.new(numeric, location) end
Create a new ImplicitNode node
# File lib/prism/dsl.rb, line 386 def ImplicitNode(value, location = Location()) ImplicitNode.new(value, location) end
Create a new ImplicitRestNode node
# File lib/prism/dsl.rb, line 391 def ImplicitRestNode(location = Location()) ImplicitRestNode.new(location) end
Create a new InNode node
# File lib/prism/dsl.rb, line 396 def InNode(pattern, statements, in_loc, then_loc, location = Location()) InNode.new(pattern, statements, in_loc, then_loc, location) end
Create a new IndexAndWriteNode node
# File lib/prism/dsl.rb, line 401 def IndexAndWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location = Location()) IndexAndWriteNode.new(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location) end
Create a new IndexOperatorWriteNode node
# File lib/prism/dsl.rb, line 406 def IndexOperatorWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, location = Location()) IndexOperatorWriteNode.new(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator, operator_loc, value, location) end
Create a new IndexOrWriteNode node
# File lib/prism/dsl.rb, line 411 def IndexOrWriteNode(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location = Location()) IndexOrWriteNode.new(flags, receiver, call_operator_loc, opening_loc, arguments, closing_loc, block, operator_loc, value, location) end
Create a new IndexTargetNode node
# File lib/prism/dsl.rb, line 416 def IndexTargetNode(flags, receiver, opening_loc, arguments, closing_loc, block, location = Location()) IndexTargetNode.new(flags, receiver, opening_loc, arguments, closing_loc, block, location) end
Create a new InstanceVariableAndWriteNode node
# File lib/prism/dsl.rb, line 421 def InstanceVariableAndWriteNode(name, name_loc, operator_loc, value, location = Location()) InstanceVariableAndWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new InstanceVariableOperatorWriteNode node
# File lib/prism/dsl.rb, line 426 def InstanceVariableOperatorWriteNode(name, name_loc, operator_loc, value, operator, location = Location()) InstanceVariableOperatorWriteNode.new(name, name_loc, operator_loc, value, operator, location) end
Create a new InstanceVariableOrWriteNode node
# File lib/prism/dsl.rb, line 431 def InstanceVariableOrWriteNode(name, name_loc, operator_loc, value, location = Location()) InstanceVariableOrWriteNode.new(name, name_loc, operator_loc, value, location) end
Create a new InstanceVariableReadNode node
# File lib/prism/dsl.rb, line 436 def InstanceVariableReadNode(name, location = Location()) InstanceVariableReadNode.new(name, location) end
Create a new InstanceVariableTargetNode node
# File lib/prism/dsl.rb, line 441 def InstanceVariableTargetNode(name, location = Location()) InstanceVariableTargetNode.new(name, location) end
Create a new InstanceVariableWriteNode node
# File lib/prism/dsl.rb, line 446 def InstanceVariableWriteNode(name, name_loc, value, operator_loc, location = Location()) InstanceVariableWriteNode.new(name, name_loc, value, operator_loc, location) end
Create a new IntegerNode node
# File lib/prism/dsl.rb, line 451 def IntegerNode(flags, location = Location()) IntegerNode.new(flags, location) end
Create a new InterpolatedMatchLastLineNode node
# File lib/prism/dsl.rb, line 456 def InterpolatedMatchLastLineNode(flags, opening_loc, parts, closing_loc, location = Location()) InterpolatedMatchLastLineNode.new(flags, opening_loc, parts, closing_loc, location) end
Create a new InterpolatedRegularExpressionNode node
# File lib/prism/dsl.rb, line 461 def InterpolatedRegularExpressionNode(flags, opening_loc, parts, closing_loc, location = Location()) InterpolatedRegularExpressionNode.new(flags, opening_loc, parts, closing_loc, location) end
Create a new InterpolatedStringNode node
# File lib/prism/dsl.rb, line 466 def InterpolatedStringNode(opening_loc, parts, closing_loc, location = Location()) InterpolatedStringNode.new(opening_loc, parts, closing_loc, location) end
Create a new InterpolatedSymbolNode node
# File lib/prism/dsl.rb, line 471 def InterpolatedSymbolNode(opening_loc, parts, closing_loc, location = Location()) InterpolatedSymbolNode.new(opening_loc, parts, closing_loc, location) end
Create a new InterpolatedXStringNode node
# File lib/prism/dsl.rb, line 476 def InterpolatedXStringNode(opening_loc, parts, closing_loc, location = Location()) InterpolatedXStringNode.new(opening_loc, parts, closing_loc, location) end
Create a new KeywordHashNode node
# File lib/prism/dsl.rb, line 481 def KeywordHashNode(flags, elements, location = Location()) KeywordHashNode.new(flags, elements, location) end
Create a new KeywordRestParameterNode node
# File lib/prism/dsl.rb, line 486 def KeywordRestParameterNode(name, name_loc, operator_loc, location = Location()) KeywordRestParameterNode.new(name, name_loc, operator_loc, location) end
Create a new LambdaNode node
# File lib/prism/dsl.rb, line 491 def LambdaNode(locals, locals_body_index, operator_loc, opening_loc, closing_loc, parameters, body, location = Location()) LambdaNode.new(locals, locals_body_index, operator_loc, opening_loc, closing_loc, parameters, body, location) end
Create a new LocalVariableAndWriteNode node
# File lib/prism/dsl.rb, line 496 def LocalVariableAndWriteNode(name_loc, operator_loc, value, name, depth, location = Location()) LocalVariableAndWriteNode.new(name_loc, operator_loc, value, name, depth, location) end
Create a new LocalVariableOperatorWriteNode node
# File lib/prism/dsl.rb, line 501 def LocalVariableOperatorWriteNode(name_loc, operator_loc, value, name, operator, depth, location = Location()) LocalVariableOperatorWriteNode.new(name_loc, operator_loc, value, name, operator, depth, location) end
Create a new LocalVariableOrWriteNode node
# File lib/prism/dsl.rb, line 506 def LocalVariableOrWriteNode(name_loc, operator_loc, value, name, depth, location = Location()) LocalVariableOrWriteNode.new(name_loc, operator_loc, value, name, depth, location) end
Create a new LocalVariableReadNode node
# File lib/prism/dsl.rb, line 511 def LocalVariableReadNode(name, depth, location = Location()) LocalVariableReadNode.new(name, depth, location) end
Create a new LocalVariableTargetNode node
# File lib/prism/dsl.rb, line 516 def LocalVariableTargetNode(name, depth, location = Location()) LocalVariableTargetNode.new(name, depth, location) end
Create a new LocalVariableWriteNode node
# File lib/prism/dsl.rb, line 521 def LocalVariableWriteNode(name, depth, name_loc, value, operator_loc, location = Location()) LocalVariableWriteNode.new(name, depth, name_loc, value, operator_loc, location) end
Create a new Location object
# File lib/prism/dsl.rb, line 41 def Location(source = nil, start_offset = 0, length = 0) Location.new(source, start_offset, length) end
Create a new MatchLastLineNode node
# File lib/prism/dsl.rb, line 526 def MatchLastLineNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = Location()) MatchLastLineNode.new(flags, opening_loc, content_loc, closing_loc, unescaped, location) end
Create a new MatchPredicateNode node
# File lib/prism/dsl.rb, line 531 def MatchPredicateNode(value, pattern, operator_loc, location = Location()) MatchPredicateNode.new(value, pattern, operator_loc, location) end
Create a new MatchRequiredNode node
# File lib/prism/dsl.rb, line 536 def MatchRequiredNode(value, pattern, operator_loc, location = Location()) MatchRequiredNode.new(value, pattern, operator_loc, location) end
Create a new MatchWriteNode node
# File lib/prism/dsl.rb, line 541 def MatchWriteNode(call, targets, location = Location()) MatchWriteNode.new(call, targets, location) end
Create a new MissingNode node
# File lib/prism/dsl.rb, line 546 def MissingNode(location = Location()) MissingNode.new(location) end
Create a new ModuleNode node
# File lib/prism/dsl.rb, line 551 def ModuleNode(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location = Location()) ModuleNode.new(locals, module_keyword_loc, constant_path, body, end_keyword_loc, name, location) end
Create a new MultiTargetNode node
# File lib/prism/dsl.rb, line 556 def MultiTargetNode(lefts, rest, rights, lparen_loc, rparen_loc, location = Location()) MultiTargetNode.new(lefts, rest, rights, lparen_loc, rparen_loc, location) end
Create a new MultiWriteNode node
# File lib/prism/dsl.rb, line 561 def MultiWriteNode(lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value, location = Location()) MultiWriteNode.new(lefts, rest, rights, lparen_loc, rparen_loc, operator_loc, value, location) end
Create a new NextNode node
# File lib/prism/dsl.rb, line 566 def NextNode(arguments, keyword_loc, location = Location()) NextNode.new(arguments, keyword_loc, location) end
Create a new NilNode node
# File lib/prism/dsl.rb, line 571 def NilNode(location = Location()) NilNode.new(location) end
Create a new NoKeywordsParameterNode node
# File lib/prism/dsl.rb, line 576 def NoKeywordsParameterNode(operator_loc, keyword_loc, location = Location()) NoKeywordsParameterNode.new(operator_loc, keyword_loc, location) end
Create a new NumberedParametersNode node
# File lib/prism/dsl.rb, line 581 def NumberedParametersNode(maximum, location = Location()) NumberedParametersNode.new(maximum, location) end
Create a new NumberedReferenceReadNode node
# File lib/prism/dsl.rb, line 586 def NumberedReferenceReadNode(number, location = Location()) NumberedReferenceReadNode.new(number, location) end
Create a new OptionalKeywordParameterNode node
# File lib/prism/dsl.rb, line 591 def OptionalKeywordParameterNode(name, name_loc, value, location = Location()) OptionalKeywordParameterNode.new(name, name_loc, value, location) end
Create a new OptionalParameterNode node
# File lib/prism/dsl.rb, line 596 def OptionalParameterNode(name, name_loc, operator_loc, value, location = Location()) OptionalParameterNode.new(name, name_loc, operator_loc, value, location) end
Create a new OrNode node
# File lib/prism/dsl.rb, line 601 def OrNode(left, right, operator_loc, location = Location()) OrNode.new(left, right, operator_loc, location) end
Create a new ParametersNode node
# File lib/prism/dsl.rb, line 606 def ParametersNode(requireds, optionals, rest, posts, keywords, keyword_rest, block, location = Location()) ParametersNode.new(requireds, optionals, rest, posts, keywords, keyword_rest, block, location) end
Create a new ParenthesesNode node
# File lib/prism/dsl.rb, line 611 def ParenthesesNode(body, opening_loc, closing_loc, location = Location()) ParenthesesNode.new(body, opening_loc, closing_loc, location) end
Create a new PinnedExpressionNode node
# File lib/prism/dsl.rb, line 616 def PinnedExpressionNode(expression, operator_loc, lparen_loc, rparen_loc, location = Location()) PinnedExpressionNode.new(expression, operator_loc, lparen_loc, rparen_loc, location) end
Create a new PinnedVariableNode node
# File lib/prism/dsl.rb, line 621 def PinnedVariableNode(variable, operator_loc, location = Location()) PinnedVariableNode.new(variable, operator_loc, location) end
Create a new PostExecutionNode node
# File lib/prism/dsl.rb, line 626 def PostExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = Location()) PostExecutionNode.new(statements, keyword_loc, opening_loc, closing_loc, location) end
Create a new PreExecutionNode node
# File lib/prism/dsl.rb, line 631 def PreExecutionNode(statements, keyword_loc, opening_loc, closing_loc, location = Location()) PreExecutionNode.new(statements, keyword_loc, opening_loc, closing_loc, location) end
Create a new ProgramNode node
# File lib/prism/dsl.rb, line 636 def ProgramNode(locals, statements, location = Location()) ProgramNode.new(locals, statements, location) end
Create a new RangeNode node
# File lib/prism/dsl.rb, line 641 def RangeNode(flags, left, right, operator_loc, location = Location()) RangeNode.new(flags, left, right, operator_loc, location) end
Create a new RationalNode node
# File lib/prism/dsl.rb, line 646 def RationalNode(numeric, location = Location()) RationalNode.new(numeric, location) end
Create a new RedoNode node
# File lib/prism/dsl.rb, line 651 def RedoNode(location = Location()) RedoNode.new(location) end
Create a new RegularExpressionNode node
# File lib/prism/dsl.rb, line 656 def RegularExpressionNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = Location()) RegularExpressionNode.new(flags, opening_loc, content_loc, closing_loc, unescaped, location) end
Create a new RequiredKeywordParameterNode node
# File lib/prism/dsl.rb, line 661 def RequiredKeywordParameterNode(name, name_loc, location = Location()) RequiredKeywordParameterNode.new(name, name_loc, location) end
Create a new RequiredParameterNode node
# File lib/prism/dsl.rb, line 666 def RequiredParameterNode(name, location = Location()) RequiredParameterNode.new(name, location) end
Create a new RescueModifierNode node
# File lib/prism/dsl.rb, line 671 def RescueModifierNode(expression, keyword_loc, rescue_expression, location = Location()) RescueModifierNode.new(expression, keyword_loc, rescue_expression, location) end
Create a new RescueNode node
# File lib/prism/dsl.rb, line 676 def RescueNode(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location = Location()) RescueNode.new(keyword_loc, exceptions, operator_loc, reference, statements, consequent, location) end
Create a new RestParameterNode node
# File lib/prism/dsl.rb, line 681 def RestParameterNode(name, name_loc, operator_loc, location = Location()) RestParameterNode.new(name, name_loc, operator_loc, location) end
Create a new RetryNode node
# File lib/prism/dsl.rb, line 686 def RetryNode(location = Location()) RetryNode.new(location) end
Create a new ReturnNode node
# File lib/prism/dsl.rb, line 691 def ReturnNode(keyword_loc, arguments, location = Location()) ReturnNode.new(keyword_loc, arguments, location) end
Create a new SelfNode node
# File lib/prism/dsl.rb, line 696 def SelfNode(location = Location()) SelfNode.new(location) end
Create a new SingletonClassNode node
# File lib/prism/dsl.rb, line 701 def SingletonClassNode(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location = Location()) SingletonClassNode.new(locals, class_keyword_loc, operator_loc, expression, body, end_keyword_loc, location) end
Create a new SourceEncodingNode node
# File lib/prism/dsl.rb, line 706 def SourceEncodingNode(location = Location()) SourceEncodingNode.new(location) end
Create a new SourceFileNode node
# File lib/prism/dsl.rb, line 711 def SourceFileNode(filepath, location = Location()) SourceFileNode.new(filepath, location) end
Create a new SourceLineNode node
# File lib/prism/dsl.rb, line 716 def SourceLineNode(location = Location()) SourceLineNode.new(location) end
Create a new SplatNode node
# File lib/prism/dsl.rb, line 721 def SplatNode(operator_loc, expression, location = Location()) SplatNode.new(operator_loc, expression, location) end
Create a new StatementsNode node
# File lib/prism/dsl.rb, line 726 def StatementsNode(body, location = Location()) StatementsNode.new(body, location) end
Create a new StringNode node
# File lib/prism/dsl.rb, line 731 def StringNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = Location()) StringNode.new(flags, opening_loc, content_loc, closing_loc, unescaped, location) end
Create a new SuperNode node
# File lib/prism/dsl.rb, line 736 def SuperNode(keyword_loc, lparen_loc, arguments, rparen_loc, block, location = Location()) SuperNode.new(keyword_loc, lparen_loc, arguments, rparen_loc, block, location) end
Create a new SymbolNode node
# File lib/prism/dsl.rb, line 741 def SymbolNode(flags, opening_loc, value_loc, closing_loc, unescaped, location = Location()) SymbolNode.new(flags, opening_loc, value_loc, closing_loc, unescaped, location) end
Create a new TrueNode node
# File lib/prism/dsl.rb, line 746 def TrueNode(location = Location()) TrueNode.new(location) end
Create a new UndefNode node
# File lib/prism/dsl.rb, line 751 def UndefNode(names, keyword_loc, location = Location()) UndefNode.new(names, keyword_loc, location) end
Create a new UnlessNode node
# File lib/prism/dsl.rb, line 756 def UnlessNode(keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location = Location()) UnlessNode.new(keyword_loc, predicate, then_keyword_loc, statements, consequent, end_keyword_loc, location) end
Create a new UntilNode node
# File lib/prism/dsl.rb, line 761 def UntilNode(flags, keyword_loc, closing_loc, predicate, statements, location = Location()) UntilNode.new(flags, keyword_loc, closing_loc, predicate, statements, location) end
Create a new WhenNode node
# File lib/prism/dsl.rb, line 766 def WhenNode(keyword_loc, conditions, statements, location = Location()) WhenNode.new(keyword_loc, conditions, statements, location) end
Create a new WhileNode node
# File lib/prism/dsl.rb, line 771 def WhileNode(flags, keyword_loc, closing_loc, predicate, statements, location = Location()) WhileNode.new(flags, keyword_loc, closing_loc, predicate, statements, location) end
Create a new XStringNode node
# File lib/prism/dsl.rb, line 776 def XStringNode(flags, opening_loc, content_loc, closing_loc, unescaped, location = Location()) XStringNode.new(flags, opening_loc, content_loc, closing_loc, unescaped, location) end
Create a new YieldNode node
# File lib/prism/dsl.rb, line 781 def YieldNode(keyword_loc, lparen_loc, arguments, rparen_loc, location = Location()) YieldNode.new(keyword_loc, lparen_loc, arguments, rparen_loc, location) end