config.yml in yarp-0.8.0 vs config.yml in yarp-0.9.0

- old
+ new

@@ -397,23 +397,10 @@ comment: | Represents the use of the `&&` operator or the `and` keyword. left and right ^^^^^^^^^^^^^^ - - name: AndWriteNode - child_nodes: - - name: target - type: node - - name: value - type: node - - name: operator_loc - type: location - comment: | - Represents the use of the `&&=` operator. - - target &&= value - ^^^^^^^^^^^^^^^^ - name: ArgumentsNode child_nodes: - name: arguments type: node[] comment: | @@ -729,21 +716,70 @@ type: node? - name: body type: node? - name: end_keyword_loc type: location + - name: name + type: string comment: | Represents a class declaration involving the `class` keyword. class Foo end ^^^^^^^^^^^^^ + - name: ClassVariableAndWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `&&=` operator for assignment to a class variable. + + @@target &&= value + ^^^^^^^^^^^^^^^^ + - name: ClassVariableOperatorWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: operator + type: constant + comment: | + Represents assigning to a class variable using an operator that isn't `=`. + + @@target += value + ^^^^^^^^^^^^^^^^^ + - name: ClassVariableOrWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `||=` operator for assignment to a class variable. + + @@target ||= value + ^^^^^^^^^^^^^^^^^^ - name: ClassVariableReadNode comment: | Represents referencing a class variable. @@foo ^^^^^ + - name: ClassVariableTargetNode + comment: | + Represents writing to a class variable in a context that doesn't have an explicit value. + + @@foo, @@bar = baz + ^^^^^ ^^^^^ - name: ClassVariableWriteNode child_nodes: - name: name_loc type: location - name: value @@ -753,10 +789,65 @@ comment: | Represents writing to a class variable. @@foo = 1 ^^^^^^^^^ + - name: ConstantAndWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `&&=` operator for assignment to a constant. + + Target &&= value + ^^^^^^^^^^^^^^^^ + - name: ConstantOperatorWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: operator + type: constant + comment: | + Represents assigning to a constant using an operator that isn't `=`. + + Target += value + ^^^^^^^^^^^^^^^ + - name: ConstantOrWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `||=` operator for assignment to a constant. + + Target ||= value + ^^^^^^^^^^^^^^^^ + - name: ConstantPathAndWriteNode + child_nodes: + - name: target + type: node + kind: ConstantPathNode + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `&&=` operator for assignment to a constant path. + + Parent::Child &&= value + ^^^^^^^^^^^^^^^^^^^^^^^ - name: ConstantPathNode child_nodes: - name: parent type: node? - name: child @@ -766,20 +857,63 @@ comment: | Represents accessing a constant through a path of `::` operators. Foo::Bar ^^^^^^^^ - - name: ConstantPathWriteNode + - name: ConstantPathOperatorWriteNode child_nodes: - name: target type: node kind: ConstantPathNode - name: operator_loc - type: location? + type: location - name: value + type: node + - name: operator + type: constant + comment: | + Represents assigning to a constant path using an operator that isn't `=`. + + Parent::Child += value + ^^^^^^^^^^^^^^^^^^^^^^ + - name: ConstantPathOrWriteNode + child_nodes: + - name: target + type: node + kind: ConstantPathNode + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `||=` operator for assignment to a constant path. + + Parent::Child ||= value + ^^^^^^^^^^^^^^^^^^^^^^^ + - name: ConstantPathTargetNode + child_nodes: + - name: parent type: node? + - name: child + type: node + - name: delimiter_loc + type: location comment: | + Represents writing to a constant path in a context that doesn't have an explicit value. + + Foo::Foo, Bar::Bar = baz + ^^^^^^^^ ^^^^^^^^ + - name: ConstantPathWriteNode + child_nodes: + - name: target + type: node + kind: ConstantPathNode + - name: operator_loc + type: location + - name: value + type: node + comment: | Represents writing to a constant path. ::Foo = 1 ^^^^^^^^^ @@ -792,18 +926,24 @@ comment: | Represents referencing a constant. Foo ^^^ + - name: ConstantTargetNode + comment: | + Represents writing to a constant in a context that doesn't have an explicit value. + + Foo, Bar = baz + ^^^ ^^^ - name: ConstantWriteNode child_nodes: - name: name_loc type: location - name: value - type: node? + type: node - name: operator_loc - type: location? + type: location comment: | Represents writing to a constant. Foo = 1 ^^^^^^^ @@ -1008,24 +1148,71 @@ comment: | Represents the use of the `super` keyword without parentheses or arguments. super ^^^^^ + - name: GlobalVariableAndWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `&&=` operator for assignment to a global variable. + + $target &&= value + ^^^^^^^^^^^^^^^^^ + - name: GlobalVariableOperatorWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: operator + type: constant + comment: | + Represents assigning to a global variable using an operator that isn't `=`. + + $target += value + ^^^^^^^^^^^^^^^^ + - name: GlobalVariableOrWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `||=` operator for assignment to a global variable. + + $target ||= value + ^^^^^^^^^^^^^^^^^ - name: GlobalVariableReadNode comment: | Represents referencing a global variable. $foo ^^^^ + - name: GlobalVariableTargetNode + comment: | + Represents writing to a global variable in a context that doesn't have an explicit value. + + $foo, $bar = baz + ^^^^ ^^^^ - name: GlobalVariableWriteNode child_nodes: - name: name_loc type: location - name: operator_loc - type: location? + type: location - name: value - type: node? + type: node comment: | Represents writing to a global variable. $foo = 1 ^^^^^^^^ @@ -1107,24 +1294,71 @@ comment: | Represents the use of the `in` keyword in a case statement. case a; in b then c end ^^^^^^^^^^^ + - name: InstanceVariableAndWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `&&=` operator for assignment to an instance variable. + + @target &&= value + ^^^^^^^^^^^^^^^^^ + - name: InstanceVariableOperatorWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: operator + type: constant + comment: | + Represents assigning to an instance variable using an operator that isn't `=`. + + @target += value + ^^^^^^^^^^^^^^^^ + - name: InstanceVariableOrWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + comment: | + Represents the use of the `||=` operator for assignment to an instance variable. + + @target ||= value + ^^^^^^^^^^^^^^^^^ - name: InstanceVariableReadNode comment: | Represents referencing an instance variable. @foo ^^^^ + - name: InstanceVariableTargetNode + comment: | + Represents writing to an instance variable in a context that doesn't have an explicit value. + + @foo, @bar = baz + ^^^^ ^^^^ - name: InstanceVariableWriteNode child_nodes: - name: name_loc type: location - name: value - type: node? + type: node - name: operator_loc - type: location? + type: location comment: | Represents writing to an instance variable. @foo = 1 ^^^^^^^^ @@ -1232,22 +1466,79 @@ end - name: LambdaNode child_nodes: - name: locals type: constant[] + - name: operator_loc + type: location - name: opening_loc type: location + - name: closing_loc + type: location - name: parameters type: node? kind: BlockParametersNode - name: body type: node? comment: | Represents using a lambda literal (not the lambda method call). ->(value) { value * 2 } ^^^^^^^^^^^^^^^^^^^^^^^ + - name: LocalVariableAndWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: constant_id + type: constant + - name: depth + type: uint32 + comment: | + Represents the use of the `&&=` operator for assignment to a local variable. + + target &&= value + ^^^^^^^^^^^^^^^^ + - name: LocalVariableOperatorWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: constant_id + type: constant + - name: operator_id + type: constant + - name: depth + type: uint32 + comment: | + Represents assigning to a local variable using an operator that isn't `=`. + + target += value + ^^^^^^^^^^^^^^^ + - name: LocalVariableOrWriteNode + child_nodes: + - name: name_loc + type: location + - name: operator_loc + type: location + - name: value + type: node + - name: constant_id + type: constant + - name: depth + type: uint32 + comment: | + Represents the use of the `||=` operator for assignment to a local variable. + + target ||= value + ^^^^^^^^^^^^^^^^ - name: LocalVariableReadNode child_nodes: - name: constant_id type: constant - name: depth @@ -1257,22 +1548,33 @@ variable of the same name has already been written to in the same scope, otherwise it is parsed as a method call. foo ^^^ + - name: LocalVariableTargetNode + child_nodes: + - name: constant_id + type: constant + - name: depth + type: uint32 + comment: | + Represents writing to a local variable in a context that doesn't have an explicit value. + + foo, bar = baz + ^^^ ^^^ - name: LocalVariableWriteNode child_nodes: - name: constant_id type: constant - name: depth type: uint32 - name: value - type: node? + type: node - name: name_loc type: location - name: operator_loc - type: location? + type: location comment: | Represents writing to a local variable. foo = 1 ^^^^^^^ @@ -1316,10 +1618,12 @@ type: node - name: body type: node? - name: end_keyword_loc type: location + - name: name + type: string comment: | Represents a module declaration involving the `module` keyword. module Foo end ^^^^^^^^^^^^^^ @@ -1374,25 +1678,10 @@ comment: | Represents reading a numbered reference to a capture in the previous match. $1 ^^ - - name: OperatorWriteNode - child_nodes: - - name: target - type: node - - name: operator_loc - type: location - - name: operator - type: constant - - name: value - type: node - comment: | - Represents the use of an operator on a write. - - target += value - ^^^^^^^^^^^^^^^ - name: OptionalParameterNode child_nodes: - name: constant_id type: constant - name: name_loc @@ -1418,23 +1707,10 @@ comment: | Represents the use of the `||` operator or the `or` keyword. left or right ^^^^^^^^^^^^^ - - name: OrWriteNode - child_nodes: - - name: target - type: node - - name: value - type: node - - name: operator_loc - type: location - comment: | - Represents the use of the `||=` operator. - - target ||= value - ^^^^^^^^^^^^^^^^ - name: ParametersNode child_nodes: - name: requireds type: node[] - name: optionals @@ -1810,11 +2086,11 @@ - name: SymbolNode child_nodes: - name: opening_loc type: location? - name: value_loc - type: location + type: location? - name: closing_loc type: location? - name: unescaped type: string comment: | @@ -1867,10 +2143,12 @@ ^^^^^^^^^^^^^^^^^^^^^^^ - name: UntilNode child_nodes: - name: keyword_loc type: location + - name: closing_loc + type: location? - name: predicate type: node - name: statements type: node? kind: StatementsNode @@ -1904,9 +2182,11 @@ end - name: WhileNode child_nodes: - name: keyword_loc type: location + - name: closing_loc + type: location? - name: predicate type: node - name: statements type: node? kind: StatementsNode