diff --git a/crates/solidity/inputs/language/bindings/rules.msgb b/crates/solidity/inputs/language/bindings/rules.msgb index 4824d3828..9a94e5a1d 100644 --- a/crates/solidity/inputs/language/bindings/rules.msgb +++ b/crates/solidity/inputs/language/bindings/rules.msgb @@ -24,55 +24,70 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;; Definition entities that can appear at the source unit level ;; We define them individually to get better variable names when debugging +;; For all of the following: +;; - lexical_scope is the node that connect upwards for binding resolution +;; - def provides the definition entry for the entity (aka. the name) +;; - members is for internal use and it's where the nested definitions are found @contract [ContractDefinition] { node @contract.lexical_scope - node @contract.defs + node @contract.def + node @contract.members + + edge @contract.lexical_scope -> @contract.members } @interface [InterfaceDefinition] { node @interface.lexical_scope - node @interface.defs + node @interface.def + node @interface.members + + edge @interface.lexical_scope -> @interface.members } @library [LibraryDefinition] { node @library.lexical_scope - node @library.defs + node @library.def + node @library.members + + edge @library.lexical_scope -> @library.members } @struct [StructDefinition] { node @struct.lexical_scope - node @struct.defs + node @struct.def + node @struct.members } @enum [EnumDefinition] { node @enum.lexical_scope - node @enum.defs + node @enum.def + node @enum.members } @function [FunctionDefinition] { node @function.lexical_scope - node @function.defs + node @function.def } @constant [ConstantDefinition] { node @constant.lexical_scope - node @constant.defs + node @constant.def } @error [ErrorDefinition] { node @error.lexical_scope - node @error.defs + node @error.def } @value_type [UserDefinedValueTypeDefinition] { node @value_type.lexical_scope - node @value_type.defs + node @value_type.def } @event [EventDefinition] { node @event.lexical_scope - node @event.defs + node @event.def } ;; Top-level definitions... @@ -95,10 +110,10 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @unit_member.lexical_scope -> @source_unit.lexical_scope ;; ... are available in the file's lexical scope - edge @source_unit.lexical_scope -> @unit_member.defs + edge @source_unit.lexical_scope -> @unit_member.def ;; ... and are exported in the file - edge @source_unit.defs -> @unit_member.defs + edge @source_unit.defs -> @unit_member.def } @@ -110,28 +125,48 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @contract.defs -> def + edge @contract.def -> def + + ;; Contract members are reachable from the parent scope through the .def + ;; entry, by going through at "." symbol + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @contract.members } @interface [InterfaceDefinition ... @name name: [Identifier] ...] { node def attr (def) node_definition = @name - edge @interface.defs -> def + edge @interface.def -> def + + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @interface.members } @library [LibraryDefinition ... @name name: [Identifier] ...] { node def attr (def) node_definition = @name - edge @library.defs -> def + edge @library.def -> def + + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @library.members } @function [FunctionDefinition ... name: [FunctionName ... @name [Identifier] ...] ...] { node def attr (def) node_definition = @name - edge @function.defs -> def + edge @function.def -> def } @@ -140,24 +175,38 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @type_name [TypeName] { - node @type_name.type + ;; This node should connect to the parent lexical scope to resolve the type + node @type_name.type_ref + + ;; This represents the output of the type, ie. the node to which a variable + ;; that is of this type should connect through a @typeof node + node @type_name.output } @id_path [IdentifierPath] { - node @id_path.ref + node @id_path.left + node @id_path.right } @type_name [TypeName @id_path [IdentifierPath]] { - edge @id_path.ref -> @type_name.type + ;; For an identifier path used as a type, the left-most element is the one + ;; that connects to the parent lexical scope, because the name resolution + ;; starts at the left of the identifier. + edge @id_path.left -> @type_name.type_ref + + ;; Conversely, the complete type is found at the right-most name, and that's + ;; where users of this type should link to (eg. a variable declaration). + edge @type_name.output -> @id_path.right } -[IdentifierPath ... @name [Identifier]] { +;; The identifier path constructs a path of nodes connected from right to left +[IdentifierPath ... @name [Identifier] ...] { node @name.ref attr (@name.ref) node_reference = @name } -@id_path [IdentifierPath (leading_trivia:[_])* @name [Identifier] ...] { - edge @name.ref -> @id_path.ref +@id_path [IdentifierPath ... @name [Identifier] (trailing_trivia:[_])*] { + edge @id_path.right -> @name.ref } [IdentifierPath ... @left_name [Identifier] [Period] @right_name [Identifier] ...] { @@ -168,6 +217,10 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge member -> @left_name.ref } +@id_path [IdentifierPath (leading_trivia:[_])* @name [Identifier] ...] { + edge @name.ref -> @id_path.left +} + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Functions @@ -175,26 +228,24 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @param [Parameter] { node @param.lexical_scope - node @param.defs + node @param.def } @param [Parameter ... @type_name [TypeName] ...] { - edge @type_name.type -> @param.lexical_scope + edge @type_name.type_ref -> @param.lexical_scope } @param [Parameter ... @type_name [TypeName] ... @name [Identifier]] { node def attr (def) node_definition = @name - edge @param.defs -> def + edge @param.def -> def - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @type_name.type + edge typeof -> @type_name.output } @function [FunctionDefinition ... parameters: [ParametersDeclaration @@ -205,8 +256,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @param.lexical_scope -> @function.lexical_scope ;; Input parameters are available in the function scope - edge @function.lexical_scope -> @param.defs - attr (@function.lexical_scope -> @param.defs) precedence = 1 + edge @function.lexical_scope -> @param.def + attr (@function.lexical_scope -> @param.def) precedence = 1 } @function [FunctionDefinition ... returns: [ReturnsDeclaration @@ -217,8 +268,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @param.lexical_scope -> @function.lexical_scope ;; Return parameters are available in the function scope - edge @function.lexical_scope -> @param.defs - attr (@function.lexical_scope -> @param.defs) precedence = 1 + edge @function.lexical_scope -> @param.def + attr (@function.lexical_scope -> @param.def) precedence = 1 } ;; Connect function's lexical scope with the enclosing @@ -233,7 +284,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @contract.lexical_scope - edge @contract.lexical_scope -> @function.defs + edge @contract.members -> @function.def } @interface [InterfaceDefinition ... members: [InterfaceMembers @@ -242,7 +293,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @interface.lexical_scope - edge @interface.lexical_scope -> @function.defs + edge @interface.members -> @function.def } @library [LibraryDefinition ... members: [LibraryMembers @@ -251,7 +302,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @library.lexical_scope - edge @library.lexical_scope -> @function.defs + edge @library.members -> @function.def } @@ -338,20 +389,18 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i attr (def) node_definition = @name edge @stmt.defs -> def - edge @var_type.type -> @stmt.lexical_scope + edge @var_type.type_ref -> @stmt.lexical_scope - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @var_type.type + edge typeof -> @var_type.output } @stmt [Statement [TupleDeconstructionStatement ... [TupleDeconstructionElements ... - [TupleDeconstructionElement [TupleMember variant: [_ ... @name name: [Identifier]]]] + [TupleDeconstructionElement [TupleMember variant: [UntypedTupleMember ... @name name: [Identifier]]]] ... ] ...]] { node def @@ -360,6 +409,28 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @stmt.defs -> def } +@stmt [Statement [TupleDeconstructionStatement ... [TupleDeconstructionElements + ... + [TupleDeconstructionElement [TupleMember variant: [TypedTupleMember + ... + @member_type type_name: [TypeName] + ... + @name name: [Identifier]]]] + ... +] ...]] { + node def + attr (def) node_definition = @name + + edge @stmt.defs -> def + edge @member_type.type_ref -> @stmt.lexical_scope + + node typeof + attr (typeof) push_symbol = "@typeof" + + edge def -> typeof + edge typeof -> @member_type.output +} + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; State Variables @@ -367,7 +438,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @state_var [StateVariableDefinition] { node @state_var.lexical_scope - node @state_var.defs + node @state_var.def } @state_var [StateVariableDefinition @@ -380,16 +451,14 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @state_var.defs -> def - edge @type_name.type -> @state_var.lexical_scope + edge @state_var.def -> def + edge @type_name.type_ref -> @state_var.lexical_scope - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @type_name.type + edge typeof -> @type_name.output } ;; NB. Even though the grammar allows it, state variables can only be declared @@ -401,7 +470,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @state_var.lexical_scope -> @contract.lexical_scope - edge @contract.lexical_scope -> @state_var.defs + edge @contract.lexical_scope -> @state_var.def } @@ -410,26 +479,27 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @enum [EnumDefinition ... @name name: [Identifier] ...] { - node @name.def - attr (@name.def) node_definition = @name + node def + attr (def) node_definition = @name + + edge @enum.def -> def + + node member + attr (member) pop_symbol = "." - edge @enum.defs -> @name.def + edge def -> member + edge member -> @enum.members } -[EnumDefinition - ... - @name name: [_] +@enum [EnumDefinition ... members: [EnumMembers ... @item [Identifier] ...] ... ] { - node member - attr (member) pop_symbol = "." - edge @name.def -> member - node def attr (def) node_definition = @item - edge member -> def + + edge @enum.members -> def } ;; Make the enum available to the enclosing contract/interface/library. @@ -441,7 +511,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @contract.lexical_scope -> @enum.defs + edge @contract.members -> @enum.def } @interface [InterfaceDefinition ... members: [InterfaceMembers @@ -449,7 +519,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @interface.lexical_scope -> @enum.defs + edge @interface.members -> @enum.def } @library [LibraryDefinition ... members: [LibraryMembers @@ -457,7 +527,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @library.lexical_scope -> @enum.defs + edge @library.members -> @enum.def } @@ -469,27 +539,73 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @struct.defs -> def -} + edge @struct.def -> def -@member [StructMember] { - node @member.lexical_scope - node @member.defs -} + node type_def + attr (type_def) pop_symbol = "@typeof" -@member item: [StructMember ... @name name: [Identifier] ...] { node member attr (member) pop_symbol = "." - edge @member.defs -> member + edge def -> type_def + edge type_def -> member + edge member -> @struct.members +} + +@struct [StructDefinition ... [StructMembers ... @member item: [StructMember] ...] ...] { + node @member.lexical_scope + edge @member.lexical_scope -> @struct.lexical_scope +} + +@struct [StructDefinition ... [StructMembers + ... + @member item: [StructMember ... @type_name [TypeName] ... @name name: [Identifier] ...] + ... +] ...] { node def attr (def) node_definition = @name - edge member -> def + + edge @struct.members -> def + + edge @type_name.type_ref -> @member.lexical_scope + + node typeof + attr (typeof) push_symbol = "@typeof" + + edge def -> typeof + edge typeof -> @type_name.output +} + +;; Make the struct available to the enclosing contract/interface/library. +;; NB. top-level enums (ie. those defined at the file's level) are already +;; covered above + +@contract [ContractDefinition ... members: [ContractMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @contract.lexical_scope + edge @contract.members -> @struct.def } -;; TODO: connect lexical scope of structs to the rest of the source unit and -;; make them available in the parent scope (either top-level, or -;; contract/interface/library). +@interface [InterfaceDefinition ... members: [InterfaceMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @interface.lexical_scope + edge @interface.members -> @struct.def +} + +@library [LibraryDefinition ... members: [LibraryMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @library.lexical_scope + edge @library.members -> @struct.def +} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -498,16 +614,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @expr [Expression] { node @expr.lexical_scope - ;; this represents an 'output' scope for the expression - node @expr.type -} - -@expr [Expression ... @name variant: [Identifier]] { - node @name.ref - attr (@name.ref) node_reference = @name - - edge @name.ref -> @expr.lexical_scope - edge @expr.type -> @name.ref + ;; this is an output scope for use in member access + node @expr.output } ;; General case for nested expressions @@ -538,35 +646,44 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @expr.lexical_scope -> @state_var.lexical_scope } -;;; Member access expressions -@member [MemberAccess] { - node @member.lexical_scope -} -@member [MemberAccess @name [Identifier]] { +;;; Identifier expressions + +@expr [Expression ... @name variant: [Identifier]] { node ref attr (ref) node_reference = @name - edge ref -> @member.lexical_scope + edge ref -> @expr.lexical_scope + edge @expr.output -> ref } -;; FIXME: I think we're missing an output 'type' for this expression, which -;; would allow chaining of member access expressions. -[MemberAccessExpression + +;;; Member access expressions + +;; TODO: implement variant for `.address` member +@expr [Expression ... [MemberAccessExpression ... - @expr operand: [Expression] + @operand operand: [Expression] ... - @member member: [MemberAccess] + member: [MemberAccess @name [Identifier]] ... -] { +...]] { + node ref + attr (ref) node_reference = @name + node member attr (member) push_symbol = "." - edge @member.lexical_scope -> member - edge member -> @expr.type + edge ref -> member + edge member -> @operand.output + + edge @expr.output -> ref } +;; TODO: implement `.output` link for other expression variants + + ;;; Function call expressions @args [ArgumentsDeclaration] { @@ -604,8 +721,9 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @args.lexical_scope -> @funcall.lexical_scope } + ;;; Type expressions @type_expr [Expression [TypeExpression ... @type [TypeName] ...]] { - edge @type.type -> @type_expr.lexical_scope + edge @type.type_ref -> @type_expr.lexical_scope } diff --git a/crates/solidity/outputs/cargo/slang_solidity/src/generated/bindings/generated/binding_rules.rs b/crates/solidity/outputs/cargo/slang_solidity/src/generated/bindings/generated/binding_rules.rs index b8923eeee..1a6f9629e 100644 --- a/crates/solidity/outputs/cargo/slang_solidity/src/generated/bindings/generated/binding_rules.rs +++ b/crates/solidity/outputs/cargo/slang_solidity/src/generated/bindings/generated/binding_rules.rs @@ -29,55 +29,70 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;; Definition entities that can appear at the source unit level ;; We define them individually to get better variable names when debugging +;; For all of the following: +;; - lexical_scope is the node that connect upwards for binding resolution +;; - def provides the definition entry for the entity (aka. the name) +;; - members is for internal use and it's where the nested definitions are found @contract [ContractDefinition] { node @contract.lexical_scope - node @contract.defs + node @contract.def + node @contract.members + + edge @contract.lexical_scope -> @contract.members } @interface [InterfaceDefinition] { node @interface.lexical_scope - node @interface.defs + node @interface.def + node @interface.members + + edge @interface.lexical_scope -> @interface.members } @library [LibraryDefinition] { node @library.lexical_scope - node @library.defs + node @library.def + node @library.members + + edge @library.lexical_scope -> @library.members } @struct [StructDefinition] { node @struct.lexical_scope - node @struct.defs + node @struct.def + node @struct.members } @enum [EnumDefinition] { node @enum.lexical_scope - node @enum.defs + node @enum.def + node @enum.members } @function [FunctionDefinition] { node @function.lexical_scope - node @function.defs + node @function.def } @constant [ConstantDefinition] { node @constant.lexical_scope - node @constant.defs + node @constant.def } @error [ErrorDefinition] { node @error.lexical_scope - node @error.defs + node @error.def } @value_type [UserDefinedValueTypeDefinition] { node @value_type.lexical_scope - node @value_type.defs + node @value_type.def } @event [EventDefinition] { node @event.lexical_scope - node @event.defs + node @event.def } ;; Top-level definitions... @@ -100,10 +115,10 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @unit_member.lexical_scope -> @source_unit.lexical_scope ;; ... are available in the file's lexical scope - edge @source_unit.lexical_scope -> @unit_member.defs + edge @source_unit.lexical_scope -> @unit_member.def ;; ... and are exported in the file - edge @source_unit.defs -> @unit_member.defs + edge @source_unit.defs -> @unit_member.def } @@ -115,28 +130,48 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @contract.defs -> def + edge @contract.def -> def + + ;; Contract members are reachable from the parent scope through the .def + ;; entry, by going through at "." symbol + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @contract.members } @interface [InterfaceDefinition ... @name name: [Identifier] ...] { node def attr (def) node_definition = @name - edge @interface.defs -> def + edge @interface.def -> def + + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @interface.members } @library [LibraryDefinition ... @name name: [Identifier] ...] { node def attr (def) node_definition = @name - edge @library.defs -> def + edge @library.def -> def + + node member + attr (member) pop_symbol = "." + edge def -> member + + edge member -> @library.members } @function [FunctionDefinition ... name: [FunctionName ... @name [Identifier] ...] ...] { node def attr (def) node_definition = @name - edge @function.defs -> def + edge @function.def -> def } @@ -145,24 +180,38 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @type_name [TypeName] { - node @type_name.type + ;; This node should connect to the parent lexical scope to resolve the type + node @type_name.type_ref + + ;; This represents the output of the type, ie. the node to which a variable + ;; that is of this type should connect through a @typeof node + node @type_name.output } @id_path [IdentifierPath] { - node @id_path.ref + node @id_path.left + node @id_path.right } @type_name [TypeName @id_path [IdentifierPath]] { - edge @id_path.ref -> @type_name.type + ;; For an identifier path used as a type, the left-most element is the one + ;; that connects to the parent lexical scope, because the name resolution + ;; starts at the left of the identifier. + edge @id_path.left -> @type_name.type_ref + + ;; Conversely, the complete type is found at the right-most name, and that's + ;; where users of this type should link to (eg. a variable declaration). + edge @type_name.output -> @id_path.right } -[IdentifierPath ... @name [Identifier]] { +;; The identifier path constructs a path of nodes connected from right to left +[IdentifierPath ... @name [Identifier] ...] { node @name.ref attr (@name.ref) node_reference = @name } -@id_path [IdentifierPath (leading_trivia:[_])* @name [Identifier] ...] { - edge @name.ref -> @id_path.ref +@id_path [IdentifierPath ... @name [Identifier] (trailing_trivia:[_])*] { + edge @id_path.right -> @name.ref } [IdentifierPath ... @left_name [Identifier] [Period] @right_name [Identifier] ...] { @@ -173,6 +222,10 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge member -> @left_name.ref } +@id_path [IdentifierPath (leading_trivia:[_])* @name [Identifier] ...] { + edge @name.ref -> @id_path.left +} + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Functions @@ -180,26 +233,24 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @param [Parameter] { node @param.lexical_scope - node @param.defs + node @param.def } @param [Parameter ... @type_name [TypeName] ...] { - edge @type_name.type -> @param.lexical_scope + edge @type_name.type_ref -> @param.lexical_scope } @param [Parameter ... @type_name [TypeName] ... @name [Identifier]] { node def attr (def) node_definition = @name - edge @param.defs -> def + edge @param.def -> def - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @type_name.type + edge typeof -> @type_name.output } @function [FunctionDefinition ... parameters: [ParametersDeclaration @@ -210,8 +261,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @param.lexical_scope -> @function.lexical_scope ;; Input parameters are available in the function scope - edge @function.lexical_scope -> @param.defs - attr (@function.lexical_scope -> @param.defs) precedence = 1 + edge @function.lexical_scope -> @param.def + attr (@function.lexical_scope -> @param.def) precedence = 1 } @function [FunctionDefinition ... returns: [ReturnsDeclaration @@ -222,8 +273,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @param.lexical_scope -> @function.lexical_scope ;; Return parameters are available in the function scope - edge @function.lexical_scope -> @param.defs - attr (@function.lexical_scope -> @param.defs) precedence = 1 + edge @function.lexical_scope -> @param.def + attr (@function.lexical_scope -> @param.def) precedence = 1 } ;; Connect function's lexical scope with the enclosing @@ -238,7 +289,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @contract.lexical_scope - edge @contract.lexical_scope -> @function.defs + edge @contract.members -> @function.def } @interface [InterfaceDefinition ... members: [InterfaceMembers @@ -247,7 +298,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @interface.lexical_scope - edge @interface.lexical_scope -> @function.defs + edge @interface.members -> @function.def } @library [LibraryDefinition ... members: [LibraryMembers @@ -256,7 +307,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @function.lexical_scope -> @library.lexical_scope - edge @library.lexical_scope -> @function.defs + edge @library.members -> @function.def } @@ -343,20 +394,18 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i attr (def) node_definition = @name edge @stmt.defs -> def - edge @var_type.type -> @stmt.lexical_scope + edge @var_type.type_ref -> @stmt.lexical_scope - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @var_type.type + edge typeof -> @var_type.output } @stmt [Statement [TupleDeconstructionStatement ... [TupleDeconstructionElements ... - [TupleDeconstructionElement [TupleMember variant: [_ ... @name name: [Identifier]]]] + [TupleDeconstructionElement [TupleMember variant: [UntypedTupleMember ... @name name: [Identifier]]]] ... ] ...]] { node def @@ -365,6 +414,28 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @stmt.defs -> def } +@stmt [Statement [TupleDeconstructionStatement ... [TupleDeconstructionElements + ... + [TupleDeconstructionElement [TupleMember variant: [TypedTupleMember + ... + @member_type type_name: [TypeName] + ... + @name name: [Identifier]]]] + ... +] ...]] { + node def + attr (def) node_definition = @name + + edge @stmt.defs -> def + edge @member_type.type_ref -> @stmt.lexical_scope + + node typeof + attr (typeof) push_symbol = "@typeof" + + edge def -> typeof + edge typeof -> @member_type.output +} + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; State Variables @@ -372,7 +443,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @state_var [StateVariableDefinition] { node @state_var.lexical_scope - node @state_var.defs + node @state_var.def } @state_var [StateVariableDefinition @@ -385,16 +456,14 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @state_var.defs -> def - edge @type_name.type -> @state_var.lexical_scope + edge @state_var.def -> def + edge @type_name.type_ref -> @state_var.lexical_scope - ;; TODO: this '@typeof' path sounds ok, but think we're still missing some - ;; parts to make it work node typeof - attr (typeof) pop_symbol = "@typeof" + attr (typeof) push_symbol = "@typeof" edge def -> typeof - edge typeof -> @type_name.type + edge typeof -> @type_name.output } ;; NB. Even though the grammar allows it, state variables can only be declared @@ -406,7 +475,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ... ] ...] { edge @state_var.lexical_scope -> @contract.lexical_scope - edge @contract.lexical_scope -> @state_var.defs + edge @contract.lexical_scope -> @state_var.def } @@ -415,26 +484,27 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @enum [EnumDefinition ... @name name: [Identifier] ...] { - node @name.def - attr (@name.def) node_definition = @name + node def + attr (def) node_definition = @name + + edge @enum.def -> def + + node member + attr (member) pop_symbol = "." - edge @enum.defs -> @name.def + edge def -> member + edge member -> @enum.members } -[EnumDefinition - ... - @name name: [_] +@enum [EnumDefinition ... members: [EnumMembers ... @item [Identifier] ...] ... ] { - node member - attr (member) pop_symbol = "." - edge @name.def -> member - node def attr (def) node_definition = @item - edge member -> def + + edge @enum.members -> def } ;; Make the enum available to the enclosing contract/interface/library. @@ -446,7 +516,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @contract.lexical_scope -> @enum.defs + edge @contract.members -> @enum.def } @interface [InterfaceDefinition ... members: [InterfaceMembers @@ -454,7 +524,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @interface.lexical_scope -> @enum.defs + edge @interface.members -> @enum.def } @library [LibraryDefinition ... members: [LibraryMembers @@ -462,7 +532,7 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i item: [ContractMember @enum variant: [EnumDefinition]] ... ] ...] { - edge @library.lexical_scope -> @enum.defs + edge @library.members -> @enum.def } @@ -474,27 +544,73 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i node def attr (def) node_definition = @name - edge @struct.defs -> def -} + edge @struct.def -> def -@member [StructMember] { - node @member.lexical_scope - node @member.defs -} + node type_def + attr (type_def) pop_symbol = "@typeof" -@member item: [StructMember ... @name name: [Identifier] ...] { node member attr (member) pop_symbol = "." - edge @member.defs -> member + edge def -> type_def + edge type_def -> member + edge member -> @struct.members +} + +@struct [StructDefinition ... [StructMembers ... @member item: [StructMember] ...] ...] { + node @member.lexical_scope + edge @member.lexical_scope -> @struct.lexical_scope +} + +@struct [StructDefinition ... [StructMembers + ... + @member item: [StructMember ... @type_name [TypeName] ... @name name: [Identifier] ...] + ... +] ...] { node def attr (def) node_definition = @name - edge member -> def + + edge @struct.members -> def + + edge @type_name.type_ref -> @member.lexical_scope + + node typeof + attr (typeof) push_symbol = "@typeof" + + edge def -> typeof + edge typeof -> @type_name.output +} + +;; Make the struct available to the enclosing contract/interface/library. +;; NB. top-level enums (ie. those defined at the file's level) are already +;; covered above + +@contract [ContractDefinition ... members: [ContractMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @contract.lexical_scope + edge @contract.members -> @struct.def } -;; TODO: connect lexical scope of structs to the rest of the source unit and -;; make them available in the parent scope (either top-level, or -;; contract/interface/library). +@interface [InterfaceDefinition ... members: [InterfaceMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @interface.lexical_scope + edge @interface.members -> @struct.def +} + +@library [LibraryDefinition ... members: [LibraryMembers + ... + item: [ContractMember @struct variant: [StructDefinition]] + ... +] ...] { + edge @struct.lexical_scope -> @library.lexical_scope + edge @library.members -> @struct.def +} ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -503,16 +619,8 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i @expr [Expression] { node @expr.lexical_scope - ;; this represents an 'output' scope for the expression - node @expr.type -} - -@expr [Expression ... @name variant: [Identifier]] { - node @name.ref - attr (@name.ref) node_reference = @name - - edge @name.ref -> @expr.lexical_scope - edge @expr.type -> @name.ref + ;; this is an output scope for use in member access + node @expr.output } ;; General case for nested expressions @@ -543,35 +651,44 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @expr.lexical_scope -> @state_var.lexical_scope } -;;; Member access expressions -@member [MemberAccess] { - node @member.lexical_scope -} -@member [MemberAccess @name [Identifier]] { +;;; Identifier expressions + +@expr [Expression ... @name variant: [Identifier]] { node ref attr (ref) node_reference = @name - edge ref -> @member.lexical_scope + edge ref -> @expr.lexical_scope + edge @expr.output -> ref } -;; FIXME: I think we're missing an output 'type' for this expression, which -;; would allow chaining of member access expressions. -[MemberAccessExpression + +;;; Member access expressions + +;; TODO: implement variant for `.address` member +@expr [Expression ... [MemberAccessExpression ... - @expr operand: [Expression] + @operand operand: [Expression] ... - @member member: [MemberAccess] + member: [MemberAccess @name [Identifier]] ... -] { +...]] { + node ref + attr (ref) node_reference = @name + node member attr (member) push_symbol = "." - edge @member.lexical_scope -> member - edge member -> @expr.type + edge ref -> member + edge member -> @operand.output + + edge @expr.output -> ref } +;; TODO: implement `.output` link for other expression variants + + ;;; Function call expressions @args [ArgumentsDeclaration] { @@ -609,10 +726,11 @@ attribute symbol_reference = symbol => type = "push_symbol", symbol = symbol, i edge @args.lexical_scope -> @funcall.lexical_scope } + ;;; Type expressions @type_expr [Expression [TypeExpression ... @type [TypeName] ...]] { - edge @type.type -> @type_expr.lexical_scope + edge @type.type_ref -> @type_expr.lexical_scope } "#####; diff --git a/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/mod.rs b/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/mod.rs index e61aaa5c2..170b22432 100644 --- a/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/mod.rs +++ b/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/mod.rs @@ -4,6 +4,7 @@ use semver::Version; mod enums; mod expressions; mod lexical; +mod structs; pub const VERSION_BREAKS: [Version; 33] = [ Version::new(0, 4, 11), diff --git a/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/structs.rs b/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/structs.rs new file mode 100644 index 000000000..68c005bd6 --- /dev/null +++ b/crates/solidity/outputs/cargo/tests/src/bindings_output/generated/structs.rs @@ -0,0 +1,20 @@ +// This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +use anyhow::Result; + +use crate::bindings_output::runner::run; + +#[test] +fn declaration() -> Result<()> { + run("structs", "declaration") +} + +#[test] +fn sample() -> Result<()> { + run("structs", "sample") +} + +#[test] +fn simple() -> Result<()> { + run("structs", "simple") +} diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.mmd index bdbfd689d..dc587bacb 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.4.11.mmd @@ -9,125 +9,152 @@ ROOT_NODE @source_unit.lexical_scope line 20 column 21`"] N1 --> N4 - N1 --> N6 - N1 --> N8 + N1 --> N7 + N1 --> N10 N2["`**2** @(1, 1) @source_unit.defs line 23 column 21`"] N2 --> N4 - N2 --> N6 - N2 --> N8 + N2 --> N7 + N2 --> N10 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N10 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N15 - N5["`**5** @(8, 1) -@interface.lexical_scope -line 35 column 19`"] - N5 --> N1 - N5 --> N14 +@contract.def +line 35 column 18`"] + N4 --> N21 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N13 N6["`**6** @(8, 1) -@interface.defs -line 36 column 19`"] - N6 --> N16 - N7["`**7** @(4, 1) +@interface.lexical_scope +line 42 column 19`"] + N6 --> N1 + N6 --> N8 + N7["`**7** @(8, 1) +@interface.def +line 43 column 19`"] + N7 --> N23 + N8["`**8** @(8, 1) +@interface.members +line 44 column 19`"] + N8 --> N19 + N9["`**9** @(4, 1) @library.lexical_scope -line 40 column 17`"] - N7 --> N1 - N7 --> N12 - N8["`**8** @(4, 1) -@library.defs -line 41 column 17`"] - N8 --> N17 - N9["`**9** @(2, 1) +line 50 column 17`"] + N9 --> N1 + N9 --> N11 + N10["`**10** @(4, 1) +@library.def +line 51 column 17`"] + N10 --> N25 + N11["`**11** @(4, 1) +@library.members +line 52 column 17`"] + N11 --> N16 + N12["`**12** @(2, 1) @enum.lexical_scope -line 50 column 14`"] - N10["`**10** @(2, 1) -@enum.defs -line 51 column 14`"] - N10 --> N18 - N11["`**11** @(6, 1) +line 64 column 14`"] + N13["`**13** @(2, 1) +@enum.def +line 65 column 14`"] + N13 --> N27 + N14["`**14** @(2, 1) +@enum.members +line 66 column 14`"] + N14 --> N33 + N14 --> N34 + N15["`**15** @(6, 1) @enum.lexical_scope -line 50 column 14`"] - N12["`**12** @(6, 1) -@enum.defs -line 51 column 14`"] - N12 --> N19 - N13["`**13** @(10, 1) +line 64 column 14`"] + N16["`**16** @(6, 1) +@enum.def +line 65 column 14`"] + N16 --> N29 + N17["`**17** @(6, 1) +@enum.members +line 66 column 14`"] + N17 --> N35 + N17 --> N36 + N18["`**18** @(10, 1) @enum.lexical_scope -line 50 column 14`"] - N14["`**14** @(10, 1) -@enum.defs -line 51 column 14`"] - N14 --> N20 - N15[\"`**Test** @(1, 1) -def -line 111 column 8`"/] - N16[\"`**Iface** @(8, 1) +line 64 column 14`"] + N19["`**19** @(10, 1) +@enum.def +line 65 column 14`"] + N19 --> N31 + N20["`**20** @(10, 1) +@enum.members +line 66 column 14`"] + N20 --> N37 + N20 --> N38 + N21[\"`**Test** @(1, 1) def -line 118 column 8`"/] - N17[\"`**LibTest** @(4, 1) -def -line 125 column 8`"/] - N18[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N18 --> N21 - N18 --> N23 - N19[\"`**Respuesta** @(6, 1) -@name.def -line 414 column 14`"/] - N19 --> N25 - N19 --> N27 - N20[\"`**Repondre** @(10, 1) -@name.def -line 414 column 14`"/] - N20 --> N29 - N20 --> N31 - N21[\"`**.** @(2, 1) -member -line 427 column 8`"/] +line 126 column 8`"/] N21 --> N22 - N22[\"`**Yes** @(2, 1) -def -line 431 column 8`"/] - N23[\"`**.** @(2, 1) + N22[\"`**.** @(1, 1) member -line 427 column 8`"/] - N23 --> N24 - N24[\"`**No** @(2, 1) +line 133 column 8`"/] + N22 --> N5 + N23[\"`**Iface** @(8, 1) def -line 431 column 8`"/] - N25[\"`**.** @(6, 1) +line 141 column 8`"/] + N23 --> N24 + N24[\"`**.** @(8, 1) member -line 427 column 8`"/] - N25 --> N26 - N26[\"`**Si** @(6, 1) +line 146 column 8`"/] + N24 --> N8 + N25[\"`**LibTest** @(4, 1) def -line 431 column 8`"/] - N27[\"`**.** @(6, 1) +line 154 column 8`"/] + N25 --> N26 + N26[\"`**.** @(4, 1) member -line 427 column 8`"/] - N27 --> N28 - N28[\"`**No** @(6, 1) +line 159 column 8`"/] + N26 --> N11 + N27[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N29[\"`**.** @(10, 1) +line 483 column 8`"/] + N27 --> N28 + N28[\"`**.** @(2, 1) member -line 427 column 8`"/] - N29 --> N30 - N30[\"`**Oui** @(10, 1) +line 488 column 8`"/] + N28 --> N14 + N29[\"`**Respuesta** @(6, 1) def -line 431 column 8`"/] - N31[\"`**.** @(10, 1) +line 483 column 8`"/] + N29 --> N30 + N30[\"`**.** @(6, 1) member -line 427 column 8`"/] +line 488 column 8`"/] + N30 --> N17 + N31[\"`**Repondre** @(10, 1) +def +line 483 column 8`"/] N31 --> N32 - N32[\"`**Non** @(10, 1) + N32[\"`**.** @(10, 1) +member +line 488 column 8`"/] + N32 --> N20 + N33[\"`**Yes** @(2, 1) +def +line 500 column 8`"/] + N34[\"`**No** @(2, 1) +def +line 500 column 8`"/] + N35[\"`**Si** @(6, 1) +def +line 500 column 8`"/] + N36[\"`**No** @(6, 1) +def +line 500 column 8`"/] + N37[\"`**Oui** @(10, 1) +def +line 500 column 8`"/] + N38[\"`**Non** @(10, 1) def -line 431 column 8`"/] +line 500 column 8`"/] diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.mmd index 85a1cac87..166b9f59c 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/decls/generated/0.6.0.mmd @@ -8,170 +8,189 @@ ROOT_NODE @source_unit.lexical_scope line 20 column 21`"] N1 --> N4 - N1 --> N6 - N1 --> N8 - N1 --> N16 + N1 --> N7 + N1 --> N10 + N1 --> N22 N2["`**2** @(1, 1) @source_unit.defs line 23 column 21`"] N2 --> N4 - N2 --> N6 - N2 --> N8 - N2 --> N16 + N2 --> N7 + N2 --> N10 + N2 --> N22 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N10 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N17 - N5["`**5** @(8, 1) -@interface.lexical_scope -line 35 column 19`"] - N5 --> N1 - N5 --> N14 +@contract.def +line 35 column 18`"] + N4 --> N24 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N13 N6["`**6** @(8, 1) -@interface.defs -line 36 column 19`"] - N6 --> N18 - N7["`**7** @(4, 1) -@library.lexical_scope -line 40 column 17`"] - N7 --> N1 - N7 --> N12 - N8["`**8** @(4, 1) -@library.defs -line 41 column 17`"] +@interface.lexical_scope +line 42 column 19`"] + N6 --> N1 + N6 --> N8 + N7["`**7** @(8, 1) +@interface.def +line 43 column 19`"] + N7 --> N26 + N8["`**8** @(8, 1) +@interface.members +line 44 column 19`"] N8 --> N19 - N9["`**9** @(2, 1) + N9["`**9** @(4, 1) +@library.lexical_scope +line 50 column 17`"] + N9 --> N1 + N9 --> N11 + N10["`**10** @(4, 1) +@library.def +line 51 column 17`"] + N10 --> N28 + N11["`**11** @(4, 1) +@library.members +line 52 column 17`"] + N11 --> N16 + N12["`**12** @(2, 1) @enum.lexical_scope -line 50 column 14`"] - N10["`**10** @(2, 1) -@enum.defs -line 51 column 14`"] - N10 --> N20 - N11["`**11** @(6, 1) +line 64 column 14`"] + N13["`**13** @(2, 1) +@enum.def +line 65 column 14`"] + N13 --> N30 + N14["`**14** @(2, 1) +@enum.members +line 66 column 14`"] + N14 --> N38 + N14 --> N39 + N15["`**15** @(6, 1) @enum.lexical_scope -line 50 column 14`"] - N12["`**12** @(6, 1) -@enum.defs -line 51 column 14`"] - N12 --> N21 - N13["`**13** @(10, 1) +line 64 column 14`"] + N16["`**16** @(6, 1) +@enum.def +line 65 column 14`"] + N16 --> N32 + N17["`**17** @(6, 1) +@enum.members +line 66 column 14`"] + N17 --> N40 + N17 --> N41 + N18["`**18** @(10, 1) @enum.lexical_scope -line 50 column 14`"] - N14["`**14** @(10, 1) -@enum.defs -line 51 column 14`"] - N14 --> N22 - N15["`**15** @(12, 1) +line 64 column 14`"] + N19["`**19** @(10, 1) +@enum.def +line 65 column 14`"] + N19 --> N34 + N20["`**20** @(10, 1) +@enum.members +line 66 column 14`"] + N20 --> N42 + N20 --> N43 + N21["`**21** @(12, 1) @enum.lexical_scope -line 50 column 14`"] - N15 --> N1 - N16["`**16** @(12, 1) -@enum.defs -line 51 column 14`"] - N16 --> N23 - N17[\"`**Test** @(1, 1) -def -line 111 column 8`"/] - N18[\"`**Iface** @(8, 1) -def -line 118 column 8`"/] - N19[\"`**LibTest** @(4, 1) -def -line 125 column 8`"/] - N20[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N20 --> N24 - N20 --> N26 - N21[\"`**Respuesta** @(6, 1) -@name.def -line 414 column 14`"/] - N21 --> N28 - N21 --> N30 - N22[\"`**Repondre** @(10, 1) -@name.def -line 414 column 14`"/] - N22 --> N32 - N22 --> N34 - N23[\"`**ActionChoices** @(12, 1) -@name.def -line 414 column 14`"/] - N23 --> N36 - N23 --> N38 - N23 --> N40 - N23 --> N42 - N24[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N24 --> N25 - N25[\"`**Yes** @(2, 1) +line 64 column 14`"] + N21 --> N1 + N22["`**22** @(12, 1) +@enum.def +line 65 column 14`"] + N22 --> N36 + N23["`**23** @(12, 1) +@enum.members +line 66 column 14`"] + N23 --> N44 + N23 --> N45 + N23 --> N46 + N23 --> N47 + N24[\"`**Test** @(1, 1) def -line 431 column 8`"/] - N26[\"`**.** @(2, 1) +line 126 column 8`"/] + N24 --> N25 + N25[\"`**.** @(1, 1) member -line 427 column 8`"/] - N26 --> N27 - N27[\"`**No** @(2, 1) +line 133 column 8`"/] + N25 --> N5 + N26[\"`**Iface** @(8, 1) def -line 431 column 8`"/] - N28[\"`**.** @(6, 1) +line 141 column 8`"/] + N26 --> N27 + N27[\"`**.** @(8, 1) member -line 427 column 8`"/] - N28 --> N29 - N29[\"`**Si** @(6, 1) +line 146 column 8`"/] + N27 --> N8 + N28[\"`**LibTest** @(4, 1) def -line 431 column 8`"/] - N30[\"`**.** @(6, 1) +line 154 column 8`"/] + N28 --> N29 + N29[\"`**.** @(4, 1) member -line 427 column 8`"/] - N30 --> N31 - N31[\"`**No** @(6, 1) +line 159 column 8`"/] + N29 --> N11 + N30[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N32[\"`**.** @(10, 1) +line 483 column 8`"/] + N30 --> N31 + N31[\"`**.** @(2, 1) member -line 427 column 8`"/] - N32 --> N33 - N33[\"`**Oui** @(10, 1) +line 488 column 8`"/] + N31 --> N14 + N32[\"`**Respuesta** @(6, 1) def -line 431 column 8`"/] - N34[\"`**.** @(10, 1) +line 483 column 8`"/] + N32 --> N33 + N33[\"`**.** @(6, 1) member -line 427 column 8`"/] - N34 --> N35 - N35[\"`**Non** @(10, 1) +line 488 column 8`"/] + N33 --> N17 + N34[\"`**Repondre** @(10, 1) def -line 431 column 8`"/] - N36[\"`**.** @(12, 1) +line 483 column 8`"/] + N34 --> N35 + N35[\"`**.** @(10, 1) member -line 427 column 8`"/] - N36 --> N37 - N37[\"`**GoLeft** @(12, 1) +line 488 column 8`"/] + N35 --> N20 + N36[\"`**ActionChoices** @(12, 1) def -line 431 column 8`"/] - N38[\"`**.** @(12, 1) +line 483 column 8`"/] + N36 --> N37 + N37[\"`**.** @(12, 1) member -line 427 column 8`"/] - N38 --> N39 - N39[\"`**GoRight** @(12, 1) +line 488 column 8`"/] + N37 --> N23 + N38[\"`**Yes** @(2, 1) def -line 431 column 8`"/] - N40[\"`**.** @(12, 1) -member -line 427 column 8`"/] - N40 --> N41 - N41[\"`**GoStraight** @(12, 1) +line 500 column 8`"/] + N39[\"`**No** @(2, 1) def -line 431 column 8`"/] - N42[\"`**.** @(12, 1) -member -line 427 column 8`"/] - N42 --> N43 - N43[\"`**SitStill** @(12, 1) +line 500 column 8`"/] + N40[\"`**Si** @(6, 1) +def +line 500 column 8`"/] + N41[\"`**No** @(6, 1) +def +line 500 column 8`"/] + N42[\"`**Oui** @(10, 1) +def +line 500 column 8`"/] + N43[\"`**Non** @(10, 1) +def +line 500 column 8`"/] + N44[\"`**GoLeft** @(12, 1) +def +line 500 column 8`"/] + N45[\"`**GoRight** @(12, 1) +def +line 500 column 8`"/] + N46[\"`**GoStraight** @(12, 1) +def +line 500 column 8`"/] + N47[\"`**SitStill** @(12, 1) def -line 431 column 8`"/] +line 500 column 8`"/] diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.mmd index ab67819ac..63f2eb3c2 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.4.11.mmd @@ -14,273 +14,300 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N10 - N3 --> N12 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N13 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N15 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N5 --> N12 + N5 --> N14 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N46 - N7["`**7** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N27 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N14 - N9["`**9** @(6, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N55 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N57 + N8 --> N58 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N29 - N10["`**10** @(6, 1) -@function.defs -line 56 column 18`"] - N10 --> N15 - N11["`**11** @(10, 1) + N9 --> N36 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N17 + N11["`**11** @(6, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N11 --> N3 - N11 --> N31 - N12["`**12** @(10, 1) -@function.defs -line 56 column 18`"] - N12 --> N16 - N13[\"`**Test** @(1, 1) + N11 --> N38 + N12["`**12** @(6, 1) +@function.def +line 71 column 18`"] + N12 --> N18 + N13["`**13** @(10, 1) +@function.lexical_scope +line 70 column 18`"] + N13 --> N3 + N13 --> N40 + N14["`**14** @(10, 1) +@function.def +line 71 column 18`"] + N14 --> N19 + N15[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N14[\"`**setAnswer** @(3, 1) +line 126 column 8`"/] + N15 --> N16 + N16[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N16 --> N5 + N17[\"`**setAnswer** @(3, 1) def -line 132 column 8`"/] - N15[\"`**getAnswer** @(6, 1) +line 167 column 8`"/] + N18[\"`**getAnswer** @(6, 1) def -line 132 column 8`"/] - N16[\"`**getOtherAnswer** @(10, 1) +line 167 column 8`"/] + N19[\"`**getOtherAnswer** @(10, 1) def -line 132 column 8`"/] - N17["`**17** @(4, 24) -@type_name.type -line 144 column 19`"] - N17 --> N26 - N18["`**18** @(7, 35) -@type_name.type -line 144 column 19`"] - N18 --> N28 - N19["`**19** @(11, 40) -@type_name.type -line 144 column 19`"] - N19 --> N30 +line 167 column 8`"/] N20["`**20** @(4, 24) -@id_path.ref -line 148 column 17`"] - N20 --> N17 - N21["`**21** @(7, 35) -@id_path.ref -line 148 column 17`"] - N21 --> N18 - N22["`**22** @(11, 40) -@id_path.ref -line 148 column 17`"] - N22 --> N19 - N23[/"`**Answer** @(4, 24) -@name.ref -line 156 column 14`"\] - N23 --> N20 - N24[/"`**Answer** @(7, 35) -@name.ref -line 156 column 14`"\] - N24 --> N21 - N25[/"`**Answer** @(11, 40) -@name.ref -line 156 column 14`"\] - N25 --> N22 +@type_name.type_ref +line 180 column 19`"] + N20 --> N35 + N21["`**21** @(4, 24) +@type_name.output +line 184 column 19`"] + N21 --> N27 + N22["`**22** @(7, 35) +@type_name.type_ref +line 180 column 19`"] + N22 --> N37 + N23["`**23** @(7, 35) +@type_name.output +line 184 column 19`"] + N23 --> N29 + N24["`**24** @(11, 40) +@type_name.type_ref +line 180 column 19`"] + N24 --> N39 + N25["`**25** @(11, 40) +@type_name.output +line 184 column 19`"] + N25 --> N31 N26["`**26** @(4, 24) -@param.lexical_scope -line 178 column 15`"] - N26 --> N7 +@id_path.left +line 188 column 17`"] + N26 --> N20 N27["`**27** @(4, 24) -@param.defs -line 179 column 15`"] +@id_path.right +line 189 column 17`"] N27 --> N32 N28["`**28** @(7, 35) -@param.lexical_scope -line 178 column 15`"] - N28 --> N9 +@id_path.left +line 188 column 17`"] + N28 --> N22 N29["`**29** @(7, 35) -@param.defs -line 179 column 15`"] - N29 --> N34 +@id_path.right +line 189 column 17`"] + N29 --> N33 N30["`**30** @(11, 40) -@param.lexical_scope -line 178 column 15`"] - N30 --> N11 +@id_path.left +line 188 column 17`"] + N30 --> N24 N31["`**31** @(11, 40) -@param.defs -line 179 column 15`"] - N32[\"`**ans** @(4, 24) +@id_path.right +line 189 column 17`"] + N31 --> N34 + N32[/"`**Answer** @(4, 24) +@name.ref +line 205 column 14`"\] + N32 --> N26 + N33[/"`**Answer** @(7, 35) +@name.ref +line 205 column 14`"\] + N33 --> N28 + N34[/"`**Answer** @(11, 40) +@name.ref +line 205 column 14`"\] + N34 --> N30 + N35["`**35** @(4, 24) +@param.lexical_scope +line 231 column 15`"] + N35 --> N9 + N36["`**36** @(4, 24) +@param.def +line 232 column 15`"] + N36 --> N41 + N37["`**37** @(7, 35) +@param.lexical_scope +line 231 column 15`"] + N37 --> N11 + N38["`**38** @(7, 35) +@param.def +line 232 column 15`"] + N38 --> N43 + N39["`**39** @(11, 40) +@param.lexical_scope +line 231 column 15`"] + N39 --> N13 + N40["`**40** @(11, 40) +@param.def +line 232 column 15`"] + N41[\"`**ans** @(4, 24) def -line 187 column 8`"/] - N32 --> N33 - N33[\"`**@typeof** @(4, 24) +line 240 column 8`"/] + N41 --> N42 + N42[/"`**@typeof** @(4, 24) typeof -line 194 column 8`"/] - N33 --> N17 - N34[\"`**ans** @(7, 35) +line 245 column 8`"\] + N42 --> N21 + N43[\"`**ans** @(7, 35) def -line 187 column 8`"/] - N34 --> N35 - N35[\"`**@typeof** @(7, 35) +line 240 column 8`"/] + N43 --> N44 + N44[/"`**@typeof** @(7, 35) typeof -line 194 column 8`"/] - N35 --> N18 - N36["`**36** @(4, 35) +line 245 column 8`"\] + N44 --> N23 + N45["`**45** @(4, 35) @block.lexical_scope -line 265 column 15`"] - N36 --> N7 - N37["`**37** @(4, 35) +line 316 column 15`"] + N45 --> N9 + N46["`**46** @(4, 35) @block.defs -line 266 column 15`"] - N38["`**38** @(7, 46) +line 317 column 15`"] + N47["`**47** @(7, 46) @block.lexical_scope -line 265 column 15`"] - N38 --> N9 - N38 --> N43 - N39["`**39** @(7, 46) +line 316 column 15`"] + N47 --> N11 + N47 --> N52 + N48["`**48** @(7, 46) @block.defs -line 266 column 15`"] - N39 --> N43 - N40["`**40** @(11, 47) +line 317 column 15`"] + N48 --> N52 + N49["`**49** @(11, 47) @block.lexical_scope -line 265 column 15`"] - N40 --> N11 - N40 --> N45 - N41["`**41** @(11, 47) +line 316 column 15`"] + N49 --> N13 + N49 --> N54 + N50["`**50** @(11, 47) @block.defs -line 266 column 15`"] - N41 --> N45 - N42["`**42** @(8, 1) +line 317 column 15`"] + N50 --> N54 + N51["`**51** @(8, 1) @stmt.lexical_scope -line 270 column 14`"] - N42 --> N38 - N43["`**43** @(8, 1) +line 321 column 14`"] + N51 --> N47 + N52["`**52** @(8, 1) @stmt.defs -line 271 column 14`"] - N44["`**44** @(12, 1) +line 322 column 14`"] + N53["`**53** @(12, 1) @stmt.lexical_scope -line 270 column 14`"] - N44 --> N40 - N45["`**45** @(12, 1) +line 321 column 14`"] + N53 --> N49 + N54["`**54** @(12, 1) @stmt.defs -line 271 column 14`"] - N46[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N46 --> N47 - N46 --> N49 - N47[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N47 --> N48 - N48[\"`**Yes** @(2, 1) +line 322 column 14`"] + N55[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N49[\"`**.** @(2, 1) +line 483 column 8`"/] + N55 --> N56 + N56[\"`**.** @(2, 1) member -line 427 column 8`"/] - N49 --> N50 - N50[\"`**No** @(2, 1) +line 488 column 8`"/] + N56 --> N8 + N57[\"`**Yes** @(2, 1) def -line 431 column 8`"/] - N51["`**51** @(8, 1) +line 500 column 8`"/] + N58[\"`**No** @(2, 1) +def +line 500 column 8`"/] + N59["`**59** @(8, 1) @expr.lexical_scope -line 501 column 14`"] - N51 --> N42 - N52["`**52** @(8, 1) -@expr.type -line 503 column 14`"] - N53["`**53** @(8, 1) +line 617 column 14`"] + N59 --> N51 + N60["`**60** @(8, 1) +@expr.output +line 619 column 14`"] + N61["`**61** @(8, 1) @expr.lexical_scope -line 501 column 14`"] - N53 --> N51 - N54["`**54** @(8, 1) -@expr.type -line 503 column 14`"] - N54 --> N63 - N55["`**55** @(8, 14) +line 617 column 14`"] + N61 --> N59 + N62["`**62** @(8, 1) +@expr.output +line 619 column 14`"] + N62 --> N71 + N63["`**63** @(8, 14) @expr.lexical_scope -line 501 column 14`"] - N55 --> N51 - N56["`**56** @(8, 14) -@expr.type -line 503 column 14`"] - N57["`**57** @(8, 14) +line 617 column 14`"] + N63 --> N59 + N64["`**64** @(8, 14) +@expr.output +line 619 column 14`"] + N64 --> N74 + N65["`**65** @(8, 14) @expr.lexical_scope -line 501 column 14`"] - N57 --> N55 - N58["`**58** @(8, 14) -@expr.type -line 503 column 14`"] - N58 --> N64 - N59["`**59** @(12, 15) +line 617 column 14`"] + N65 --> N63 + N66["`**66** @(8, 14) +@expr.output +line 619 column 14`"] + N66 --> N72 + N67["`**67** @(12, 15) @expr.lexical_scope -line 501 column 14`"] - N59 --> N44 - N60["`**60** @(12, 15) -@expr.type -line 503 column 14`"] - N61["`**61** @(12, 15) +line 617 column 14`"] + N67 --> N53 + N68["`**68** @(12, 15) +@expr.output +line 619 column 14`"] + N68 --> N76 + N69["`**69** @(12, 15) @expr.lexical_scope -line 501 column 14`"] - N61 --> N59 - N62["`**62** @(12, 15) -@expr.type -line 503 column 14`"] - N62 --> N65 - N63[/"`**ans** @(8, 1) -@name.ref -line 507 column 14`"\] - N63 --> N53 - N64[/"`**Answer** @(8, 14) -@name.ref -line 507 column 14`"\] - N64 --> N57 - N65[/"`**Answer** @(12, 15) -@name.ref -line 507 column 14`"\] - N65 --> N61 - N66["`**66** @(8, 22) -@member.lexical_scope -line 545 column 16`"] - N66 --> N70 - N67["`**67** @(12, 23) -@member.lexical_scope -line 545 column 16`"] - N67 --> N71 - N68[/"`**Yes** @(8, 22) +line 617 column 14`"] + N69 --> N67 + N70["`**70** @(12, 15) +@expr.output +line 619 column 14`"] + N70 --> N73 + N71[/"`**ans** @(8, 1) ref -line 549 column 8`"\] - N68 --> N66 - N69[/"`**No** @(12, 23) +line 655 column 8`"\] + N71 --> N61 + N72[/"`**Answer** @(8, 14) ref -line 549 column 8`"\] - N69 --> N67 - N70[/"`**.** @(8, 14) +line 655 column 8`"\] + N72 --> N65 + N73[/"`**Answer** @(12, 15) +ref +line 655 column 8`"\] + N73 --> N69 + N74[/"`**Yes** @(8, 14) +ref +line 673 column 8`"\] + N74 --> N75 + N75[/"`**.** @(8, 14) member -line 564 column 8`"\] - N70 --> N58 - N71[/"`**.** @(12, 15) +line 676 column 8`"\] + N75 --> N66 + N76[/"`**No** @(12, 15) +ref +line 673 column 8`"\] + N76 --> N77 + N77[/"`**.** @(12, 15) member -line 564 column 8`"\] - N71 --> N62 +line 676 column 8`"\] + N77 --> N70 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.5.0.mmd index 3e0e186d9..6a2cf1d39 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/in_params/generated/0.5.0.mmd @@ -14,271 +14,298 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N10 - N3 --> N12 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N13 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N15 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N5 --> N12 + N5 --> N14 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N46 - N7["`**7** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N27 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N14 - N9["`**9** @(6, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N55 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N57 + N8 --> N58 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N29 - N10["`**10** @(6, 1) -@function.defs -line 56 column 18`"] - N10 --> N15 - N11["`**11** @(10, 1) + N9 --> N36 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N17 + N11["`**11** @(6, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N11 --> N3 - N11 --> N31 - N12["`**12** @(10, 1) -@function.defs -line 56 column 18`"] - N12 --> N16 - N13[\"`**Test** @(1, 1) + N11 --> N38 + N12["`**12** @(6, 1) +@function.def +line 71 column 18`"] + N12 --> N18 + N13["`**13** @(10, 1) +@function.lexical_scope +line 70 column 18`"] + N13 --> N3 + N13 --> N40 + N14["`**14** @(10, 1) +@function.def +line 71 column 18`"] + N14 --> N19 + N15[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N14[\"`**setAnswer** @(3, 1) +line 126 column 8`"/] + N15 --> N16 + N16[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N16 --> N5 + N17[\"`**setAnswer** @(3, 1) def -line 132 column 8`"/] - N15[\"`**getAnswer** @(6, 1) +line 167 column 8`"/] + N18[\"`**getAnswer** @(6, 1) def -line 132 column 8`"/] - N16[\"`**getOtherAnswer** @(10, 1) +line 167 column 8`"/] + N19[\"`**getOtherAnswer** @(10, 1) def -line 132 column 8`"/] - N17["`**17** @(4, 24) -@type_name.type -line 144 column 19`"] - N17 --> N26 - N18["`**18** @(7, 35) -@type_name.type -line 144 column 19`"] - N18 --> N28 - N19["`**19** @(11, 40) -@type_name.type -line 144 column 19`"] - N19 --> N30 +line 167 column 8`"/] N20["`**20** @(4, 24) -@id_path.ref -line 148 column 17`"] - N20 --> N17 - N21["`**21** @(7, 35) -@id_path.ref -line 148 column 17`"] - N21 --> N18 - N22["`**22** @(11, 40) -@id_path.ref -line 148 column 17`"] - N22 --> N19 - N23[/"`**Answer** @(4, 24) -@name.ref -line 156 column 14`"\] - N23 --> N20 - N24[/"`**Answer** @(7, 35) -@name.ref -line 156 column 14`"\] - N24 --> N21 - N25[/"`**Answer** @(11, 40) -@name.ref -line 156 column 14`"\] - N25 --> N22 +@type_name.type_ref +line 180 column 19`"] + N20 --> N35 + N21["`**21** @(4, 24) +@type_name.output +line 184 column 19`"] + N21 --> N27 + N22["`**22** @(7, 35) +@type_name.type_ref +line 180 column 19`"] + N22 --> N37 + N23["`**23** @(7, 35) +@type_name.output +line 184 column 19`"] + N23 --> N29 + N24["`**24** @(11, 40) +@type_name.type_ref +line 180 column 19`"] + N24 --> N39 + N25["`**25** @(11, 40) +@type_name.output +line 184 column 19`"] + N25 --> N31 N26["`**26** @(4, 24) -@param.lexical_scope -line 178 column 15`"] - N26 --> N7 +@id_path.left +line 188 column 17`"] + N26 --> N20 N27["`**27** @(4, 24) -@param.defs -line 179 column 15`"] +@id_path.right +line 189 column 17`"] N27 --> N32 N28["`**28** @(7, 35) -@param.lexical_scope -line 178 column 15`"] - N28 --> N9 +@id_path.left +line 188 column 17`"] + N28 --> N22 N29["`**29** @(7, 35) -@param.defs -line 179 column 15`"] - N29 --> N34 +@id_path.right +line 189 column 17`"] + N29 --> N33 N30["`**30** @(11, 40) -@param.lexical_scope -line 178 column 15`"] - N30 --> N11 +@id_path.left +line 188 column 17`"] + N30 --> N24 N31["`**31** @(11, 40) -@param.defs -line 179 column 15`"] - N32[\"`**ans** @(4, 24) +@id_path.right +line 189 column 17`"] + N31 --> N34 + N32[/"`**Answer** @(4, 24) +@name.ref +line 205 column 14`"\] + N32 --> N26 + N33[/"`**Answer** @(7, 35) +@name.ref +line 205 column 14`"\] + N33 --> N28 + N34[/"`**Answer** @(11, 40) +@name.ref +line 205 column 14`"\] + N34 --> N30 + N35["`**35** @(4, 24) +@param.lexical_scope +line 231 column 15`"] + N35 --> N9 + N36["`**36** @(4, 24) +@param.def +line 232 column 15`"] + N36 --> N41 + N37["`**37** @(7, 35) +@param.lexical_scope +line 231 column 15`"] + N37 --> N11 + N38["`**38** @(7, 35) +@param.def +line 232 column 15`"] + N38 --> N43 + N39["`**39** @(11, 40) +@param.lexical_scope +line 231 column 15`"] + N39 --> N13 + N40["`**40** @(11, 40) +@param.def +line 232 column 15`"] + N41[\"`**ans** @(4, 24) def -line 187 column 8`"/] - N32 --> N33 - N33[\"`**@typeof** @(4, 24) +line 240 column 8`"/] + N41 --> N42 + N42[/"`**@typeof** @(4, 24) typeof -line 194 column 8`"/] - N33 --> N17 - N34[\"`**ans** @(7, 35) +line 245 column 8`"\] + N42 --> N21 + N43[\"`**ans** @(7, 35) def -line 187 column 8`"/] - N34 --> N35 - N35[\"`**@typeof** @(7, 35) +line 240 column 8`"/] + N43 --> N44 + N44[/"`**@typeof** @(7, 35) typeof -line 194 column 8`"/] - N35 --> N18 - N36["`**36** @(4, 35) +line 245 column 8`"\] + N44 --> N23 + N45["`**45** @(4, 35) @block.lexical_scope -line 265 column 15`"] - N36 --> N7 - N37["`**37** @(4, 35) +line 316 column 15`"] + N45 --> N9 + N46["`**46** @(4, 35) @block.defs -line 266 column 15`"] - N38["`**38** @(7, 46) +line 317 column 15`"] + N47["`**47** @(7, 46) @block.lexical_scope -line 265 column 15`"] - N38 --> N9 - N39["`**39** @(7, 46) +line 316 column 15`"] + N47 --> N11 + N48["`**48** @(7, 46) @block.defs -line 266 column 15`"] - N40["`**40** @(11, 47) +line 317 column 15`"] + N49["`**49** @(11, 47) @block.lexical_scope -line 265 column 15`"] - N40 --> N11 - N41["`**41** @(11, 47) +line 316 column 15`"] + N49 --> N13 + N50["`**50** @(11, 47) @block.defs -line 266 column 15`"] - N42["`**42** @(8, 1) +line 317 column 15`"] + N51["`**51** @(8, 1) @stmt.lexical_scope -line 270 column 14`"] - N42 --> N38 - N42 --> N43 - N43["`**43** @(8, 1) +line 321 column 14`"] + N51 --> N47 + N51 --> N52 + N52["`**52** @(8, 1) @stmt.defs -line 271 column 14`"] - N44["`**44** @(12, 1) +line 322 column 14`"] + N53["`**53** @(12, 1) @stmt.lexical_scope -line 270 column 14`"] - N44 --> N40 - N44 --> N45 - N45["`**45** @(12, 1) +line 321 column 14`"] + N53 --> N49 + N53 --> N54 + N54["`**54** @(12, 1) @stmt.defs -line 271 column 14`"] - N46[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N46 --> N47 - N46 --> N49 - N47[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N47 --> N48 - N48[\"`**Yes** @(2, 1) +line 322 column 14`"] + N55[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N49[\"`**.** @(2, 1) +line 483 column 8`"/] + N55 --> N56 + N56[\"`**.** @(2, 1) member -line 427 column 8`"/] - N49 --> N50 - N50[\"`**No** @(2, 1) +line 488 column 8`"/] + N56 --> N8 + N57[\"`**Yes** @(2, 1) def -line 431 column 8`"/] - N51["`**51** @(8, 1) +line 500 column 8`"/] + N58[\"`**No** @(2, 1) +def +line 500 column 8`"/] + N59["`**59** @(8, 1) @expr.lexical_scope -line 501 column 14`"] - N51 --> N42 - N52["`**52** @(8, 1) -@expr.type -line 503 column 14`"] - N53["`**53** @(8, 1) +line 617 column 14`"] + N59 --> N51 + N60["`**60** @(8, 1) +@expr.output +line 619 column 14`"] + N61["`**61** @(8, 1) @expr.lexical_scope -line 501 column 14`"] - N53 --> N51 - N54["`**54** @(8, 1) -@expr.type -line 503 column 14`"] - N54 --> N63 - N55["`**55** @(8, 14) +line 617 column 14`"] + N61 --> N59 + N62["`**62** @(8, 1) +@expr.output +line 619 column 14`"] + N62 --> N71 + N63["`**63** @(8, 14) @expr.lexical_scope -line 501 column 14`"] - N55 --> N51 - N56["`**56** @(8, 14) -@expr.type -line 503 column 14`"] - N57["`**57** @(8, 14) +line 617 column 14`"] + N63 --> N59 + N64["`**64** @(8, 14) +@expr.output +line 619 column 14`"] + N64 --> N74 + N65["`**65** @(8, 14) @expr.lexical_scope -line 501 column 14`"] - N57 --> N55 - N58["`**58** @(8, 14) -@expr.type -line 503 column 14`"] - N58 --> N64 - N59["`**59** @(12, 15) +line 617 column 14`"] + N65 --> N63 + N66["`**66** @(8, 14) +@expr.output +line 619 column 14`"] + N66 --> N72 + N67["`**67** @(12, 15) @expr.lexical_scope -line 501 column 14`"] - N59 --> N44 - N60["`**60** @(12, 15) -@expr.type -line 503 column 14`"] - N61["`**61** @(12, 15) +line 617 column 14`"] + N67 --> N53 + N68["`**68** @(12, 15) +@expr.output +line 619 column 14`"] + N68 --> N76 + N69["`**69** @(12, 15) @expr.lexical_scope -line 501 column 14`"] - N61 --> N59 - N62["`**62** @(12, 15) -@expr.type -line 503 column 14`"] - N62 --> N65 - N63[/"`**ans** @(8, 1) -@name.ref -line 507 column 14`"\] - N63 --> N53 - N64[/"`**Answer** @(8, 14) -@name.ref -line 507 column 14`"\] - N64 --> N57 - N65[/"`**Answer** @(12, 15) -@name.ref -line 507 column 14`"\] - N65 --> N61 - N66["`**66** @(8, 22) -@member.lexical_scope -line 545 column 16`"] - N66 --> N70 - N67["`**67** @(12, 23) -@member.lexical_scope -line 545 column 16`"] - N67 --> N71 - N68[/"`**Yes** @(8, 22) +line 617 column 14`"] + N69 --> N67 + N70["`**70** @(12, 15) +@expr.output +line 619 column 14`"] + N70 --> N73 + N71[/"`**ans** @(8, 1) ref -line 549 column 8`"\] - N68 --> N66 - N69[/"`**No** @(12, 23) +line 655 column 8`"\] + N71 --> N61 + N72[/"`**Answer** @(8, 14) ref -line 549 column 8`"\] - N69 --> N67 - N70[/"`**.** @(8, 14) +line 655 column 8`"\] + N72 --> N65 + N73[/"`**Answer** @(12, 15) +ref +line 655 column 8`"\] + N73 --> N69 + N74[/"`**Yes** @(8, 14) +ref +line 673 column 8`"\] + N74 --> N75 + N75[/"`**.** @(8, 14) member -line 564 column 8`"\] - N70 --> N58 - N71[/"`**.** @(12, 15) +line 676 column 8`"\] + N75 --> N66 + N76[/"`**No** @(12, 15) +ref +line 673 column 8`"\] + N76 --> N77 + N77[/"`**.** @(12, 15) member -line 564 column 8`"\] - N71 --> N62 +line 676 column 8`"\] + N77 --> N70 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.mmd index 5e2d6b317..7f6872ec2 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/in_state_vars/generated/0.4.11.mmd @@ -14,99 +14,113 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N12 + N3 --> N5 + N3 --> N17 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N7 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N9 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N15 - N7[\"`**Foo** @(1, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N20 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N22 + N8 --> N23 + N9[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N8["`**8** @(3, 1) -@type_name.type -line 144 column 19`"] - N8 --> N11 - N9["`**9** @(3, 1) -@id_path.ref -line 148 column 17`"] - N9 --> N8 - N10[/"`**Answer** @(3, 1) -@name.ref -line 156 column 14`"\] - N10 --> N9 +line 126 column 8`"/] + N9 --> N10 + N10[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N10 --> N5 N11["`**11** @(3, 1) -@state_var.lexical_scope -line 370 column 19`"] - N11 --> N3 +@type_name.type_ref +line 180 column 19`"] + N11 --> N16 N12["`**12** @(3, 1) -@state_var.defs -line 371 column 19`"] - N12 --> N13 - N13[\"`**choice** @(3, 1) +@type_name.output +line 184 column 19`"] + N12 --> N14 + N13["`**13** @(3, 1) +@id_path.left +line 188 column 17`"] + N13 --> N11 + N14["`**14** @(3, 1) +@id_path.right +line 189 column 17`"] + N14 --> N15 + N15[/"`**Answer** @(3, 1) +@name.ref +line 205 column 14`"\] + N15 --> N13 + N16["`**16** @(3, 1) +@state_var.lexical_scope +line 441 column 19`"] + N16 --> N3 + N17["`**17** @(3, 1) +@state_var.def +line 442 column 19`"] + N17 --> N18 + N18[\"`**choice** @(3, 1) def -line 381 column 8`"/] - N13 --> N14 - N14[\"`**@typeof** @(3, 1) +line 452 column 8`"/] + N18 --> N19 + N19[/"`**@typeof** @(3, 1) typeof -line 389 column 8`"/] - N14 --> N8 - N15[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N15 --> N16 - N15 --> N18 - N16[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N16 --> N17 - N17[\"`**Yes** @(2, 1) +line 458 column 8`"\] + N19 --> N12 + N20[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N18[\"`**.** @(2, 1) +line 483 column 8`"/] + N20 --> N21 + N21[\"`**.** @(2, 1) member -line 427 column 8`"/] - N18 --> N19 - N19[\"`**No** @(2, 1) +line 488 column 8`"/] + N21 --> N8 + N22[\"`**Yes** @(2, 1) def -line 431 column 8`"/] - N20["`**20** @(4, 20) +line 500 column 8`"/] + N23[\"`**No** @(2, 1) +def +line 500 column 8`"/] + N24["`**24** @(4, 20) @expr.lexical_scope -line 501 column 14`"] - N20 --> N11 - N21["`**21** @(4, 20) -@expr.type -line 503 column 14`"] - N22["`**22** @(4, 20) +line 617 column 14`"] + N24 --> N16 + N25["`**25** @(4, 20) +@expr.output +line 619 column 14`"] + N25 --> N29 + N26["`**26** @(4, 20) @expr.lexical_scope -line 501 column 14`"] - N22 --> N20 - N23["`**23** @(4, 20) -@expr.type -line 503 column 14`"] - N23 --> N24 - N24[/"`**Answer** @(4, 20) -@name.ref -line 507 column 14`"\] - N24 --> N22 - N25["`**25** @(4, 28) -@member.lexical_scope -line 545 column 16`"] - N25 --> N27 - N26[/"`**Yes** @(4, 28) +line 617 column 14`"] + N26 --> N24 + N27["`**27** @(4, 20) +@expr.output +line 619 column 14`"] + N27 --> N28 + N28[/"`**Answer** @(4, 20) +ref +line 655 column 8`"\] + N28 --> N26 + N29[/"`**Yes** @(4, 20) ref -line 549 column 8`"\] - N26 --> N25 - N27[/"`**.** @(4, 20) +line 673 column 8`"\] + N29 --> N30 + N30[/"`**.** @(4, 20) member -line 564 column 8`"\] - N27 --> N23 +line 676 column 8`"\] + N30 --> N27 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.mmd index a03f7c7e4..25090f333 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.11.mmd @@ -15,222 +15,233 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(3, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N22 - N3 --> N24 + N3 --> N5 + N3 --> N29 + N3 --> N31 N4["`**4** @(3, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(5, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(3, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 N6["`**6** @(5, 1) -@enum.defs -line 51 column 14`"] - N6 --> N29 - N7["`**7** @(9, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(5, 1) +@enum.def +line 65 column 14`"] + N7 --> N36 + N8["`**8** @(5, 1) +@enum.members +line 66 column 14`"] + N8 --> N38 + N8 --> N39 + N8 --> N40 + N8 --> N41 + N9["`**9** @(9, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(9, 1) -@function.defs -line 56 column 18`"] - N8 --> N10 - N9[\"`**Test** @(3, 1) +line 70 column 18`"] + N9 --> N3 + N10["`**10** @(9, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**Test** @(3, 1) def -line 111 column 8`"/] - N10[\"`**setGoStraight** @(9, 1) +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(3, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**setGoStraight** @(9, 1) def -line 132 column 8`"/] - N11["`**11** @(6, 1) -@type_name.type -line 144 column 19`"] - N11 --> N21 - N12["`**12** @(8, 1) -@type_name.type -line 144 column 19`"] - N12 --> N23 - N13["`**13** @(6, 1) -@id_path.ref -line 148 column 17`"] - N13 --> N11 - N14["`**14** @(8, 1) -@id_path.ref -line 148 column 17`"] - N14 --> N12 - N15[/"`**ActionChoices** @(6, 1) +line 167 column 8`"/] + N14["`**14** @(6, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N28 + N15["`**15** @(6, 1) +@type_name.output +line 184 column 19`"] + N15 --> N19 + N16["`**16** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N30 + N17["`**17** @(8, 1) +@type_name.output +line 184 column 19`"] + N17 --> N21 + N18["`**18** @(6, 1) +@id_path.left +line 188 column 17`"] + N18 --> N14 + N19["`**19** @(6, 1) +@id_path.right +line 189 column 17`"] + N19 --> N22 + N20["`**20** @(8, 1) +@id_path.left +line 188 column 17`"] + N20 --> N16 + N21["`**21** @(8, 1) +@id_path.right +line 189 column 17`"] + N21 --> N23 + N22[/"`**ActionChoices** @(6, 1) @name.ref -line 156 column 14`"\] - N15 --> N13 - N16[/"`**ActionChoices** @(8, 1) +line 205 column 14`"\] + N22 --> N18 + N23[/"`**ActionChoices** @(8, 1) @name.ref -line 156 column 14`"\] - N16 --> N14 - N17["`**17** @(10, 36) +line 205 column 14`"\] + N23 --> N20 + N24["`**24** @(10, 36) @block.lexical_scope -line 265 column 15`"] - N17 --> N7 - N17 --> N20 - N18["`**18** @(10, 36) +line 316 column 15`"] + N24 --> N9 + N24 --> N27 + N25["`**25** @(10, 36) @block.defs -line 266 column 15`"] - N18 --> N20 - N19["`**19** @(11, 1) +line 317 column 15`"] + N25 --> N27 + N26["`**26** @(11, 1) @stmt.lexical_scope -line 270 column 14`"] - N19 --> N17 - N20["`**20** @(11, 1) +line 321 column 14`"] + N26 --> N24 + N27["`**27** @(11, 1) @stmt.defs -line 271 column 14`"] - N21["`**21** @(6, 1) +line 322 column 14`"] + N28["`**28** @(6, 1) @state_var.lexical_scope -line 370 column 19`"] - N21 --> N3 - N22["`**22** @(6, 1) -@state_var.defs -line 371 column 19`"] - N22 --> N25 - N23["`**23** @(8, 1) +line 441 column 19`"] + N28 --> N3 + N29["`**29** @(6, 1) +@state_var.def +line 442 column 19`"] + N29 --> N32 + N30["`**30** @(8, 1) @state_var.lexical_scope -line 370 column 19`"] - N23 --> N3 - N24["`**24** @(8, 1) -@state_var.defs -line 371 column 19`"] - N24 --> N27 - N25[\"`**choice** @(6, 1) +line 441 column 19`"] + N30 --> N3 + N31["`**31** @(8, 1) +@state_var.def +line 442 column 19`"] + N31 --> N34 + N32[\"`**choice** @(6, 1) def -line 381 column 8`"/] - N25 --> N26 - N26[\"`**@typeof** @(6, 1) +line 452 column 8`"/] + N32 --> N33 + N33[/"`**@typeof** @(6, 1) typeof -line 389 column 8`"/] - N26 --> N11 - N27[\"`**defaultChoice** @(8, 1) +line 458 column 8`"\] + N33 --> N15 + N34[\"`**defaultChoice** @(8, 1) def -line 381 column 8`"/] - N27 --> N28 - N28[\"`**@typeof** @(8, 1) +line 452 column 8`"/] + N34 --> N35 + N35[/"`**@typeof** @(8, 1) typeof -line 389 column 8`"/] - N28 --> N12 - N29[\"`**ActionChoices** @(5, 1) -@name.def -line 414 column 14`"/] - N29 --> N30 - N29 --> N32 - N29 --> N34 - N29 --> N36 - N30[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N30 --> N31 - N31[\"`**GoLeft** @(5, 1) +line 458 column 8`"\] + N35 --> N17 + N36[\"`**ActionChoices** @(5, 1) def -line 431 column 8`"/] - N32[\"`**.** @(5, 1) +line 483 column 8`"/] + N36 --> N37 + N37[\"`**.** @(5, 1) member -line 427 column 8`"/] - N32 --> N33 - N33[\"`**GoRight** @(5, 1) +line 488 column 8`"/] + N37 --> N8 + N38[\"`**GoLeft** @(5, 1) def -line 431 column 8`"/] - N34[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N34 --> N35 - N35[\"`**GoStraight** @(5, 1) +line 500 column 8`"/] + N39[\"`**GoRight** @(5, 1) def -line 431 column 8`"/] - N36[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N36 --> N37 - N37[\"`**SitStill** @(5, 1) +line 500 column 8`"/] + N40[\"`**GoStraight** @(5, 1) def -line 431 column 8`"/] - N38["`**38** @(8, 43) -@expr.lexical_scope -line 501 column 14`"] - N38 --> N23 - N39["`**39** @(8, 43) -@expr.type -line 503 column 14`"] - N40["`**40** @(8, 43) -@expr.lexical_scope -line 501 column 14`"] - N40 --> N38 - N41["`**41** @(8, 43) -@expr.type -line 503 column 14`"] - N41 --> N50 - N42["`**42** @(11, 1) +line 500 column 8`"/] + N41[\"`**SitStill** @(5, 1) +def +line 500 column 8`"/] + N42["`**42** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N42 --> N19 - N43["`**43** @(11, 1) -@expr.type -line 503 column 14`"] - N44["`**44** @(11, 1) +line 617 column 14`"] + N42 --> N30 + N43["`**43** @(8, 43) +@expr.output +line 619 column 14`"] + N43 --> N57 + N44["`**44** @(8, 43) @expr.lexical_scope -line 501 column 14`"] +line 617 column 14`"] N44 --> N42 - N45["`**45** @(11, 1) -@expr.type -line 503 column 14`"] - N45 --> N51 - N46["`**46** @(11, 17) + N45["`**45** @(8, 43) +@expr.output +line 619 column 14`"] + N45 --> N54 + N46["`**46** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N46 --> N42 - N47["`**47** @(11, 17) -@expr.type -line 503 column 14`"] - N48["`**48** @(11, 17) +line 617 column 14`"] + N46 --> N26 + N47["`**47** @(11, 1) +@expr.output +line 619 column 14`"] + N48["`**48** @(11, 1) @expr.lexical_scope -line 501 column 14`"] +line 617 column 14`"] N48 --> N46 - N49["`**49** @(11, 17) -@expr.type -line 503 column 14`"] - N49 --> N52 - N50[/"`**ActionChoices** @(8, 43) -@name.ref -line 507 column 14`"\] - N50 --> N40 - N51[/"`**choice** @(11, 1) -@name.ref -line 507 column 14`"\] - N51 --> N44 - N52[/"`**ActionChoices** @(11, 17) -@name.ref -line 507 column 14`"\] - N52 --> N48 - N53["`**53** @(8, 58) -@member.lexical_scope -line 545 column 16`"] - N53 --> N57 - N54["`**54** @(11, 32) -@member.lexical_scope -line 545 column 16`"] - N54 --> N58 - N55[/"`**GoStraight** @(8, 58) + N49["`**49** @(11, 1) +@expr.output +line 619 column 14`"] + N49 --> N55 + N50["`**50** @(11, 17) +@expr.lexical_scope +line 617 column 14`"] + N50 --> N46 + N51["`**51** @(11, 17) +@expr.output +line 619 column 14`"] + N51 --> N59 + N52["`**52** @(11, 17) +@expr.lexical_scope +line 617 column 14`"] + N52 --> N50 + N53["`**53** @(11, 17) +@expr.output +line 619 column 14`"] + N53 --> N56 + N54[/"`**ActionChoices** @(8, 43) ref -line 549 column 8`"\] - N55 --> N53 - N56[/"`**GoStraight** @(11, 32) +line 655 column 8`"\] + N54 --> N44 + N55[/"`**choice** @(11, 1) ref -line 549 column 8`"\] - N56 --> N54 - N57[/"`**.** @(8, 43) +line 655 column 8`"\] + N55 --> N48 + N56[/"`**ActionChoices** @(11, 17) +ref +line 655 column 8`"\] + N56 --> N52 + N57[/"`**GoStraight** @(8, 43) +ref +line 673 column 8`"\] + N57 --> N58 + N58[/"`**.** @(8, 43) member -line 564 column 8`"\] - N57 --> N41 - N58[/"`**.** @(11, 17) +line 676 column 8`"\] + N58 --> N45 + N59[/"`**GoStraight** @(11, 17) +ref +line 673 column 8`"\] + N59 --> N60 + N60[/"`**.** @(11, 17) member -line 564 column 8`"\] - N58 --> N49 +line 676 column 8`"\] + N60 --> N53 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.mmd index 784cf95ff..042d0d89f 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.4.16.mmd @@ -15,448 +15,486 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(3, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N10 - N3 --> N12 - N3 --> N14 - N3 --> N16 - N3 --> N68 - N3 --> N70 + N3 --> N5 + N3 --> N82 + N3 --> N84 N4["`**4** @(3, 1) -@contract.defs -line 31 column 18`"] - N4 --> N17 - N5["`**5** @(5, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N19 + N5["`**5** @(3, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N5 --> N12 + N5 --> N14 + N5 --> N16 + N5 --> N18 N6["`**6** @(5, 1) -@enum.defs -line 51 column 14`"] - N6 --> N75 - N7["`**7** @(9, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(9, 1) -@function.defs -line 56 column 18`"] - N8 --> N18 - N9["`**9** @(13, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(5, 1) +@enum.def +line 65 column 14`"] + N7 --> N89 + N8["`**8** @(5, 1) +@enum.members +line 66 column 14`"] + N8 --> N91 + N8 --> N92 + N8 --> N93 + N8 --> N94 + N9["`**9** @(9, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N40 - N10["`**10** @(13, 1) -@function.defs -line 56 column 18`"] - N10 --> N19 - N11["`**11** @(20, 1) + N10["`**10** @(9, 1) +@function.def +line 71 column 18`"] + N10 --> N21 + N11["`**11** @(13, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N11 --> N3 - N11 --> N42 - N12["`**12** @(20, 1) -@function.defs -line 56 column 18`"] - N12 --> N20 - N13["`**13** @(24, 1) + N11 --> N54 + N12["`**12** @(13, 1) +@function.def +line 71 column 18`"] + N12 --> N22 + N13["`**13** @(20, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N13 --> N3 - N13 --> N44 - N14["`**14** @(24, 1) -@function.defs -line 56 column 18`"] - N14 --> N21 - N15["`**15** @(28, 1) + N13 --> N56 + N14["`**14** @(20, 1) +@function.def +line 71 column 18`"] + N14 --> N23 + N15["`**15** @(24, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N15 --> N3 - N15 --> N46 - N16["`**16** @(28, 1) -@function.defs -line 56 column 18`"] - N16 --> N22 - N17[\"`**Test** @(3, 1) + N15 --> N58 + N16["`**16** @(24, 1) +@function.def +line 71 column 18`"] + N16 --> N24 + N17["`**17** @(28, 1) +@function.lexical_scope +line 70 column 18`"] + N17 --> N3 + N17 --> N60 + N18["`**18** @(28, 1) +@function.def +line 71 column 18`"] + N18 --> N25 + N19[\"`**Test** @(3, 1) def -line 111 column 8`"/] - N18[\"`**setGoStraight** @(9, 1) +line 126 column 8`"/] + N19 --> N20 + N20[\"`**.** @(3, 1) +member +line 133 column 8`"/] + N20 --> N5 + N21[\"`**setGoStraight** @(9, 1) def -line 132 column 8`"/] - N19[\"`**getChoice** @(13, 1) +line 167 column 8`"/] + N22[\"`**getChoice** @(13, 1) def -line 132 column 8`"/] - N20[\"`**getDefaultChoice** @(20, 1) +line 167 column 8`"/] + N23[\"`**getDefaultChoice** @(20, 1) def -line 132 column 8`"/] - N21[\"`**getLargestValue** @(24, 1) +line 167 column 8`"/] + N24[\"`**getLargestValue** @(24, 1) def -line 132 column 8`"/] - N22[\"`**getSmallestValue** @(28, 1) +line 167 column 8`"/] + N25[\"`**getSmallestValue** @(28, 1) def -line 132 column 8`"/] - N23["`**23** @(6, 1) -@type_name.type -line 144 column 19`"] - N23 --> N67 - N24["`**24** @(8, 1) -@type_name.type -line 144 column 19`"] - N24 --> N69 - N25["`**25** @(17, 47) -@type_name.type -line 144 column 19`"] - N25 --> N39 - N26["`**26** @(21, 54) -@type_name.type -line 144 column 19`"] - N26 --> N41 - N27["`**27** @(25, 53) -@type_name.type -line 144 column 19`"] - N27 --> N43 - N28["`**28** @(29, 54) -@type_name.type -line 144 column 19`"] - N28 --> N45 - N29["`**29** @(6, 1) -@id_path.ref -line 148 column 17`"] - N29 --> N23 - N30["`**30** @(8, 1) -@id_path.ref -line 148 column 17`"] - N30 --> N24 +line 167 column 8`"/] + N26["`**26** @(6, 1) +@type_name.type_ref +line 180 column 19`"] + N26 --> N81 + N27["`**27** @(6, 1) +@type_name.output +line 184 column 19`"] + N27 --> N39 + N28["`**28** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N28 --> N83 + N29["`**29** @(8, 1) +@type_name.output +line 184 column 19`"] + N29 --> N41 + N30["`**30** @(17, 47) +@type_name.type_ref +line 180 column 19`"] + N30 --> N53 N31["`**31** @(17, 47) -@id_path.ref -line 148 column 17`"] - N31 --> N25 - N32["`**32** @(25, 53) -@id_path.ref -line 148 column 17`"] - N32 --> N27 - N33["`**33** @(29, 54) -@id_path.ref -line 148 column 17`"] - N33 --> N28 - N34[/"`**ActionChoices** @(6, 1) +@type_name.output +line 184 column 19`"] + N31 --> N43 + N32["`**32** @(21, 54) +@type_name.type_ref +line 180 column 19`"] + N32 --> N55 + N33["`**33** @(21, 54) +@type_name.output +line 184 column 19`"] + N34["`**34** @(25, 53) +@type_name.type_ref +line 180 column 19`"] + N34 --> N57 + N35["`**35** @(25, 53) +@type_name.output +line 184 column 19`"] + N35 --> N45 + N36["`**36** @(29, 54) +@type_name.type_ref +line 180 column 19`"] + N36 --> N59 + N37["`**37** @(29, 54) +@type_name.output +line 184 column 19`"] + N37 --> N47 + N38["`**38** @(6, 1) +@id_path.left +line 188 column 17`"] + N38 --> N26 + N39["`**39** @(6, 1) +@id_path.right +line 189 column 17`"] + N39 --> N48 + N40["`**40** @(8, 1) +@id_path.left +line 188 column 17`"] + N40 --> N28 + N41["`**41** @(8, 1) +@id_path.right +line 189 column 17`"] + N41 --> N49 + N42["`**42** @(17, 47) +@id_path.left +line 188 column 17`"] + N42 --> N30 + N43["`**43** @(17, 47) +@id_path.right +line 189 column 17`"] + N43 --> N50 + N44["`**44** @(25, 53) +@id_path.left +line 188 column 17`"] + N44 --> N34 + N45["`**45** @(25, 53) +@id_path.right +line 189 column 17`"] + N45 --> N51 + N46["`**46** @(29, 54) +@id_path.left +line 188 column 17`"] + N46 --> N36 + N47["`**47** @(29, 54) +@id_path.right +line 189 column 17`"] + N47 --> N52 + N48[/"`**ActionChoices** @(6, 1) @name.ref -line 156 column 14`"\] - N34 --> N29 - N35[/"`**ActionChoices** @(8, 1) +line 205 column 14`"\] + N48 --> N38 + N49[/"`**ActionChoices** @(8, 1) @name.ref -line 156 column 14`"\] - N35 --> N30 - N36[/"`**ActionChoices** @(17, 47) +line 205 column 14`"\] + N49 --> N40 + N50[/"`**ActionChoices** @(17, 47) @name.ref -line 156 column 14`"\] - N36 --> N31 - N37[/"`**ActionChoices** @(25, 53) +line 205 column 14`"\] + N50 --> N42 + N51[/"`**ActionChoices** @(25, 53) @name.ref -line 156 column 14`"\] - N37 --> N32 - N38[/"`**ActionChoices** @(29, 54) +line 205 column 14`"\] + N51 --> N44 + N52[/"`**ActionChoices** @(29, 54) @name.ref -line 156 column 14`"\] - N38 --> N33 - N39["`**39** @(17, 47) +line 205 column 14`"\] + N52 --> N46 + N53["`**53** @(17, 47) @param.lexical_scope -line 178 column 15`"] - N39 --> N9 - N40["`**40** @(17, 47) -@param.defs -line 179 column 15`"] - N41["`**41** @(21, 54) +line 231 column 15`"] + N53 --> N11 + N54["`**54** @(17, 47) +@param.def +line 232 column 15`"] + N55["`**55** @(21, 54) @param.lexical_scope -line 178 column 15`"] - N41 --> N11 - N42["`**42** @(21, 54) -@param.defs -line 179 column 15`"] - N43["`**43** @(25, 53) +line 231 column 15`"] + N55 --> N13 + N56["`**56** @(21, 54) +@param.def +line 232 column 15`"] + N57["`**57** @(25, 53) @param.lexical_scope -line 178 column 15`"] - N43 --> N13 - N44["`**44** @(25, 53) -@param.defs -line 179 column 15`"] - N45["`**45** @(29, 54) +line 231 column 15`"] + N57 --> N15 + N58["`**58** @(25, 53) +@param.def +line 232 column 15`"] + N59["`**59** @(29, 54) @param.lexical_scope -line 178 column 15`"] - N45 --> N15 - N46["`**46** @(29, 54) -@param.defs -line 179 column 15`"] - N47["`**47** @(10, 36) +line 231 column 15`"] + N59 --> N17 + N60["`**60** @(29, 54) +@param.def +line 232 column 15`"] + N61["`**61** @(10, 36) @block.lexical_scope -line 265 column 15`"] - N47 --> N7 - N47 --> N58 - N48["`**48** @(10, 36) +line 316 column 15`"] + N61 --> N9 + N61 --> N72 + N62["`**62** @(10, 36) @block.defs -line 266 column 15`"] - N48 --> N58 - N49["`**49** @(17, 61) +line 317 column 15`"] + N62 --> N72 + N63["`**63** @(17, 61) @block.lexical_scope -line 265 column 15`"] - N49 --> N9 - N49 --> N60 - N50["`**50** @(17, 61) +line 316 column 15`"] + N63 --> N11 + N63 --> N74 + N64["`**64** @(17, 61) @block.defs -line 266 column 15`"] - N50 --> N60 - N51["`**51** @(21, 59) +line 317 column 15`"] + N64 --> N74 + N65["`**65** @(21, 59) @block.lexical_scope -line 265 column 15`"] - N51 --> N11 - N51 --> N62 - N52["`**52** @(21, 59) +line 316 column 15`"] + N65 --> N13 + N65 --> N76 + N66["`**66** @(21, 59) @block.defs -line 266 column 15`"] - N52 --> N62 - N53["`**53** @(25, 67) +line 317 column 15`"] + N66 --> N76 + N67["`**67** @(25, 67) @block.lexical_scope -line 265 column 15`"] - N53 --> N13 - N53 --> N64 - N54["`**54** @(25, 67) +line 316 column 15`"] + N67 --> N15 + N67 --> N78 + N68["`**68** @(25, 67) @block.defs -line 266 column 15`"] - N54 --> N64 - N55["`**55** @(29, 68) +line 317 column 15`"] + N68 --> N78 + N69["`**69** @(29, 68) @block.lexical_scope -line 265 column 15`"] - N55 --> N15 - N55 --> N66 - N56["`**56** @(29, 68) +line 316 column 15`"] + N69 --> N17 + N69 --> N80 + N70["`**70** @(29, 68) @block.defs -line 266 column 15`"] - N56 --> N66 - N57["`**57** @(11, 1) +line 317 column 15`"] + N70 --> N80 + N71["`**71** @(11, 1) @stmt.lexical_scope -line 270 column 14`"] - N57 --> N47 - N58["`**58** @(11, 1) +line 321 column 14`"] + N71 --> N61 + N72["`**72** @(11, 1) @stmt.defs -line 271 column 14`"] - N59["`**59** @(18, 1) +line 322 column 14`"] + N73["`**73** @(18, 1) @stmt.lexical_scope -line 270 column 14`"] - N59 --> N49 - N60["`**60** @(18, 1) +line 321 column 14`"] + N73 --> N63 + N74["`**74** @(18, 1) @stmt.defs -line 271 column 14`"] - N61["`**61** @(22, 1) +line 322 column 14`"] + N75["`**75** @(22, 1) @stmt.lexical_scope -line 270 column 14`"] - N61 --> N51 - N62["`**62** @(22, 1) +line 321 column 14`"] + N75 --> N65 + N76["`**76** @(22, 1) @stmt.defs -line 271 column 14`"] - N63["`**63** @(26, 1) +line 322 column 14`"] + N77["`**77** @(26, 1) @stmt.lexical_scope -line 270 column 14`"] - N63 --> N53 - N64["`**64** @(26, 1) +line 321 column 14`"] + N77 --> N67 + N78["`**78** @(26, 1) @stmt.defs -line 271 column 14`"] - N65["`**65** @(30, 1) +line 322 column 14`"] + N79["`**79** @(30, 1) @stmt.lexical_scope -line 270 column 14`"] - N65 --> N55 - N66["`**66** @(30, 1) +line 321 column 14`"] + N79 --> N69 + N80["`**80** @(30, 1) @stmt.defs -line 271 column 14`"] - N67["`**67** @(6, 1) +line 322 column 14`"] + N81["`**81** @(6, 1) @state_var.lexical_scope -line 370 column 19`"] - N67 --> N3 - N68["`**68** @(6, 1) -@state_var.defs -line 371 column 19`"] - N68 --> N71 - N69["`**69** @(8, 1) +line 441 column 19`"] + N81 --> N3 + N82["`**82** @(6, 1) +@state_var.def +line 442 column 19`"] + N82 --> N85 + N83["`**83** @(8, 1) @state_var.lexical_scope -line 370 column 19`"] - N69 --> N3 - N70["`**70** @(8, 1) -@state_var.defs -line 371 column 19`"] - N70 --> N73 - N71[\"`**choice** @(6, 1) +line 441 column 19`"] + N83 --> N3 + N84["`**84** @(8, 1) +@state_var.def +line 442 column 19`"] + N84 --> N87 + N85[\"`**choice** @(6, 1) def -line 381 column 8`"/] - N71 --> N72 - N72[\"`**@typeof** @(6, 1) +line 452 column 8`"/] + N85 --> N86 + N86[/"`**@typeof** @(6, 1) typeof -line 389 column 8`"/] - N72 --> N23 - N73[\"`**defaultChoice** @(8, 1) +line 458 column 8`"\] + N86 --> N27 + N87[\"`**defaultChoice** @(8, 1) def -line 381 column 8`"/] - N73 --> N74 - N74[\"`**@typeof** @(8, 1) +line 452 column 8`"/] + N87 --> N88 + N88[/"`**@typeof** @(8, 1) typeof -line 389 column 8`"/] - N74 --> N24 - N75[\"`**ActionChoices** @(5, 1) -@name.def -line 414 column 14`"/] - N75 --> N76 - N75 --> N78 - N75 --> N80 - N75 --> N82 - N76[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N76 --> N77 - N77[\"`**GoLeft** @(5, 1) +line 458 column 8`"\] + N88 --> N29 + N89[\"`**ActionChoices** @(5, 1) def -line 431 column 8`"/] - N78[\"`**.** @(5, 1) +line 483 column 8`"/] + N89 --> N90 + N90[\"`**.** @(5, 1) member -line 427 column 8`"/] - N78 --> N79 - N79[\"`**GoRight** @(5, 1) +line 488 column 8`"/] + N90 --> N8 + N91[\"`**GoLeft** @(5, 1) def -line 431 column 8`"/] - N80[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N80 --> N81 - N81[\"`**GoStraight** @(5, 1) +line 500 column 8`"/] + N92[\"`**GoRight** @(5, 1) def -line 431 column 8`"/] - N82[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N82 --> N83 - N83[\"`**SitStill** @(5, 1) +line 500 column 8`"/] + N93[\"`**GoStraight** @(5, 1) +def +line 500 column 8`"/] + N94[\"`**SitStill** @(5, 1) def -line 431 column 8`"/] - N84["`**84** @(8, 43) +line 500 column 8`"/] + N95["`**95** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N84 --> N69 - N85["`**85** @(8, 43) -@expr.type -line 503 column 14`"] - N86["`**86** @(8, 43) +line 617 column 14`"] + N95 --> N83 + N96["`**96** @(8, 43) +@expr.output +line 619 column 14`"] + N96 --> N120 + N97["`**97** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N86 --> N84 - N87["`**87** @(8, 43) -@expr.type -line 503 column 14`"] - N87 --> N104 - N88["`**88** @(11, 1) +line 617 column 14`"] + N97 --> N95 + N98["`**98** @(8, 43) +@expr.output +line 619 column 14`"] + N98 --> N115 + N99["`**99** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N88 --> N57 - N89["`**89** @(11, 1) -@expr.type -line 503 column 14`"] - N90["`**90** @(11, 1) +line 617 column 14`"] + N99 --> N71 + N100["`**100** @(11, 1) +@expr.output +line 619 column 14`"] + N101["`**101** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N90 --> N88 - N91["`**91** @(11, 1) -@expr.type -line 503 column 14`"] - N91 --> N105 - N92["`**92** @(11, 17) +line 617 column 14`"] + N101 --> N99 + N102["`**102** @(11, 1) +@expr.output +line 619 column 14`"] + N102 --> N116 + N103["`**103** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N92 --> N88 - N93["`**93** @(11, 17) -@expr.type -line 503 column 14`"] - N94["`**94** @(11, 17) +line 617 column 14`"] + N103 --> N99 + N104["`**104** @(11, 17) +@expr.output +line 619 column 14`"] + N104 --> N122 + N105["`**105** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N94 --> N92 - N95["`**95** @(11, 17) -@expr.type -line 503 column 14`"] - N95 --> N106 - N96["`**96** @(18, 15) +line 617 column 14`"] + N105 --> N103 + N106["`**106** @(11, 17) +@expr.output +line 619 column 14`"] + N106 --> N117 + N107["`**107** @(18, 15) @expr.lexical_scope -line 501 column 14`"] - N96 --> N59 - N97["`**97** @(18, 15) -@expr.type -line 503 column 14`"] - N97 --> N107 - N98["`**98** @(22, 15) +line 617 column 14`"] + N107 --> N73 + N108["`**108** @(18, 15) +@expr.output +line 619 column 14`"] + N108 --> N118 + N109["`**109** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N98 --> N61 - N99["`**99** @(22, 15) -@expr.type -line 503 column 14`"] - N100["`**100** @(22, 15) +line 617 column 14`"] + N109 --> N75 + N110["`**110** @(22, 15) +@expr.output +line 619 column 14`"] + N111["`**111** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N100 --> N98 - N101["`**101** @(22, 15) -@expr.type -line 503 column 14`"] - N102["`**102** @(22, 21) +line 617 column 14`"] + N111 --> N109 + N112["`**112** @(22, 15) +@expr.output +line 619 column 14`"] + N113["`**113** @(22, 21) @expr.lexical_scope -line 501 column 14`"] - N102 --> N115 - N103["`**103** @(22, 21) -@expr.type -line 503 column 14`"] - N103 --> N108 - N104[/"`**ActionChoices** @(8, 43) -@name.ref -line 507 column 14`"\] - N104 --> N86 - N105[/"`**choice** @(11, 1) -@name.ref -line 507 column 14`"\] - N105 --> N90 - N106[/"`**ActionChoices** @(11, 17) -@name.ref -line 507 column 14`"\] - N106 --> N94 - N107[/"`**choice** @(18, 15) -@name.ref -line 507 column 14`"\] - N107 --> N96 - N108[/"`**defaultChoice** @(22, 21) -@name.ref -line 507 column 14`"\] - N108 --> N102 - N109["`**109** @(8, 58) -@member.lexical_scope -line 545 column 16`"] - N109 --> N113 - N110["`**110** @(11, 32) -@member.lexical_scope -line 545 column 16`"] - N110 --> N114 - N111[/"`**GoStraight** @(8, 58) +line 617 column 14`"] + N113 --> N124 + N114["`**114** @(22, 21) +@expr.output +line 619 column 14`"] + N114 --> N119 + N115[/"`**ActionChoices** @(8, 43) ref -line 549 column 8`"\] - N111 --> N109 - N112[/"`**GoStraight** @(11, 32) +line 655 column 8`"\] + N115 --> N97 + N116[/"`**choice** @(11, 1) +ref +line 655 column 8`"\] + N116 --> N101 + N117[/"`**ActionChoices** @(11, 17) +ref +line 655 column 8`"\] + N117 --> N105 + N118[/"`**choice** @(18, 15) ref -line 549 column 8`"\] - N112 --> N110 - N113[/"`**.** @(8, 43) +line 655 column 8`"\] + N118 --> N107 + N119[/"`**defaultChoice** @(22, 21) +ref +line 655 column 8`"\] + N119 --> N113 + N120[/"`**GoStraight** @(8, 43) +ref +line 673 column 8`"\] + N120 --> N121 + N121[/"`**.** @(8, 43) member -line 564 column 8`"\] - N113 --> N87 - N114[/"`**.** @(11, 17) +line 676 column 8`"\] + N121 --> N98 + N122[/"`**GoStraight** @(11, 17) +ref +line 673 column 8`"\] + N122 --> N123 + N123[/"`**.** @(11, 17) member -line 564 column 8`"\] - N114 --> N95 - N115["`**115** @(22, 20) +line 676 column 8`"\] + N123 --> N106 + N124["`**124** @(22, 20) @args.lexical_scope -line 574 column 14`"] - N115 --> N98 +line 691 column 14`"] + N124 --> N109 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.0.mmd index 926ac2edb..8b8a10da3 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.0.mmd @@ -15,443 +15,481 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(3, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N10 - N3 --> N12 - N3 --> N14 - N3 --> N16 - N3 --> N68 - N3 --> N70 + N3 --> N5 + N3 --> N82 + N3 --> N84 N4["`**4** @(3, 1) -@contract.defs -line 31 column 18`"] - N4 --> N17 - N5["`**5** @(5, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N19 + N5["`**5** @(3, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N5 --> N12 + N5 --> N14 + N5 --> N16 + N5 --> N18 N6["`**6** @(5, 1) -@enum.defs -line 51 column 14`"] - N6 --> N75 - N7["`**7** @(9, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(9, 1) -@function.defs -line 56 column 18`"] - N8 --> N18 - N9["`**9** @(13, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(5, 1) +@enum.def +line 65 column 14`"] + N7 --> N89 + N8["`**8** @(5, 1) +@enum.members +line 66 column 14`"] + N8 --> N91 + N8 --> N92 + N8 --> N93 + N8 --> N94 + N9["`**9** @(9, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N40 - N10["`**10** @(13, 1) -@function.defs -line 56 column 18`"] - N10 --> N19 - N11["`**11** @(20, 1) + N10["`**10** @(9, 1) +@function.def +line 71 column 18`"] + N10 --> N21 + N11["`**11** @(13, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N11 --> N3 - N11 --> N42 - N12["`**12** @(20, 1) -@function.defs -line 56 column 18`"] - N12 --> N20 - N13["`**13** @(24, 1) + N11 --> N54 + N12["`**12** @(13, 1) +@function.def +line 71 column 18`"] + N12 --> N22 + N13["`**13** @(20, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N13 --> N3 - N13 --> N44 - N14["`**14** @(24, 1) -@function.defs -line 56 column 18`"] - N14 --> N21 - N15["`**15** @(28, 1) + N13 --> N56 + N14["`**14** @(20, 1) +@function.def +line 71 column 18`"] + N14 --> N23 + N15["`**15** @(24, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N15 --> N3 - N15 --> N46 - N16["`**16** @(28, 1) -@function.defs -line 56 column 18`"] - N16 --> N22 - N17[\"`**Test** @(3, 1) + N15 --> N58 + N16["`**16** @(24, 1) +@function.def +line 71 column 18`"] + N16 --> N24 + N17["`**17** @(28, 1) +@function.lexical_scope +line 70 column 18`"] + N17 --> N3 + N17 --> N60 + N18["`**18** @(28, 1) +@function.def +line 71 column 18`"] + N18 --> N25 + N19[\"`**Test** @(3, 1) def -line 111 column 8`"/] - N18[\"`**setGoStraight** @(9, 1) +line 126 column 8`"/] + N19 --> N20 + N20[\"`**.** @(3, 1) +member +line 133 column 8`"/] + N20 --> N5 + N21[\"`**setGoStraight** @(9, 1) def -line 132 column 8`"/] - N19[\"`**getChoice** @(13, 1) +line 167 column 8`"/] + N22[\"`**getChoice** @(13, 1) def -line 132 column 8`"/] - N20[\"`**getDefaultChoice** @(20, 1) +line 167 column 8`"/] + N23[\"`**getDefaultChoice** @(20, 1) def -line 132 column 8`"/] - N21[\"`**getLargestValue** @(24, 1) +line 167 column 8`"/] + N24[\"`**getLargestValue** @(24, 1) def -line 132 column 8`"/] - N22[\"`**getSmallestValue** @(28, 1) +line 167 column 8`"/] + N25[\"`**getSmallestValue** @(28, 1) def -line 132 column 8`"/] - N23["`**23** @(6, 1) -@type_name.type -line 144 column 19`"] - N23 --> N67 - N24["`**24** @(8, 1) -@type_name.type -line 144 column 19`"] - N24 --> N69 - N25["`**25** @(17, 47) -@type_name.type -line 144 column 19`"] - N25 --> N39 - N26["`**26** @(21, 54) -@type_name.type -line 144 column 19`"] - N26 --> N41 - N27["`**27** @(25, 53) -@type_name.type -line 144 column 19`"] - N27 --> N43 - N28["`**28** @(29, 54) -@type_name.type -line 144 column 19`"] - N28 --> N45 - N29["`**29** @(6, 1) -@id_path.ref -line 148 column 17`"] - N29 --> N23 - N30["`**30** @(8, 1) -@id_path.ref -line 148 column 17`"] - N30 --> N24 +line 167 column 8`"/] + N26["`**26** @(6, 1) +@type_name.type_ref +line 180 column 19`"] + N26 --> N81 + N27["`**27** @(6, 1) +@type_name.output +line 184 column 19`"] + N27 --> N39 + N28["`**28** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N28 --> N83 + N29["`**29** @(8, 1) +@type_name.output +line 184 column 19`"] + N29 --> N41 + N30["`**30** @(17, 47) +@type_name.type_ref +line 180 column 19`"] + N30 --> N53 N31["`**31** @(17, 47) -@id_path.ref -line 148 column 17`"] - N31 --> N25 - N32["`**32** @(25, 53) -@id_path.ref -line 148 column 17`"] - N32 --> N27 - N33["`**33** @(29, 54) -@id_path.ref -line 148 column 17`"] - N33 --> N28 - N34[/"`**ActionChoices** @(6, 1) +@type_name.output +line 184 column 19`"] + N31 --> N43 + N32["`**32** @(21, 54) +@type_name.type_ref +line 180 column 19`"] + N32 --> N55 + N33["`**33** @(21, 54) +@type_name.output +line 184 column 19`"] + N34["`**34** @(25, 53) +@type_name.type_ref +line 180 column 19`"] + N34 --> N57 + N35["`**35** @(25, 53) +@type_name.output +line 184 column 19`"] + N35 --> N45 + N36["`**36** @(29, 54) +@type_name.type_ref +line 180 column 19`"] + N36 --> N59 + N37["`**37** @(29, 54) +@type_name.output +line 184 column 19`"] + N37 --> N47 + N38["`**38** @(6, 1) +@id_path.left +line 188 column 17`"] + N38 --> N26 + N39["`**39** @(6, 1) +@id_path.right +line 189 column 17`"] + N39 --> N48 + N40["`**40** @(8, 1) +@id_path.left +line 188 column 17`"] + N40 --> N28 + N41["`**41** @(8, 1) +@id_path.right +line 189 column 17`"] + N41 --> N49 + N42["`**42** @(17, 47) +@id_path.left +line 188 column 17`"] + N42 --> N30 + N43["`**43** @(17, 47) +@id_path.right +line 189 column 17`"] + N43 --> N50 + N44["`**44** @(25, 53) +@id_path.left +line 188 column 17`"] + N44 --> N34 + N45["`**45** @(25, 53) +@id_path.right +line 189 column 17`"] + N45 --> N51 + N46["`**46** @(29, 54) +@id_path.left +line 188 column 17`"] + N46 --> N36 + N47["`**47** @(29, 54) +@id_path.right +line 189 column 17`"] + N47 --> N52 + N48[/"`**ActionChoices** @(6, 1) @name.ref -line 156 column 14`"\] - N34 --> N29 - N35[/"`**ActionChoices** @(8, 1) +line 205 column 14`"\] + N48 --> N38 + N49[/"`**ActionChoices** @(8, 1) @name.ref -line 156 column 14`"\] - N35 --> N30 - N36[/"`**ActionChoices** @(17, 47) +line 205 column 14`"\] + N49 --> N40 + N50[/"`**ActionChoices** @(17, 47) @name.ref -line 156 column 14`"\] - N36 --> N31 - N37[/"`**ActionChoices** @(25, 53) +line 205 column 14`"\] + N50 --> N42 + N51[/"`**ActionChoices** @(25, 53) @name.ref -line 156 column 14`"\] - N37 --> N32 - N38[/"`**ActionChoices** @(29, 54) +line 205 column 14`"\] + N51 --> N44 + N52[/"`**ActionChoices** @(29, 54) @name.ref -line 156 column 14`"\] - N38 --> N33 - N39["`**39** @(17, 47) +line 205 column 14`"\] + N52 --> N46 + N53["`**53** @(17, 47) @param.lexical_scope -line 178 column 15`"] - N39 --> N9 - N40["`**40** @(17, 47) -@param.defs -line 179 column 15`"] - N41["`**41** @(21, 54) +line 231 column 15`"] + N53 --> N11 + N54["`**54** @(17, 47) +@param.def +line 232 column 15`"] + N55["`**55** @(21, 54) @param.lexical_scope -line 178 column 15`"] - N41 --> N11 - N42["`**42** @(21, 54) -@param.defs -line 179 column 15`"] - N43["`**43** @(25, 53) +line 231 column 15`"] + N55 --> N13 + N56["`**56** @(21, 54) +@param.def +line 232 column 15`"] + N57["`**57** @(25, 53) @param.lexical_scope -line 178 column 15`"] - N43 --> N13 - N44["`**44** @(25, 53) -@param.defs -line 179 column 15`"] - N45["`**45** @(29, 54) +line 231 column 15`"] + N57 --> N15 + N58["`**58** @(25, 53) +@param.def +line 232 column 15`"] + N59["`**59** @(29, 54) @param.lexical_scope -line 178 column 15`"] - N45 --> N15 - N46["`**46** @(29, 54) -@param.defs -line 179 column 15`"] - N47["`**47** @(10, 36) +line 231 column 15`"] + N59 --> N17 + N60["`**60** @(29, 54) +@param.def +line 232 column 15`"] + N61["`**61** @(10, 36) @block.lexical_scope -line 265 column 15`"] - N47 --> N7 - N48["`**48** @(10, 36) +line 316 column 15`"] + N61 --> N9 + N62["`**62** @(10, 36) @block.defs -line 266 column 15`"] - N49["`**49** @(17, 61) +line 317 column 15`"] + N63["`**63** @(17, 61) @block.lexical_scope -line 265 column 15`"] - N49 --> N9 - N50["`**50** @(17, 61) +line 316 column 15`"] + N63 --> N11 + N64["`**64** @(17, 61) @block.defs -line 266 column 15`"] - N51["`**51** @(21, 59) +line 317 column 15`"] + N65["`**65** @(21, 59) @block.lexical_scope -line 265 column 15`"] - N51 --> N11 - N52["`**52** @(21, 59) +line 316 column 15`"] + N65 --> N13 + N66["`**66** @(21, 59) @block.defs -line 266 column 15`"] - N53["`**53** @(25, 67) +line 317 column 15`"] + N67["`**67** @(25, 67) @block.lexical_scope -line 265 column 15`"] - N53 --> N13 - N54["`**54** @(25, 67) +line 316 column 15`"] + N67 --> N15 + N68["`**68** @(25, 67) @block.defs -line 266 column 15`"] - N55["`**55** @(29, 68) +line 317 column 15`"] + N69["`**69** @(29, 68) @block.lexical_scope -line 265 column 15`"] - N55 --> N15 - N56["`**56** @(29, 68) +line 316 column 15`"] + N69 --> N17 + N70["`**70** @(29, 68) @block.defs -line 266 column 15`"] - N57["`**57** @(11, 1) +line 317 column 15`"] + N71["`**71** @(11, 1) @stmt.lexical_scope -line 270 column 14`"] - N57 --> N47 - N57 --> N58 - N58["`**58** @(11, 1) +line 321 column 14`"] + N71 --> N61 + N71 --> N72 + N72["`**72** @(11, 1) @stmt.defs -line 271 column 14`"] - N59["`**59** @(18, 1) +line 322 column 14`"] + N73["`**73** @(18, 1) @stmt.lexical_scope -line 270 column 14`"] - N59 --> N49 - N59 --> N60 - N60["`**60** @(18, 1) +line 321 column 14`"] + N73 --> N63 + N73 --> N74 + N74["`**74** @(18, 1) @stmt.defs -line 271 column 14`"] - N61["`**61** @(22, 1) +line 322 column 14`"] + N75["`**75** @(22, 1) @stmt.lexical_scope -line 270 column 14`"] - N61 --> N51 - N61 --> N62 - N62["`**62** @(22, 1) +line 321 column 14`"] + N75 --> N65 + N75 --> N76 + N76["`**76** @(22, 1) @stmt.defs -line 271 column 14`"] - N63["`**63** @(26, 1) +line 322 column 14`"] + N77["`**77** @(26, 1) @stmt.lexical_scope -line 270 column 14`"] - N63 --> N53 - N63 --> N64 - N64["`**64** @(26, 1) +line 321 column 14`"] + N77 --> N67 + N77 --> N78 + N78["`**78** @(26, 1) @stmt.defs -line 271 column 14`"] - N65["`**65** @(30, 1) +line 322 column 14`"] + N79["`**79** @(30, 1) @stmt.lexical_scope -line 270 column 14`"] - N65 --> N55 - N65 --> N66 - N66["`**66** @(30, 1) +line 321 column 14`"] + N79 --> N69 + N79 --> N80 + N80["`**80** @(30, 1) @stmt.defs -line 271 column 14`"] - N67["`**67** @(6, 1) +line 322 column 14`"] + N81["`**81** @(6, 1) @state_var.lexical_scope -line 370 column 19`"] - N67 --> N3 - N68["`**68** @(6, 1) -@state_var.defs -line 371 column 19`"] - N68 --> N71 - N69["`**69** @(8, 1) +line 441 column 19`"] + N81 --> N3 + N82["`**82** @(6, 1) +@state_var.def +line 442 column 19`"] + N82 --> N85 + N83["`**83** @(8, 1) @state_var.lexical_scope -line 370 column 19`"] - N69 --> N3 - N70["`**70** @(8, 1) -@state_var.defs -line 371 column 19`"] - N70 --> N73 - N71[\"`**choice** @(6, 1) +line 441 column 19`"] + N83 --> N3 + N84["`**84** @(8, 1) +@state_var.def +line 442 column 19`"] + N84 --> N87 + N85[\"`**choice** @(6, 1) def -line 381 column 8`"/] - N71 --> N72 - N72[\"`**@typeof** @(6, 1) +line 452 column 8`"/] + N85 --> N86 + N86[/"`**@typeof** @(6, 1) typeof -line 389 column 8`"/] - N72 --> N23 - N73[\"`**defaultChoice** @(8, 1) +line 458 column 8`"\] + N86 --> N27 + N87[\"`**defaultChoice** @(8, 1) def -line 381 column 8`"/] - N73 --> N74 - N74[\"`**@typeof** @(8, 1) +line 452 column 8`"/] + N87 --> N88 + N88[/"`**@typeof** @(8, 1) typeof -line 389 column 8`"/] - N74 --> N24 - N75[\"`**ActionChoices** @(5, 1) -@name.def -line 414 column 14`"/] - N75 --> N76 - N75 --> N78 - N75 --> N80 - N75 --> N82 - N76[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N76 --> N77 - N77[\"`**GoLeft** @(5, 1) +line 458 column 8`"\] + N88 --> N29 + N89[\"`**ActionChoices** @(5, 1) def -line 431 column 8`"/] - N78[\"`**.** @(5, 1) +line 483 column 8`"/] + N89 --> N90 + N90[\"`**.** @(5, 1) member -line 427 column 8`"/] - N78 --> N79 - N79[\"`**GoRight** @(5, 1) +line 488 column 8`"/] + N90 --> N8 + N91[\"`**GoLeft** @(5, 1) def -line 431 column 8`"/] - N80[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N80 --> N81 - N81[\"`**GoStraight** @(5, 1) +line 500 column 8`"/] + N92[\"`**GoRight** @(5, 1) def -line 431 column 8`"/] - N82[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N82 --> N83 - N83[\"`**SitStill** @(5, 1) +line 500 column 8`"/] + N93[\"`**GoStraight** @(5, 1) def -line 431 column 8`"/] - N84["`**84** @(8, 43) +line 500 column 8`"/] + N94[\"`**SitStill** @(5, 1) +def +line 500 column 8`"/] + N95["`**95** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N84 --> N69 - N85["`**85** @(8, 43) -@expr.type -line 503 column 14`"] - N86["`**86** @(8, 43) +line 617 column 14`"] + N95 --> N83 + N96["`**96** @(8, 43) +@expr.output +line 619 column 14`"] + N96 --> N120 + N97["`**97** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N86 --> N84 - N87["`**87** @(8, 43) -@expr.type -line 503 column 14`"] - N87 --> N104 - N88["`**88** @(11, 1) +line 617 column 14`"] + N97 --> N95 + N98["`**98** @(8, 43) +@expr.output +line 619 column 14`"] + N98 --> N115 + N99["`**99** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N88 --> N57 - N89["`**89** @(11, 1) -@expr.type -line 503 column 14`"] - N90["`**90** @(11, 1) +line 617 column 14`"] + N99 --> N71 + N100["`**100** @(11, 1) +@expr.output +line 619 column 14`"] + N101["`**101** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N90 --> N88 - N91["`**91** @(11, 1) -@expr.type -line 503 column 14`"] - N91 --> N105 - N92["`**92** @(11, 17) +line 617 column 14`"] + N101 --> N99 + N102["`**102** @(11, 1) +@expr.output +line 619 column 14`"] + N102 --> N116 + N103["`**103** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N92 --> N88 - N93["`**93** @(11, 17) -@expr.type -line 503 column 14`"] - N94["`**94** @(11, 17) +line 617 column 14`"] + N103 --> N99 + N104["`**104** @(11, 17) +@expr.output +line 619 column 14`"] + N104 --> N122 + N105["`**105** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N94 --> N92 - N95["`**95** @(11, 17) -@expr.type -line 503 column 14`"] - N95 --> N106 - N96["`**96** @(18, 15) +line 617 column 14`"] + N105 --> N103 + N106["`**106** @(11, 17) +@expr.output +line 619 column 14`"] + N106 --> N117 + N107["`**107** @(18, 15) @expr.lexical_scope -line 501 column 14`"] - N96 --> N59 - N97["`**97** @(18, 15) -@expr.type -line 503 column 14`"] - N97 --> N107 - N98["`**98** @(22, 15) +line 617 column 14`"] + N107 --> N73 + N108["`**108** @(18, 15) +@expr.output +line 619 column 14`"] + N108 --> N118 + N109["`**109** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N98 --> N61 - N99["`**99** @(22, 15) -@expr.type -line 503 column 14`"] - N100["`**100** @(22, 15) +line 617 column 14`"] + N109 --> N75 + N110["`**110** @(22, 15) +@expr.output +line 619 column 14`"] + N111["`**111** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N100 --> N98 - N101["`**101** @(22, 15) -@expr.type -line 503 column 14`"] - N102["`**102** @(22, 21) +line 617 column 14`"] + N111 --> N109 + N112["`**112** @(22, 15) +@expr.output +line 619 column 14`"] + N113["`**113** @(22, 21) @expr.lexical_scope -line 501 column 14`"] - N102 --> N115 - N103["`**103** @(22, 21) -@expr.type -line 503 column 14`"] - N103 --> N108 - N104[/"`**ActionChoices** @(8, 43) -@name.ref -line 507 column 14`"\] - N104 --> N86 - N105[/"`**choice** @(11, 1) -@name.ref -line 507 column 14`"\] - N105 --> N90 - N106[/"`**ActionChoices** @(11, 17) -@name.ref -line 507 column 14`"\] - N106 --> N94 - N107[/"`**choice** @(18, 15) -@name.ref -line 507 column 14`"\] - N107 --> N96 - N108[/"`**defaultChoice** @(22, 21) -@name.ref -line 507 column 14`"\] - N108 --> N102 - N109["`**109** @(8, 58) -@member.lexical_scope -line 545 column 16`"] - N109 --> N113 - N110["`**110** @(11, 32) -@member.lexical_scope -line 545 column 16`"] - N110 --> N114 - N111[/"`**GoStraight** @(8, 58) +line 617 column 14`"] + N113 --> N124 + N114["`**114** @(22, 21) +@expr.output +line 619 column 14`"] + N114 --> N119 + N115[/"`**ActionChoices** @(8, 43) ref -line 549 column 8`"\] - N111 --> N109 - N112[/"`**GoStraight** @(11, 32) +line 655 column 8`"\] + N115 --> N97 + N116[/"`**choice** @(11, 1) +ref +line 655 column 8`"\] + N116 --> N101 + N117[/"`**ActionChoices** @(11, 17) +ref +line 655 column 8`"\] + N117 --> N105 + N118[/"`**choice** @(18, 15) ref -line 549 column 8`"\] - N112 --> N110 - N113[/"`**.** @(8, 43) +line 655 column 8`"\] + N118 --> N107 + N119[/"`**defaultChoice** @(22, 21) +ref +line 655 column 8`"\] + N119 --> N113 + N120[/"`**GoStraight** @(8, 43) +ref +line 673 column 8`"\] + N120 --> N121 + N121[/"`**.** @(8, 43) member -line 564 column 8`"\] - N113 --> N87 - N114[/"`**.** @(11, 17) +line 676 column 8`"\] + N121 --> N98 + N122[/"`**GoStraight** @(11, 17) +ref +line 673 column 8`"\] + N122 --> N123 + N123[/"`**.** @(11, 17) member -line 564 column 8`"\] - N114 --> N95 - N115["`**115** @(22, 20) +line 676 column 8`"\] + N123 --> N106 + N124["`**124** @(22, 20) @args.lexical_scope -line 574 column 14`"] - N115 --> N98 +line 691 column 14`"] + N124 --> N109 diff --git a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.mmd b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.mmd index d0f32d151..dd2c30993 100644 --- a/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/enums/sample/generated/0.5.3.mmd @@ -14,519 +14,567 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(3, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N10 - N3 --> N12 - N3 --> N14 - N3 --> N16 - N3 --> N74 - N3 --> N76 + N3 --> N5 + N3 --> N92 + N3 --> N94 N4["`**4** @(3, 1) -@contract.defs -line 31 column 18`"] - N4 --> N17 - N5["`**5** @(5, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N19 + N5["`**5** @(3, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N5 --> N12 + N5 --> N14 + N5 --> N16 + N5 --> N18 N6["`**6** @(5, 1) -@enum.defs -line 51 column 14`"] - N6 --> N81 - N7["`**7** @(9, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(9, 1) -@function.defs -line 56 column 18`"] - N8 --> N18 - N9["`**9** @(13, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(5, 1) +@enum.def +line 65 column 14`"] + N7 --> N99 + N8["`**8** @(5, 1) +@enum.members +line 66 column 14`"] + N8 --> N101 + N8 --> N102 + N8 --> N103 + N8 --> N104 + N9["`**9** @(9, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N46 - N10["`**10** @(13, 1) -@function.defs -line 56 column 18`"] - N10 --> N19 - N11["`**11** @(20, 1) + N10["`**10** @(9, 1) +@function.def +line 71 column 18`"] + N10 --> N21 + N11["`**11** @(13, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N11 --> N3 - N11 --> N48 - N12["`**12** @(20, 1) -@function.defs -line 56 column 18`"] - N12 --> N20 - N13["`**13** @(24, 1) + N11 --> N64 + N12["`**12** @(13, 1) +@function.def +line 71 column 18`"] + N12 --> N22 + N13["`**13** @(20, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N13 --> N3 - N13 --> N50 - N14["`**14** @(24, 1) -@function.defs -line 56 column 18`"] - N14 --> N21 - N15["`**15** @(28, 1) + N13 --> N66 + N14["`**14** @(20, 1) +@function.def +line 71 column 18`"] + N14 --> N23 + N15["`**15** @(24, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N15 --> N3 - N15 --> N52 - N16["`**16** @(28, 1) -@function.defs -line 56 column 18`"] - N16 --> N22 - N17[\"`**Test** @(3, 1) + N15 --> N68 + N16["`**16** @(24, 1) +@function.def +line 71 column 18`"] + N16 --> N24 + N17["`**17** @(28, 1) +@function.lexical_scope +line 70 column 18`"] + N17 --> N3 + N17 --> N70 + N18["`**18** @(28, 1) +@function.def +line 71 column 18`"] + N18 --> N25 + N19[\"`**Test** @(3, 1) def -line 111 column 8`"/] - N18[\"`**setGoStraight** @(9, 1) +line 126 column 8`"/] + N19 --> N20 + N20[\"`**.** @(3, 1) +member +line 133 column 8`"/] + N20 --> N5 + N21[\"`**setGoStraight** @(9, 1) def -line 132 column 8`"/] - N19[\"`**getChoice** @(13, 1) +line 167 column 8`"/] + N22[\"`**getChoice** @(13, 1) def -line 132 column 8`"/] - N20[\"`**getDefaultChoice** @(20, 1) +line 167 column 8`"/] + N23[\"`**getDefaultChoice** @(20, 1) def -line 132 column 8`"/] - N21[\"`**getLargestValue** @(24, 1) +line 167 column 8`"/] + N24[\"`**getLargestValue** @(24, 1) def -line 132 column 8`"/] - N22[\"`**getSmallestValue** @(28, 1) +line 167 column 8`"/] + N25[\"`**getSmallestValue** @(28, 1) def -line 132 column 8`"/] - N23["`**23** @(6, 1) -@type_name.type -line 144 column 19`"] - N23 --> N73 - N24["`**24** @(8, 1) -@type_name.type -line 144 column 19`"] - N24 --> N75 - N25["`**25** @(17, 47) -@type_name.type -line 144 column 19`"] - N25 --> N45 - N26["`**26** @(21, 54) -@type_name.type -line 144 column 19`"] - N26 --> N47 - N27["`**27** @(25, 53) -@type_name.type -line 144 column 19`"] - N27 --> N49 - N28["`**28** @(26, 21) -@type_name.type -line 144 column 19`"] - N28 --> N112 - N29["`**29** @(29, 54) -@type_name.type -line 144 column 19`"] - N29 --> N51 - N30["`**30** @(30, 21) -@type_name.type -line 144 column 19`"] - N30 --> N116 - N31["`**31** @(6, 1) -@id_path.ref -line 148 column 17`"] - N31 --> N23 - N32["`**32** @(8, 1) -@id_path.ref -line 148 column 17`"] - N32 --> N24 - N33["`**33** @(17, 47) -@id_path.ref -line 148 column 17`"] - N33 --> N25 +line 167 column 8`"/] + N26["`**26** @(6, 1) +@type_name.type_ref +line 180 column 19`"] + N26 --> N91 + N27["`**27** @(6, 1) +@type_name.output +line 184 column 19`"] + N27 --> N43 + N28["`**28** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N28 --> N93 + N29["`**29** @(8, 1) +@type_name.output +line 184 column 19`"] + N29 --> N45 + N30["`**30** @(17, 47) +@type_name.type_ref +line 180 column 19`"] + N30 --> N63 + N31["`**31** @(17, 47) +@type_name.output +line 184 column 19`"] + N31 --> N47 + N32["`**32** @(21, 54) +@type_name.type_ref +line 180 column 19`"] + N32 --> N65 + N33["`**33** @(21, 54) +@type_name.output +line 184 column 19`"] N34["`**34** @(25, 53) -@id_path.ref -line 148 column 17`"] - N34 --> N27 - N35["`**35** @(26, 21) -@id_path.ref -line 148 column 17`"] - N35 --> N28 - N36["`**36** @(29, 54) -@id_path.ref -line 148 column 17`"] - N36 --> N29 - N37["`**37** @(30, 21) -@id_path.ref -line 148 column 17`"] - N37 --> N30 - N38[/"`**ActionChoices** @(6, 1) +@type_name.type_ref +line 180 column 19`"] + N34 --> N67 + N35["`**35** @(25, 53) +@type_name.output +line 184 column 19`"] + N35 --> N49 + N36["`**36** @(26, 21) +@type_name.type_ref +line 180 column 19`"] + N36 --> N127 + N37["`**37** @(26, 21) +@type_name.output +line 184 column 19`"] + N37 --> N51 + N38["`**38** @(29, 54) +@type_name.type_ref +line 180 column 19`"] + N38 --> N69 + N39["`**39** @(29, 54) +@type_name.output +line 184 column 19`"] + N39 --> N53 + N40["`**40** @(30, 21) +@type_name.type_ref +line 180 column 19`"] + N40 --> N131 + N41["`**41** @(30, 21) +@type_name.output +line 184 column 19`"] + N41 --> N55 + N42["`**42** @(6, 1) +@id_path.left +line 188 column 17`"] + N42 --> N26 + N43["`**43** @(6, 1) +@id_path.right +line 189 column 17`"] + N43 --> N56 + N44["`**44** @(8, 1) +@id_path.left +line 188 column 17`"] + N44 --> N28 + N45["`**45** @(8, 1) +@id_path.right +line 189 column 17`"] + N45 --> N57 + N46["`**46** @(17, 47) +@id_path.left +line 188 column 17`"] + N46 --> N30 + N47["`**47** @(17, 47) +@id_path.right +line 189 column 17`"] + N47 --> N58 + N48["`**48** @(25, 53) +@id_path.left +line 188 column 17`"] + N48 --> N34 + N49["`**49** @(25, 53) +@id_path.right +line 189 column 17`"] + N49 --> N59 + N50["`**50** @(26, 21) +@id_path.left +line 188 column 17`"] + N50 --> N36 + N51["`**51** @(26, 21) +@id_path.right +line 189 column 17`"] + N51 --> N60 + N52["`**52** @(29, 54) +@id_path.left +line 188 column 17`"] + N52 --> N38 + N53["`**53** @(29, 54) +@id_path.right +line 189 column 17`"] + N53 --> N61 + N54["`**54** @(30, 21) +@id_path.left +line 188 column 17`"] + N54 --> N40 + N55["`**55** @(30, 21) +@id_path.right +line 189 column 17`"] + N55 --> N62 + N56[/"`**ActionChoices** @(6, 1) @name.ref -line 156 column 14`"\] - N38 --> N31 - N39[/"`**ActionChoices** @(8, 1) +line 205 column 14`"\] + N56 --> N42 + N57[/"`**ActionChoices** @(8, 1) @name.ref -line 156 column 14`"\] - N39 --> N32 - N40[/"`**ActionChoices** @(17, 47) +line 205 column 14`"\] + N57 --> N44 + N58[/"`**ActionChoices** @(17, 47) @name.ref -line 156 column 14`"\] - N40 --> N33 - N41[/"`**ActionChoices** @(25, 53) +line 205 column 14`"\] + N58 --> N46 + N59[/"`**ActionChoices** @(25, 53) @name.ref -line 156 column 14`"\] - N41 --> N34 - N42[/"`**ActionChoices** @(26, 21) +line 205 column 14`"\] + N59 --> N48 + N60[/"`**ActionChoices** @(26, 21) @name.ref -line 156 column 14`"\] - N42 --> N35 - N43[/"`**ActionChoices** @(29, 54) +line 205 column 14`"\] + N60 --> N50 + N61[/"`**ActionChoices** @(29, 54) @name.ref -line 156 column 14`"\] - N43 --> N36 - N44[/"`**ActionChoices** @(30, 21) +line 205 column 14`"\] + N61 --> N52 + N62[/"`**ActionChoices** @(30, 21) @name.ref -line 156 column 14`"\] - N44 --> N37 - N45["`**45** @(17, 47) +line 205 column 14`"\] + N62 --> N54 + N63["`**63** @(17, 47) @param.lexical_scope -line 178 column 15`"] - N45 --> N9 - N46["`**46** @(17, 47) -@param.defs -line 179 column 15`"] - N47["`**47** @(21, 54) +line 231 column 15`"] + N63 --> N11 + N64["`**64** @(17, 47) +@param.def +line 232 column 15`"] + N65["`**65** @(21, 54) @param.lexical_scope -line 178 column 15`"] - N47 --> N11 - N48["`**48** @(21, 54) -@param.defs -line 179 column 15`"] - N49["`**49** @(25, 53) +line 231 column 15`"] + N65 --> N13 + N66["`**66** @(21, 54) +@param.def +line 232 column 15`"] + N67["`**67** @(25, 53) @param.lexical_scope -line 178 column 15`"] - N49 --> N13 - N50["`**50** @(25, 53) -@param.defs -line 179 column 15`"] - N51["`**51** @(29, 54) +line 231 column 15`"] + N67 --> N15 + N68["`**68** @(25, 53) +@param.def +line 232 column 15`"] + N69["`**69** @(29, 54) @param.lexical_scope -line 178 column 15`"] - N51 --> N15 - N52["`**52** @(29, 54) -@param.defs -line 179 column 15`"] - N53["`**53** @(10, 36) +line 231 column 15`"] + N69 --> N17 + N70["`**70** @(29, 54) +@param.def +line 232 column 15`"] + N71["`**71** @(10, 36) @block.lexical_scope -line 265 column 15`"] - N53 --> N7 - N54["`**54** @(10, 36) +line 316 column 15`"] + N71 --> N9 + N72["`**72** @(10, 36) @block.defs -line 266 column 15`"] - N55["`**55** @(17, 61) +line 317 column 15`"] + N73["`**73** @(17, 61) @block.lexical_scope -line 265 column 15`"] - N55 --> N9 - N56["`**56** @(17, 61) +line 316 column 15`"] + N73 --> N11 + N74["`**74** @(17, 61) @block.defs -line 266 column 15`"] - N57["`**57** @(21, 59) +line 317 column 15`"] + N75["`**75** @(21, 59) @block.lexical_scope -line 265 column 15`"] - N57 --> N11 - N58["`**58** @(21, 59) +line 316 column 15`"] + N75 --> N13 + N76["`**76** @(21, 59) @block.defs -line 266 column 15`"] - N59["`**59** @(25, 67) +line 317 column 15`"] + N77["`**77** @(25, 67) @block.lexical_scope -line 265 column 15`"] - N59 --> N13 - N60["`**60** @(25, 67) +line 316 column 15`"] + N77 --> N15 + N78["`**78** @(25, 67) @block.defs -line 266 column 15`"] - N61["`**61** @(29, 68) +line 317 column 15`"] + N79["`**79** @(29, 68) @block.lexical_scope -line 265 column 15`"] - N61 --> N15 - N62["`**62** @(29, 68) +line 316 column 15`"] + N79 --> N17 + N80["`**80** @(29, 68) @block.defs -line 266 column 15`"] - N63["`**63** @(11, 1) +line 317 column 15`"] + N81["`**81** @(11, 1) @stmt.lexical_scope -line 270 column 14`"] - N63 --> N53 - N63 --> N64 - N64["`**64** @(11, 1) +line 321 column 14`"] + N81 --> N71 + N81 --> N82 + N82["`**82** @(11, 1) @stmt.defs -line 271 column 14`"] - N65["`**65** @(18, 1) +line 322 column 14`"] + N83["`**83** @(18, 1) @stmt.lexical_scope -line 270 column 14`"] - N65 --> N55 - N65 --> N66 - N66["`**66** @(18, 1) +line 321 column 14`"] + N83 --> N73 + N83 --> N84 + N84["`**84** @(18, 1) @stmt.defs -line 271 column 14`"] - N67["`**67** @(22, 1) +line 322 column 14`"] + N85["`**85** @(22, 1) @stmt.lexical_scope -line 270 column 14`"] - N67 --> N57 - N67 --> N68 - N68["`**68** @(22, 1) +line 321 column 14`"] + N85 --> N75 + N85 --> N86 + N86["`**86** @(22, 1) @stmt.defs -line 271 column 14`"] - N69["`**69** @(26, 1) +line 322 column 14`"] + N87["`**87** @(26, 1) @stmt.lexical_scope -line 270 column 14`"] - N69 --> N59 - N69 --> N70 - N70["`**70** @(26, 1) +line 321 column 14`"] + N87 --> N77 + N87 --> N88 + N88["`**88** @(26, 1) @stmt.defs -line 271 column 14`"] - N71["`**71** @(30, 1) +line 322 column 14`"] + N89["`**89** @(30, 1) @stmt.lexical_scope -line 270 column 14`"] - N71 --> N61 - N71 --> N72 - N72["`**72** @(30, 1) +line 321 column 14`"] + N89 --> N79 + N89 --> N90 + N90["`**90** @(30, 1) @stmt.defs -line 271 column 14`"] - N73["`**73** @(6, 1) +line 322 column 14`"] + N91["`**91** @(6, 1) @state_var.lexical_scope -line 370 column 19`"] - N73 --> N3 - N74["`**74** @(6, 1) -@state_var.defs -line 371 column 19`"] - N74 --> N77 - N75["`**75** @(8, 1) +line 441 column 19`"] + N91 --> N3 + N92["`**92** @(6, 1) +@state_var.def +line 442 column 19`"] + N92 --> N95 + N93["`**93** @(8, 1) @state_var.lexical_scope -line 370 column 19`"] - N75 --> N3 - N76["`**76** @(8, 1) -@state_var.defs -line 371 column 19`"] - N76 --> N79 - N77[\"`**choice** @(6, 1) +line 441 column 19`"] + N93 --> N3 + N94["`**94** @(8, 1) +@state_var.def +line 442 column 19`"] + N94 --> N97 + N95[\"`**choice** @(6, 1) def -line 381 column 8`"/] - N77 --> N78 - N78[\"`**@typeof** @(6, 1) +line 452 column 8`"/] + N95 --> N96 + N96[/"`**@typeof** @(6, 1) typeof -line 389 column 8`"/] - N78 --> N23 - N79[\"`**defaultChoice** @(8, 1) +line 458 column 8`"\] + N96 --> N27 + N97[\"`**defaultChoice** @(8, 1) def -line 381 column 8`"/] - N79 --> N80 - N80[\"`**@typeof** @(8, 1) +line 452 column 8`"/] + N97 --> N98 + N98[/"`**@typeof** @(8, 1) typeof -line 389 column 8`"/] - N80 --> N24 - N81[\"`**ActionChoices** @(5, 1) -@name.def -line 414 column 14`"/] - N81 --> N82 - N81 --> N84 - N81 --> N86 - N81 --> N88 - N82[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N82 --> N83 - N83[\"`**GoLeft** @(5, 1) +line 458 column 8`"\] + N98 --> N29 + N99[\"`**ActionChoices** @(5, 1) def -line 431 column 8`"/] - N84[\"`**.** @(5, 1) +line 483 column 8`"/] + N99 --> N100 + N100[\"`**.** @(5, 1) member -line 427 column 8`"/] - N84 --> N85 - N85[\"`**GoRight** @(5, 1) +line 488 column 8`"/] + N100 --> N8 + N101[\"`**GoLeft** @(5, 1) def -line 431 column 8`"/] - N86[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N86 --> N87 - N87[\"`**GoStraight** @(5, 1) +line 500 column 8`"/] + N102[\"`**GoRight** @(5, 1) def -line 431 column 8`"/] - N88[\"`**.** @(5, 1) -member -line 427 column 8`"/] - N88 --> N89 - N89[\"`**SitStill** @(5, 1) +line 500 column 8`"/] + N103[\"`**GoStraight** @(5, 1) def -line 431 column 8`"/] - N90["`**90** @(8, 43) +line 500 column 8`"/] + N104[\"`**SitStill** @(5, 1) +def +line 500 column 8`"/] + N105["`**105** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N90 --> N75 - N91["`**91** @(8, 43) -@expr.type -line 503 column 14`"] - N92["`**92** @(8, 43) +line 617 column 14`"] + N105 --> N93 + N106["`**106** @(8, 43) +@expr.output +line 619 column 14`"] + N106 --> N138 + N107["`**107** @(8, 43) @expr.lexical_scope -line 501 column 14`"] - N92 --> N90 - N93["`**93** @(8, 43) -@expr.type -line 503 column 14`"] - N93 --> N118 - N94["`**94** @(11, 1) +line 617 column 14`"] + N107 --> N105 + N108["`**108** @(8, 43) +@expr.output +line 619 column 14`"] + N108 --> N133 + N109["`**109** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N94 --> N63 - N95["`**95** @(11, 1) -@expr.type -line 503 column 14`"] - N96["`**96** @(11, 1) +line 617 column 14`"] + N109 --> N81 + N110["`**110** @(11, 1) +@expr.output +line 619 column 14`"] + N111["`**111** @(11, 1) @expr.lexical_scope -line 501 column 14`"] - N96 --> N94 - N97["`**97** @(11, 1) -@expr.type -line 503 column 14`"] - N97 --> N119 - N98["`**98** @(11, 17) +line 617 column 14`"] + N111 --> N109 + N112["`**112** @(11, 1) +@expr.output +line 619 column 14`"] + N112 --> N134 + N113["`**113** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N98 --> N94 - N99["`**99** @(11, 17) -@expr.type -line 503 column 14`"] - N100["`**100** @(11, 17) +line 617 column 14`"] + N113 --> N109 + N114["`**114** @(11, 17) +@expr.output +line 619 column 14`"] + N114 --> N140 + N115["`**115** @(11, 17) @expr.lexical_scope -line 501 column 14`"] - N100 --> N98 - N101["`**101** @(11, 17) -@expr.type -line 503 column 14`"] - N101 --> N120 - N102["`**102** @(18, 15) +line 617 column 14`"] + N115 --> N113 + N116["`**116** @(11, 17) +@expr.output +line 619 column 14`"] + N116 --> N135 + N117["`**117** @(18, 15) @expr.lexical_scope -line 501 column 14`"] - N102 --> N65 - N103["`**103** @(18, 15) -@expr.type -line 503 column 14`"] - N103 --> N121 - N104["`**104** @(22, 15) +line 617 column 14`"] + N117 --> N83 + N118["`**118** @(18, 15) +@expr.output +line 619 column 14`"] + N118 --> N136 + N119["`**119** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N104 --> N67 - N105["`**105** @(22, 15) -@expr.type -line 503 column 14`"] - N106["`**106** @(22, 15) +line 617 column 14`"] + N119 --> N85 + N120["`**120** @(22, 15) +@expr.output +line 619 column 14`"] + N121["`**121** @(22, 15) @expr.lexical_scope -line 501 column 14`"] - N106 --> N104 - N107["`**107** @(22, 15) -@expr.type -line 503 column 14`"] - N108["`**108** @(22, 21) +line 617 column 14`"] + N121 --> N119 + N122["`**122** @(22, 15) +@expr.output +line 619 column 14`"] + N123["`**123** @(22, 21) @expr.lexical_scope -line 501 column 14`"] - N108 --> N135 - N109["`**109** @(22, 21) -@expr.type -line 503 column 14`"] - N109 --> N122 - N110["`**110** @(26, 15) +line 617 column 14`"] + N123 --> N146 + N124["`**124** @(22, 21) +@expr.output +line 619 column 14`"] + N124 --> N137 + N125["`**125** @(26, 15) @expr.lexical_scope -line 501 column 14`"] - N110 --> N69 - N111["`**111** @(26, 15) -@expr.type -line 503 column 14`"] - N112["`**112** @(26, 15) +line 617 column 14`"] + N125 --> N87 + N126["`**126** @(26, 15) +@expr.output +line 619 column 14`"] + N126 --> N142 + N127["`**127** @(26, 15) @expr.lexical_scope -line 501 column 14`"] - N112 --> N110 - N113["`**113** @(26, 15) -@expr.type -line 503 column 14`"] - N114["`**114** @(30, 15) +line 617 column 14`"] + N127 --> N125 + N128["`**128** @(26, 15) +@expr.output +line 619 column 14`"] + N129["`**129** @(30, 15) @expr.lexical_scope -line 501 column 14`"] - N114 --> N71 - N115["`**115** @(30, 15) -@expr.type -line 503 column 14`"] - N116["`**116** @(30, 15) +line 617 column 14`"] + N129 --> N89 + N130["`**130** @(30, 15) +@expr.output +line 619 column 14`"] + N130 --> N144 + N131["`**131** @(30, 15) @expr.lexical_scope -line 501 column 14`"] - N116 --> N114 - N117["`**117** @(30, 15) -@expr.type -line 503 column 14`"] - N118[/"`**ActionChoices** @(8, 43) -@name.ref -line 507 column 14`"\] - N118 --> N92 - N119[/"`**choice** @(11, 1) -@name.ref -line 507 column 14`"\] - N119 --> N96 - N120[/"`**ActionChoices** @(11, 17) -@name.ref -line 507 column 14`"\] - N120 --> N100 - N121[/"`**choice** @(18, 15) -@name.ref -line 507 column 14`"\] - N121 --> N102 - N122[/"`**defaultChoice** @(22, 21) -@name.ref -line 507 column 14`"\] - N122 --> N108 - N123["`**123** @(8, 58) -@member.lexical_scope -line 545 column 16`"] - N123 --> N131 - N124["`**124** @(11, 32) -@member.lexical_scope -line 545 column 16`"] - N124 --> N132 - N125["`**125** @(26, 36) -@member.lexical_scope -line 545 column 16`"] - N125 --> N133 - N126["`**126** @(30, 36) -@member.lexical_scope -line 545 column 16`"] - N126 --> N134 - N127[/"`**GoStraight** @(8, 58) +line 617 column 14`"] + N131 --> N129 + N132["`**132** @(30, 15) +@expr.output +line 619 column 14`"] + N133[/"`**ActionChoices** @(8, 43) +ref +line 655 column 8`"\] + N133 --> N107 + N134[/"`**choice** @(11, 1) +ref +line 655 column 8`"\] + N134 --> N111 + N135[/"`**ActionChoices** @(11, 17) ref -line 549 column 8`"\] - N127 --> N123 - N128[/"`**GoStraight** @(11, 32) +line 655 column 8`"\] + N135 --> N115 + N136[/"`**choice** @(18, 15) ref -line 549 column 8`"\] - N128 --> N124 - N129[/"`**max** @(26, 36) +line 655 column 8`"\] + N136 --> N117 + N137[/"`**defaultChoice** @(22, 21) ref -line 549 column 8`"\] - N129 --> N125 - N130[/"`**min** @(30, 36) +line 655 column 8`"\] + N137 --> N123 + N138[/"`**GoStraight** @(8, 43) ref -line 549 column 8`"\] - N130 --> N126 - N131[/"`**.** @(8, 43) +line 673 column 8`"\] + N138 --> N139 + N139[/"`**.** @(8, 43) member -line 564 column 8`"\] - N131 --> N93 - N132[/"`**.** @(11, 17) +line 676 column 8`"\] + N139 --> N108 + N140[/"`**GoStraight** @(11, 17) +ref +line 673 column 8`"\] + N140 --> N141 + N141[/"`**.** @(11, 17) member -line 564 column 8`"\] - N132 --> N101 - N133[/"`**.** @(26, 15) +line 676 column 8`"\] + N141 --> N116 + N142[/"`**max** @(26, 15) +ref +line 673 column 8`"\] + N142 --> N143 + N143[/"`**.** @(26, 15) member -line 564 column 8`"\] - N133 --> N113 - N134[/"`**.** @(30, 15) +line 676 column 8`"\] + N143 --> N128 + N144[/"`**min** @(30, 15) +ref +line 673 column 8`"\] + N144 --> N145 + N145[/"`**.** @(30, 15) member -line 564 column 8`"\] - N134 --> N117 - N135["`**135** @(22, 20) +line 676 column 8`"\] + N145 --> N132 + N146["`**146** @(22, 20) @args.lexical_scope -line 574 column 14`"] - N135 --> N104 +line 691 column 14`"] + N146 --> N119 diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.mmd index 67849dfb5..7ce899df0 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.4.11.mmd @@ -14,189 +14,216 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N35 + N3 --> N5 + N3 --> N43 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N19 - N5 --> N21 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(3, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(6, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N23 - N7 --> N25 - N7 --> N27 +line 70 column 18`"] + N6 --> N3 + N6 --> N27 + N6 --> N29 + N7["`**7** @(3, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(6, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Test** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N31 + N8 --> N33 + N8 --> N35 + N9["`**9** @(6, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**someFunc** @(3, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**someFunc** @(3, 1) def -line 132 column 8`"/] - N11[\"`**add** @(6, 1) +line 167 column 8`"/] + N13[\"`**add** @(6, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 1) -@type_name.type -line 144 column 19`"] - N12 --> N34 - N13["`**13** @(3, 23) -@type_name.type -line 144 column 19`"] - N13 --> N18 - N14["`**14** @(3, 39) -@type_name.type -line 144 column 19`"] - N14 --> N20 - N15["`**15** @(6, 18) -@type_name.type -line 144 column 19`"] - N15 --> N22 - N16["`**16** @(6, 22) -@type_name.type -line 144 column 19`"] - N16 --> N24 - N17["`**17** @(6, 37) -@type_name.type -line 144 column 19`"] - N17 --> N26 - N18["`**18** @(3, 23) +line 167 column 8`"/] + N14["`**14** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N42 + N15["`**15** @(2, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(3, 23) +@type_name.type_ref +line 180 column 19`"] + N16 --> N26 + N17["`**17** @(3, 23) +@type_name.output +line 184 column 19`"] + N18["`**18** @(3, 39) +@type_name.type_ref +line 180 column 19`"] + N18 --> N28 + N19["`**19** @(3, 39) +@type_name.output +line 184 column 19`"] + N20["`**20** @(6, 18) +@type_name.type_ref +line 180 column 19`"] + N20 --> N30 + N21["`**21** @(6, 18) +@type_name.output +line 184 column 19`"] + N22["`**22** @(6, 22) +@type_name.type_ref +line 180 column 19`"] + N22 --> N32 + N23["`**23** @(6, 22) +@type_name.output +line 184 column 19`"] + N24["`**24** @(6, 37) +@type_name.type_ref +line 180 column 19`"] + N24 --> N34 + N25["`**25** @(6, 37) +@type_name.output +line 184 column 19`"] + N26["`**26** @(3, 23) @param.lexical_scope -line 178 column 15`"] - N18 --> N5 - N19["`**19** @(3, 23) -@param.defs -line 179 column 15`"] - N19 --> N28 - N20["`**20** @(3, 39) +line 231 column 15`"] + N26 --> N6 + N27["`**27** @(3, 23) +@param.def +line 232 column 15`"] + N27 --> N36 + N28["`**28** @(3, 39) @param.lexical_scope -line 178 column 15`"] - N20 --> N5 - N21["`**21** @(3, 39) -@param.defs -line 179 column 15`"] - N22["`**22** @(6, 18) +line 231 column 15`"] + N28 --> N6 + N29["`**29** @(3, 39) +@param.def +line 232 column 15`"] + N30["`**30** @(6, 18) @param.lexical_scope -line 178 column 15`"] - N22 --> N7 - N23["`**23** @(6, 18) -@param.defs -line 179 column 15`"] - N24["`**24** @(6, 22) +line 231 column 15`"] + N30 --> N8 + N31["`**31** @(6, 18) +@param.def +line 232 column 15`"] + N32["`**32** @(6, 22) @param.lexical_scope -line 178 column 15`"] - N24 --> N7 - N25["`**25** @(6, 22) -@param.defs -line 179 column 15`"] - N26["`**26** @(6, 37) +line 231 column 15`"] + N32 --> N8 + N33["`**33** @(6, 22) +@param.def +line 232 column 15`"] + N34["`**34** @(6, 37) @param.lexical_scope -line 178 column 15`"] - N26 --> N7 - N27["`**27** @(6, 37) -@param.defs -line 179 column 15`"] - N28[\"`**x** @(3, 23) +line 231 column 15`"] + N34 --> N8 + N35["`**35** @(6, 37) +@param.def +line 232 column 15`"] + N36[\"`**x** @(3, 23) def -line 187 column 8`"/] - N28 --> N29 - N29[\"`**@typeof** @(3, 23) +line 240 column 8`"/] + N36 --> N37 + N37[/"`**@typeof** @(3, 23) typeof -line 194 column 8`"/] - N29 --> N13 - N30["`**30** @(3, 43) +line 245 column 8`"\] + N37 --> N17 + N38["`**38** @(3, 43) @block.lexical_scope -line 265 column 15`"] - N30 --> N5 - N30 --> N33 - N31["`**31** @(3, 43) +line 316 column 15`"] + N38 --> N6 + N38 --> N41 + N39["`**39** @(3, 43) @block.defs -line 266 column 15`"] - N31 --> N33 - N32["`**32** @(4, 1) +line 317 column 15`"] + N39 --> N41 + N40["`**40** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N32 --> N30 - N33["`**33** @(4, 1) +line 321 column 14`"] + N40 --> N38 + N41["`**41** @(4, 1) @stmt.defs -line 271 column 14`"] - N34["`**34** @(2, 1) +line 322 column 14`"] + N42["`**42** @(2, 1) @state_var.lexical_scope -line 370 column 19`"] - N34 --> N3 - N35["`**35** @(2, 1) -@state_var.defs -line 371 column 19`"] - N35 --> N36 - N36[\"`**y** @(2, 1) +line 441 column 19`"] + N42 --> N3 + N43["`**43** @(2, 1) +@state_var.def +line 442 column 19`"] + N43 --> N44 + N44[\"`**y** @(2, 1) def -line 381 column 8`"/] - N36 --> N37 - N37[\"`**@typeof** @(2, 1) +line 452 column 8`"/] + N44 --> N45 + N45[/"`**@typeof** @(2, 1) typeof -line 389 column 8`"/] - N37 --> N12 - N38["`**38** @(4, 15) +line 458 column 8`"\] + N45 --> N15 + N46["`**46** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N38 --> N32 - N39["`**39** @(4, 15) -@expr.type -line 503 column 14`"] - N40["`**40** @(4, 15) +line 617 column 14`"] + N46 --> N40 + N47["`**47** @(4, 15) +@expr.output +line 619 column 14`"] + N48["`**48** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N40 --> N38 - N41["`**41** @(4, 15) -@expr.type -line 503 column 14`"] - N41 --> N46 - N42["`**42** @(4, 20) +line 617 column 14`"] + N48 --> N46 + N49["`**49** @(4, 15) +@expr.output +line 619 column 14`"] + N49 --> N54 + N50["`**50** @(4, 20) @expr.lexical_scope -line 501 column 14`"] - N42 --> N49 - N43["`**43** @(4, 20) -@expr.type -line 503 column 14`"] - N43 --> N47 - N44["`**44** @(4, 22) +line 617 column 14`"] + N50 --> N57 + N51["`**51** @(4, 20) +@expr.output +line 619 column 14`"] + N51 --> N55 + N52["`**52** @(4, 22) @expr.lexical_scope -line 501 column 14`"] - N44 --> N49 - N45["`**45** @(4, 22) -@expr.type -line 503 column 14`"] - N45 --> N48 - N46[/"`**add** @(4, 15) -@name.ref -line 507 column 14`"\] - N46 --> N40 - N47[/"`**x** @(4, 20) -@name.ref -line 507 column 14`"\] - N47 --> N42 - N48[/"`**y** @(4, 22) -@name.ref -line 507 column 14`"\] - N48 --> N44 - N49["`**49** @(4, 19) +line 617 column 14`"] + N52 --> N57 + N53["`**53** @(4, 22) +@expr.output +line 619 column 14`"] + N53 --> N56 + N54[/"`**add** @(4, 15) +ref +line 655 column 8`"\] + N54 --> N48 + N55[/"`**x** @(4, 20) +ref +line 655 column 8`"\] + N55 --> N50 + N56[/"`**y** @(4, 22) +ref +line 655 column 8`"\] + N56 --> N52 + N57["`**57** @(4, 19) @args.lexical_scope -line 574 column 14`"] - N49 --> N38 +line 691 column 14`"] + N57 --> N46 diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.5.0.mmd index e5d56a81d..abb7d0e12 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls/generated/0.5.0.mmd @@ -14,188 +14,215 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 - N3 --> N35 + N3 --> N5 + N3 --> N43 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N19 - N5 --> N21 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(3, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(6, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N23 - N7 --> N25 - N7 --> N27 +line 70 column 18`"] + N6 --> N3 + N6 --> N27 + N6 --> N29 + N7["`**7** @(3, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(6, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Test** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N31 + N8 --> N33 + N8 --> N35 + N9["`**9** @(6, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**someFunc** @(3, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**someFunc** @(3, 1) def -line 132 column 8`"/] - N11[\"`**add** @(6, 1) +line 167 column 8`"/] + N13[\"`**add** @(6, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 1) -@type_name.type -line 144 column 19`"] - N12 --> N34 - N13["`**13** @(3, 23) -@type_name.type -line 144 column 19`"] - N13 --> N18 - N14["`**14** @(3, 39) -@type_name.type -line 144 column 19`"] - N14 --> N20 - N15["`**15** @(6, 18) -@type_name.type -line 144 column 19`"] - N15 --> N22 - N16["`**16** @(6, 22) -@type_name.type -line 144 column 19`"] - N16 --> N24 - N17["`**17** @(6, 37) -@type_name.type -line 144 column 19`"] - N17 --> N26 - N18["`**18** @(3, 23) +line 167 column 8`"/] + N14["`**14** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N42 + N15["`**15** @(2, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(3, 23) +@type_name.type_ref +line 180 column 19`"] + N16 --> N26 + N17["`**17** @(3, 23) +@type_name.output +line 184 column 19`"] + N18["`**18** @(3, 39) +@type_name.type_ref +line 180 column 19`"] + N18 --> N28 + N19["`**19** @(3, 39) +@type_name.output +line 184 column 19`"] + N20["`**20** @(6, 18) +@type_name.type_ref +line 180 column 19`"] + N20 --> N30 + N21["`**21** @(6, 18) +@type_name.output +line 184 column 19`"] + N22["`**22** @(6, 22) +@type_name.type_ref +line 180 column 19`"] + N22 --> N32 + N23["`**23** @(6, 22) +@type_name.output +line 184 column 19`"] + N24["`**24** @(6, 37) +@type_name.type_ref +line 180 column 19`"] + N24 --> N34 + N25["`**25** @(6, 37) +@type_name.output +line 184 column 19`"] + N26["`**26** @(3, 23) @param.lexical_scope -line 178 column 15`"] - N18 --> N5 - N19["`**19** @(3, 23) -@param.defs -line 179 column 15`"] - N19 --> N28 - N20["`**20** @(3, 39) +line 231 column 15`"] + N26 --> N6 + N27["`**27** @(3, 23) +@param.def +line 232 column 15`"] + N27 --> N36 + N28["`**28** @(3, 39) @param.lexical_scope -line 178 column 15`"] - N20 --> N5 - N21["`**21** @(3, 39) -@param.defs -line 179 column 15`"] - N22["`**22** @(6, 18) +line 231 column 15`"] + N28 --> N6 + N29["`**29** @(3, 39) +@param.def +line 232 column 15`"] + N30["`**30** @(6, 18) @param.lexical_scope -line 178 column 15`"] - N22 --> N7 - N23["`**23** @(6, 18) -@param.defs -line 179 column 15`"] - N24["`**24** @(6, 22) +line 231 column 15`"] + N30 --> N8 + N31["`**31** @(6, 18) +@param.def +line 232 column 15`"] + N32["`**32** @(6, 22) @param.lexical_scope -line 178 column 15`"] - N24 --> N7 - N25["`**25** @(6, 22) -@param.defs -line 179 column 15`"] - N26["`**26** @(6, 37) +line 231 column 15`"] + N32 --> N8 + N33["`**33** @(6, 22) +@param.def +line 232 column 15`"] + N34["`**34** @(6, 37) @param.lexical_scope -line 178 column 15`"] - N26 --> N7 - N27["`**27** @(6, 37) -@param.defs -line 179 column 15`"] - N28[\"`**x** @(3, 23) +line 231 column 15`"] + N34 --> N8 + N35["`**35** @(6, 37) +@param.def +line 232 column 15`"] + N36[\"`**x** @(3, 23) def -line 187 column 8`"/] - N28 --> N29 - N29[\"`**@typeof** @(3, 23) +line 240 column 8`"/] + N36 --> N37 + N37[/"`**@typeof** @(3, 23) typeof -line 194 column 8`"/] - N29 --> N13 - N30["`**30** @(3, 43) +line 245 column 8`"\] + N37 --> N17 + N38["`**38** @(3, 43) @block.lexical_scope -line 265 column 15`"] - N30 --> N5 - N31["`**31** @(3, 43) +line 316 column 15`"] + N38 --> N6 + N39["`**39** @(3, 43) @block.defs -line 266 column 15`"] - N32["`**32** @(4, 1) +line 317 column 15`"] + N40["`**40** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N32 --> N30 - N32 --> N33 - N33["`**33** @(4, 1) +line 321 column 14`"] + N40 --> N38 + N40 --> N41 + N41["`**41** @(4, 1) @stmt.defs -line 271 column 14`"] - N34["`**34** @(2, 1) +line 322 column 14`"] + N42["`**42** @(2, 1) @state_var.lexical_scope -line 370 column 19`"] - N34 --> N3 - N35["`**35** @(2, 1) -@state_var.defs -line 371 column 19`"] - N35 --> N36 - N36[\"`**y** @(2, 1) +line 441 column 19`"] + N42 --> N3 + N43["`**43** @(2, 1) +@state_var.def +line 442 column 19`"] + N43 --> N44 + N44[\"`**y** @(2, 1) def -line 381 column 8`"/] - N36 --> N37 - N37[\"`**@typeof** @(2, 1) +line 452 column 8`"/] + N44 --> N45 + N45[/"`**@typeof** @(2, 1) typeof -line 389 column 8`"/] - N37 --> N12 - N38["`**38** @(4, 15) +line 458 column 8`"\] + N45 --> N15 + N46["`**46** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N38 --> N32 - N39["`**39** @(4, 15) -@expr.type -line 503 column 14`"] - N40["`**40** @(4, 15) +line 617 column 14`"] + N46 --> N40 + N47["`**47** @(4, 15) +@expr.output +line 619 column 14`"] + N48["`**48** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N40 --> N38 - N41["`**41** @(4, 15) -@expr.type -line 503 column 14`"] - N41 --> N46 - N42["`**42** @(4, 20) +line 617 column 14`"] + N48 --> N46 + N49["`**49** @(4, 15) +@expr.output +line 619 column 14`"] + N49 --> N54 + N50["`**50** @(4, 20) @expr.lexical_scope -line 501 column 14`"] - N42 --> N49 - N43["`**43** @(4, 20) -@expr.type -line 503 column 14`"] - N43 --> N47 - N44["`**44** @(4, 22) +line 617 column 14`"] + N50 --> N57 + N51["`**51** @(4, 20) +@expr.output +line 619 column 14`"] + N51 --> N55 + N52["`**52** @(4, 22) @expr.lexical_scope -line 501 column 14`"] - N44 --> N49 - N45["`**45** @(4, 22) -@expr.type -line 503 column 14`"] - N45 --> N48 - N46[/"`**add** @(4, 15) -@name.ref -line 507 column 14`"\] - N46 --> N40 - N47[/"`**x** @(4, 20) -@name.ref -line 507 column 14`"\] - N47 --> N42 - N48[/"`**y** @(4, 22) -@name.ref -line 507 column 14`"\] - N48 --> N44 - N49["`**49** @(4, 19) +line 617 column 14`"] + N52 --> N57 + N53["`**53** @(4, 22) +@expr.output +line 619 column 14`"] + N53 --> N56 + N54[/"`**add** @(4, 15) +ref +line 655 column 8`"\] + N54 --> N48 + N55[/"`**x** @(4, 20) +ref +line 655 column 8`"\] + N55 --> N50 + N56[/"`**y** @(4, 22) +ref +line 655 column 8`"\] + N56 --> N52 + N57["`**57** @(4, 19) @args.lexical_scope -line 574 column 14`"] - N49 --> N38 +line 691 column 14`"] + N57 --> N46 diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.mmd index 5fddca1b1..371f28d22 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.4.11.mmd @@ -14,195 +14,219 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N18 - N5 --> N20 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(5, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N22 - N7 --> N24 - N7 --> N26 +line 70 column 18`"] + N6 --> N3 + N6 --> N25 + N6 --> N27 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(5, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Test** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N29 + N8 --> N31 + N8 --> N33 + N9["`**9** @(5, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**someFunc** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**someFunc** @(2, 1) def -line 132 column 8`"/] - N11[\"`**divide** @(5, 1) +line 167 column 8`"/] + N13[\"`**divide** @(5, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 23) -@type_name.type -line 144 column 19`"] - N12 --> N17 - N13["`**13** @(2, 39) -@type_name.type -line 144 column 19`"] - N13 --> N19 - N14["`**14** @(5, 21) -@type_name.type -line 144 column 19`"] - N14 --> N21 - N15["`**15** @(5, 34) -@type_name.type -line 144 column 19`"] - N15 --> N23 - N16["`**16** @(5, 57) -@type_name.type -line 144 column 19`"] - N16 --> N25 - N17["`**17** @(2, 23) +line 167 column 8`"/] + N14["`**14** @(2, 23) +@type_name.type_ref +line 180 column 19`"] + N14 --> N24 + N15["`**15** @(2, 23) +@type_name.output +line 184 column 19`"] + N16["`**16** @(2, 39) +@type_name.type_ref +line 180 column 19`"] + N16 --> N26 + N17["`**17** @(2, 39) +@type_name.output +line 184 column 19`"] + N18["`**18** @(5, 21) +@type_name.type_ref +line 180 column 19`"] + N18 --> N28 + N19["`**19** @(5, 21) +@type_name.output +line 184 column 19`"] + N20["`**20** @(5, 34) +@type_name.type_ref +line 180 column 19`"] + N20 --> N30 + N21["`**21** @(5, 34) +@type_name.output +line 184 column 19`"] + N22["`**22** @(5, 57) +@type_name.type_ref +line 180 column 19`"] + N22 --> N32 + N23["`**23** @(5, 57) +@type_name.output +line 184 column 19`"] + N24["`**24** @(2, 23) @param.lexical_scope -line 178 column 15`"] - N17 --> N5 - N18["`**18** @(2, 23) -@param.defs -line 179 column 15`"] - N18 --> N27 - N19["`**19** @(2, 39) +line 231 column 15`"] + N24 --> N6 + N25["`**25** @(2, 23) +@param.def +line 232 column 15`"] + N25 --> N34 + N26["`**26** @(2, 39) @param.lexical_scope -line 178 column 15`"] - N19 --> N5 - N20["`**20** @(2, 39) -@param.defs -line 179 column 15`"] - N21["`**21** @(5, 21) +line 231 column 15`"] + N26 --> N6 + N27["`**27** @(2, 39) +@param.def +line 232 column 15`"] + N28["`**28** @(5, 21) @param.lexical_scope -line 178 column 15`"] - N21 --> N7 - N22["`**22** @(5, 21) -@param.defs -line 179 column 15`"] - N22 --> N29 - N23["`**23** @(5, 34) +line 231 column 15`"] + N28 --> N8 + N29["`**29** @(5, 21) +@param.def +line 232 column 15`"] + N29 --> N36 + N30["`**30** @(5, 34) @param.lexical_scope -line 178 column 15`"] - N23 --> N7 - N24["`**24** @(5, 34) -@param.defs -line 179 column 15`"] - N24 --> N31 - N25["`**25** @(5, 57) +line 231 column 15`"] + N30 --> N8 + N31["`**31** @(5, 34) +@param.def +line 232 column 15`"] + N31 --> N38 + N32["`**32** @(5, 57) @param.lexical_scope -line 178 column 15`"] - N25 --> N7 - N26["`**26** @(5, 57) -@param.defs -line 179 column 15`"] - N27[\"`**x** @(2, 23) +line 231 column 15`"] + N32 --> N8 + N33["`**33** @(5, 57) +@param.def +line 232 column 15`"] + N34[\"`**x** @(2, 23) def -line 187 column 8`"/] - N27 --> N28 - N28[\"`**@typeof** @(2, 23) +line 240 column 8`"/] + N34 --> N35 + N35[/"`**@typeof** @(2, 23) typeof -line 194 column 8`"/] - N28 --> N12 - N29[\"`**dividend** @(5, 21) +line 245 column 8`"\] + N35 --> N15 + N36[\"`**dividend** @(5, 21) def -line 187 column 8`"/] - N29 --> N30 - N30[\"`**@typeof** @(5, 21) +line 240 column 8`"/] + N36 --> N37 + N37[/"`**@typeof** @(5, 21) typeof -line 194 column 8`"/] - N30 --> N14 - N31[\"`**divisor** @(5, 34) +line 245 column 8`"\] + N37 --> N19 + N38[\"`**divisor** @(5, 34) def -line 187 column 8`"/] - N31 --> N32 - N32[\"`**@typeof** @(5, 34) +line 240 column 8`"/] + N38 --> N39 + N39[/"`**@typeof** @(5, 34) typeof -line 194 column 8`"/] - N32 --> N15 - N33["`**33** @(2, 43) +line 245 column 8`"\] + N39 --> N21 + N40["`**40** @(2, 43) @block.lexical_scope -line 265 column 15`"] - N33 --> N5 - N33 --> N36 - N34["`**34** @(2, 43) +line 316 column 15`"] + N40 --> N6 + N40 --> N43 + N41["`**41** @(2, 43) @block.defs -line 266 column 15`"] - N34 --> N36 - N35["`**35** @(3, 1) +line 317 column 15`"] + N41 --> N43 + N42["`**42** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N35 --> N33 - N36["`**36** @(3, 1) +line 321 column 14`"] + N42 --> N40 + N43["`**43** @(3, 1) @stmt.defs -line 271 column 14`"] - N37["`**37** @(3, 15) +line 322 column 14`"] + N44["`**44** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N37 --> N35 - N38["`**38** @(3, 15) -@expr.type -line 503 column 14`"] - N39["`**39** @(3, 15) +line 617 column 14`"] + N44 --> N42 + N45["`**45** @(3, 15) +@expr.output +line 619 column 14`"] + N46["`**46** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N37 - N40["`**40** @(3, 15) -@expr.type -line 503 column 14`"] - N40 --> N45 - N41["`**41** @(3, 34) +line 617 column 14`"] + N46 --> N44 + N47["`**47** @(3, 15) +@expr.output +line 619 column 14`"] + N47 --> N52 + N48["`**48** @(3, 34) @expr.lexical_scope -line 501 column 14`"] - N41 --> N48 - N42["`**42** @(3, 34) -@expr.type -line 503 column 14`"] - N42 --> N46 - N43["`**43** @(3, 46) +line 617 column 14`"] + N48 --> N55 + N49["`**49** @(3, 34) +@expr.output +line 619 column 14`"] + N49 --> N53 + N50["`**50** @(3, 46) @expr.lexical_scope -line 501 column 14`"] - N43 --> N50 - N44["`**44** @(3, 46) -@expr.type -line 503 column 14`"] - N45[/"`**divide** @(3, 15) -@name.ref -line 507 column 14`"\] - N45 --> N39 - N46[/"`**x** @(3, 34) -@name.ref -line 507 column 14`"\] - N46 --> N41 - N47["`**47** @(3, 22) +line 617 column 14`"] + N50 --> N57 + N51["`**51** @(3, 46) +@expr.output +line 619 column 14`"] + N52[/"`**divide** @(3, 15) +ref +line 655 column 8`"\] + N52 --> N46 + N53[/"`**x** @(3, 34) +ref +line 655 column 8`"\] + N53 --> N48 + N54["`**54** @(3, 22) @args.lexical_scope -line 574 column 14`"] - N47 --> N37 - N48["`**48** @(3, 24) +line 691 column 14`"] + N54 --> N44 + N55["`**55** @(3, 24) @named_arg.lexical_scope -line 586 column 19`"] - N48 --> N47 - N49[/"`**dividend** @(3, 24) +line 703 column 19`"] + N55 --> N54 + N56[/"`**dividend** @(3, 24) ref -line 590 column 8`"\] - N50["`**50** @(3, 37) +line 707 column 8`"\] + N57["`**57** @(3, 37) @named_arg.lexical_scope -line 586 column 19`"] - N50 --> N47 - N51[/"`**divisor** @(3, 37) +line 703 column 19`"] + N57 --> N54 + N58[/"`**divisor** @(3, 37) ref -line 590 column 8`"\] +line 707 column 8`"\] diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.5.0.mmd index e50f1a732..e70eb3748 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/funcalls_named_args/generated/0.5.0.mmd @@ -14,194 +14,218 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N18 - N5 --> N20 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(5, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N22 - N7 --> N24 - N7 --> N26 +line 70 column 18`"] + N6 --> N3 + N6 --> N25 + N6 --> N27 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(5, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Test** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N29 + N8 --> N31 + N8 --> N33 + N9["`**9** @(5, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**someFunc** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**someFunc** @(2, 1) def -line 132 column 8`"/] - N11[\"`**divide** @(5, 1) +line 167 column 8`"/] + N13[\"`**divide** @(5, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 23) -@type_name.type -line 144 column 19`"] - N12 --> N17 - N13["`**13** @(2, 39) -@type_name.type -line 144 column 19`"] - N13 --> N19 - N14["`**14** @(5, 21) -@type_name.type -line 144 column 19`"] - N14 --> N21 - N15["`**15** @(5, 34) -@type_name.type -line 144 column 19`"] - N15 --> N23 - N16["`**16** @(5, 57) -@type_name.type -line 144 column 19`"] - N16 --> N25 - N17["`**17** @(2, 23) +line 167 column 8`"/] + N14["`**14** @(2, 23) +@type_name.type_ref +line 180 column 19`"] + N14 --> N24 + N15["`**15** @(2, 23) +@type_name.output +line 184 column 19`"] + N16["`**16** @(2, 39) +@type_name.type_ref +line 180 column 19`"] + N16 --> N26 + N17["`**17** @(2, 39) +@type_name.output +line 184 column 19`"] + N18["`**18** @(5, 21) +@type_name.type_ref +line 180 column 19`"] + N18 --> N28 + N19["`**19** @(5, 21) +@type_name.output +line 184 column 19`"] + N20["`**20** @(5, 34) +@type_name.type_ref +line 180 column 19`"] + N20 --> N30 + N21["`**21** @(5, 34) +@type_name.output +line 184 column 19`"] + N22["`**22** @(5, 57) +@type_name.type_ref +line 180 column 19`"] + N22 --> N32 + N23["`**23** @(5, 57) +@type_name.output +line 184 column 19`"] + N24["`**24** @(2, 23) @param.lexical_scope -line 178 column 15`"] - N17 --> N5 - N18["`**18** @(2, 23) -@param.defs -line 179 column 15`"] - N18 --> N27 - N19["`**19** @(2, 39) +line 231 column 15`"] + N24 --> N6 + N25["`**25** @(2, 23) +@param.def +line 232 column 15`"] + N25 --> N34 + N26["`**26** @(2, 39) @param.lexical_scope -line 178 column 15`"] - N19 --> N5 - N20["`**20** @(2, 39) -@param.defs -line 179 column 15`"] - N21["`**21** @(5, 21) +line 231 column 15`"] + N26 --> N6 + N27["`**27** @(2, 39) +@param.def +line 232 column 15`"] + N28["`**28** @(5, 21) @param.lexical_scope -line 178 column 15`"] - N21 --> N7 - N22["`**22** @(5, 21) -@param.defs -line 179 column 15`"] - N22 --> N29 - N23["`**23** @(5, 34) +line 231 column 15`"] + N28 --> N8 + N29["`**29** @(5, 21) +@param.def +line 232 column 15`"] + N29 --> N36 + N30["`**30** @(5, 34) @param.lexical_scope -line 178 column 15`"] - N23 --> N7 - N24["`**24** @(5, 34) -@param.defs -line 179 column 15`"] - N24 --> N31 - N25["`**25** @(5, 57) +line 231 column 15`"] + N30 --> N8 + N31["`**31** @(5, 34) +@param.def +line 232 column 15`"] + N31 --> N38 + N32["`**32** @(5, 57) @param.lexical_scope -line 178 column 15`"] - N25 --> N7 - N26["`**26** @(5, 57) -@param.defs -line 179 column 15`"] - N27[\"`**x** @(2, 23) +line 231 column 15`"] + N32 --> N8 + N33["`**33** @(5, 57) +@param.def +line 232 column 15`"] + N34[\"`**x** @(2, 23) def -line 187 column 8`"/] - N27 --> N28 - N28[\"`**@typeof** @(2, 23) +line 240 column 8`"/] + N34 --> N35 + N35[/"`**@typeof** @(2, 23) typeof -line 194 column 8`"/] - N28 --> N12 - N29[\"`**dividend** @(5, 21) +line 245 column 8`"\] + N35 --> N15 + N36[\"`**dividend** @(5, 21) def -line 187 column 8`"/] - N29 --> N30 - N30[\"`**@typeof** @(5, 21) +line 240 column 8`"/] + N36 --> N37 + N37[/"`**@typeof** @(5, 21) typeof -line 194 column 8`"/] - N30 --> N14 - N31[\"`**divisor** @(5, 34) +line 245 column 8`"\] + N37 --> N19 + N38[\"`**divisor** @(5, 34) def -line 187 column 8`"/] - N31 --> N32 - N32[\"`**@typeof** @(5, 34) +line 240 column 8`"/] + N38 --> N39 + N39[/"`**@typeof** @(5, 34) typeof -line 194 column 8`"/] - N32 --> N15 - N33["`**33** @(2, 43) +line 245 column 8`"\] + N39 --> N21 + N40["`**40** @(2, 43) @block.lexical_scope -line 265 column 15`"] - N33 --> N5 - N34["`**34** @(2, 43) +line 316 column 15`"] + N40 --> N6 + N41["`**41** @(2, 43) @block.defs -line 266 column 15`"] - N35["`**35** @(3, 1) +line 317 column 15`"] + N42["`**42** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N35 --> N33 - N35 --> N36 - N36["`**36** @(3, 1) +line 321 column 14`"] + N42 --> N40 + N42 --> N43 + N43["`**43** @(3, 1) @stmt.defs -line 271 column 14`"] - N37["`**37** @(3, 15) +line 322 column 14`"] + N44["`**44** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N37 --> N35 - N38["`**38** @(3, 15) -@expr.type -line 503 column 14`"] - N39["`**39** @(3, 15) +line 617 column 14`"] + N44 --> N42 + N45["`**45** @(3, 15) +@expr.output +line 619 column 14`"] + N46["`**46** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N37 - N40["`**40** @(3, 15) -@expr.type -line 503 column 14`"] - N40 --> N45 - N41["`**41** @(3, 34) +line 617 column 14`"] + N46 --> N44 + N47["`**47** @(3, 15) +@expr.output +line 619 column 14`"] + N47 --> N52 + N48["`**48** @(3, 34) @expr.lexical_scope -line 501 column 14`"] - N41 --> N48 - N42["`**42** @(3, 34) -@expr.type -line 503 column 14`"] - N42 --> N46 - N43["`**43** @(3, 46) +line 617 column 14`"] + N48 --> N55 + N49["`**49** @(3, 34) +@expr.output +line 619 column 14`"] + N49 --> N53 + N50["`**50** @(3, 46) @expr.lexical_scope -line 501 column 14`"] - N43 --> N50 - N44["`**44** @(3, 46) -@expr.type -line 503 column 14`"] - N45[/"`**divide** @(3, 15) -@name.ref -line 507 column 14`"\] - N45 --> N39 - N46[/"`**x** @(3, 34) -@name.ref -line 507 column 14`"\] - N46 --> N41 - N47["`**47** @(3, 22) +line 617 column 14`"] + N50 --> N57 + N51["`**51** @(3, 46) +@expr.output +line 619 column 14`"] + N52[/"`**divide** @(3, 15) +ref +line 655 column 8`"\] + N52 --> N46 + N53[/"`**x** @(3, 34) +ref +line 655 column 8`"\] + N53 --> N48 + N54["`**54** @(3, 22) @args.lexical_scope -line 574 column 14`"] - N47 --> N37 - N48["`**48** @(3, 24) +line 691 column 14`"] + N54 --> N44 + N55["`**55** @(3, 24) @named_arg.lexical_scope -line 586 column 19`"] - N48 --> N47 - N49[/"`**dividend** @(3, 24) +line 703 column 19`"] + N55 --> N54 + N56[/"`**dividend** @(3, 24) ref -line 590 column 8`"\] - N50["`**50** @(3, 37) +line 707 column 8`"\] + N57["`**57** @(3, 37) @named_arg.lexical_scope -line 586 column 19`"] - N50 --> N47 - N51[/"`**divisor** @(3, 37) +line 703 column 19`"] + N57 --> N54 + N58[/"`**divisor** @(3, 37) ref -line 590 column 8`"\] +line 707 column 8`"\] diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.mmd index f13d6facd..0094ab5ef 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.4.11.mmd @@ -15,110 +15,130 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N25 - N7["`**7** @(3, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N31 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N33 + N8 --> N34 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N10 - N9[\"`**Test** @(1, 1) +line 70 column 18`"] + N9 --> N3 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**testFunc** @(3, 1) +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**testFunc** @(3, 1) def -line 132 column 8`"/] - N11["`**11** @(4, 1) -@type_name.type -line 144 column 19`"] - N11 --> N17 - N12["`**12** @(5, 1) -@type_name.type -line 144 column 19`"] - N12 --> N19 - N13["`**13** @(5, 1) -@id_path.ref -line 148 column 17`"] - N13 --> N12 - N14[/"`**Answer** @(5, 1) +line 167 column 8`"/] + N14["`**14** @(4, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N23 + N15["`**15** @(4, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(5, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N25 + N17["`**17** @(5, 1) +@type_name.output +line 184 column 19`"] + N17 --> N19 + N18["`**18** @(5, 1) +@id_path.left +line 188 column 17`"] + N18 --> N16 + N19["`**19** @(5, 1) +@id_path.right +line 189 column 17`"] + N19 --> N20 + N20[/"`**Answer** @(5, 1) @name.ref -line 156 column 14`"\] - N14 --> N13 - N15["`**15** @(3, 24) +line 205 column 14`"\] + N20 --> N18 + N21["`**21** @(3, 24) @block.lexical_scope -line 265 column 15`"] - N15 --> N7 - N15 --> N18 - N15 --> N20 - N16["`**16** @(3, 24) +line 316 column 15`"] + N21 --> N9 + N21 --> N24 + N21 --> N26 + N22["`**22** @(3, 24) @block.defs -line 266 column 15`"] - N16 --> N18 - N16 --> N20 - N17["`**17** @(4, 1) +line 317 column 15`"] + N22 --> N24 + N22 --> N26 + N23["`**23** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N17 --> N15 - N18["`**18** @(4, 1) +line 321 column 14`"] + N23 --> N21 + N24["`**24** @(4, 1) @stmt.defs -line 271 column 14`"] - N18 --> N21 - N19["`**19** @(5, 1) +line 322 column 14`"] + N24 --> N27 + N25["`**25** @(5, 1) @stmt.lexical_scope -line 270 column 14`"] - N19 --> N15 - N20["`**20** @(5, 1) +line 321 column 14`"] + N25 --> N21 + N26["`**26** @(5, 1) @stmt.defs -line 271 column 14`"] - N20 --> N23 - N21[\"`**name** @(4, 1) +line 322 column 14`"] + N26 --> N29 + N27[\"`**name** @(4, 1) def -line 338 column 8`"/] - N21 --> N22 - N22[\"`**@typeof** @(4, 1) +line 389 column 8`"/] + N27 --> N28 + N28[/"`**@typeof** @(4, 1) typeof -line 346 column 8`"/] - N22 --> N11 - N23[\"`**first** @(5, 1) +line 395 column 8`"\] + N28 --> N15 + N29[\"`**first** @(5, 1) def -line 338 column 8`"/] - N23 --> N24 - N24[\"`**@typeof** @(5, 1) +line 389 column 8`"/] + N29 --> N30 + N30[/"`**@typeof** @(5, 1) typeof -line 346 column 8`"/] - N24 --> N12 - N25[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N25 --> N26 - N25 --> N28 - N26[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N26 --> N27 - N27[\"`**Yes** @(2, 1) +line 395 column 8`"\] + N30 --> N17 + N31[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N28[\"`**.** @(2, 1) +line 483 column 8`"/] + N31 --> N32 + N32[\"`**.** @(2, 1) member -line 427 column 8`"/] - N28 --> N29 - N29[\"`**No** @(2, 1) +line 488 column 8`"/] + N32 --> N8 + N33[\"`**Yes** @(2, 1) +def +line 500 column 8`"/] + N34[\"`**No** @(2, 1) def -line 431 column 8`"/] +line 500 column 8`"/] diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.0.mmd index 8a7d691d8..8162c4e96 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.0.mmd @@ -15,108 +15,128 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N25 - N7["`**7** @(3, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N31 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N33 + N8 --> N34 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N10 - N9[\"`**Test** @(1, 1) +line 70 column 18`"] + N9 --> N3 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**testFunc** @(3, 1) +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**testFunc** @(3, 1) def -line 132 column 8`"/] - N11["`**11** @(4, 1) -@type_name.type -line 144 column 19`"] - N11 --> N17 - N12["`**12** @(5, 1) -@type_name.type -line 144 column 19`"] - N12 --> N19 - N13["`**13** @(5, 1) -@id_path.ref -line 148 column 17`"] - N13 --> N12 - N14[/"`**Answer** @(5, 1) +line 167 column 8`"/] + N14["`**14** @(4, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N23 + N15["`**15** @(4, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(5, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N25 + N17["`**17** @(5, 1) +@type_name.output +line 184 column 19`"] + N17 --> N19 + N18["`**18** @(5, 1) +@id_path.left +line 188 column 17`"] + N18 --> N16 + N19["`**19** @(5, 1) +@id_path.right +line 189 column 17`"] + N19 --> N20 + N20[/"`**Answer** @(5, 1) @name.ref -line 156 column 14`"\] - N14 --> N13 - N15["`**15** @(3, 24) +line 205 column 14`"\] + N20 --> N18 + N21["`**21** @(3, 24) @block.lexical_scope -line 265 column 15`"] - N15 --> N7 - N16["`**16** @(3, 24) +line 316 column 15`"] + N21 --> N9 + N22["`**22** @(3, 24) @block.defs -line 266 column 15`"] - N17["`**17** @(4, 1) +line 317 column 15`"] + N23["`**23** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N17 --> N15 - N17 --> N18 - N18["`**18** @(4, 1) +line 321 column 14`"] + N23 --> N21 + N23 --> N24 + N24["`**24** @(4, 1) @stmt.defs -line 271 column 14`"] - N18 --> N21 - N19["`**19** @(5, 1) +line 322 column 14`"] + N24 --> N27 + N25["`**25** @(5, 1) @stmt.lexical_scope -line 270 column 14`"] - N19 --> N17 - N19 --> N20 - N20["`**20** @(5, 1) +line 321 column 14`"] + N25 --> N23 + N25 --> N26 + N26["`**26** @(5, 1) @stmt.defs -line 271 column 14`"] - N20 --> N23 - N21[\"`**name** @(4, 1) +line 322 column 14`"] + N26 --> N29 + N27[\"`**name** @(4, 1) def -line 338 column 8`"/] - N21 --> N22 - N22[\"`**@typeof** @(4, 1) +line 389 column 8`"/] + N27 --> N28 + N28[/"`**@typeof** @(4, 1) typeof -line 346 column 8`"/] - N22 --> N11 - N23[\"`**first** @(5, 1) +line 395 column 8`"\] + N28 --> N15 + N29[\"`**first** @(5, 1) def -line 338 column 8`"/] - N23 --> N24 - N24[\"`**@typeof** @(5, 1) +line 389 column 8`"/] + N29 --> N30 + N30[/"`**@typeof** @(5, 1) typeof -line 346 column 8`"/] - N24 --> N12 - N25[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N25 --> N26 - N25 --> N28 - N26[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N26 --> N27 - N27[\"`**Yes** @(2, 1) +line 395 column 8`"\] + N30 --> N17 + N31[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N28[\"`**.** @(2, 1) +line 483 column 8`"/] + N31 --> N32 + N32[\"`**.** @(2, 1) member -line 427 column 8`"/] - N28 --> N29 - N29[\"`**No** @(2, 1) +line 488 column 8`"/] + N32 --> N8 + N33[\"`**Yes** @(2, 1) +def +line 500 column 8`"/] + N34[\"`**No** @(2, 1) def -line 431 column 8`"/] +line 500 column 8`"/] diff --git a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.mmd b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.mmd index 808a88ebd..6d93aa9df 100644 --- a/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/expressions/type_expr/generated/0.5.3.mmd @@ -14,184 +14,214 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@enum.lexical_scope -line 50 column 14`"] +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 N6["`**6** @(2, 1) -@enum.defs -line 51 column 14`"] - N6 --> N31 - N7["`**7** @(3, 1) +@enum.lexical_scope +line 64 column 14`"] + N7["`**7** @(2, 1) +@enum.def +line 65 column 14`"] + N7 --> N41 + N8["`**8** @(2, 1) +@enum.members +line 66 column 14`"] + N8 --> N43 + N8 --> N44 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N10 - N9[\"`**Test** @(1, 1) +line 70 column 18`"] + N9 --> N3 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**Test** @(1, 1) def -line 111 column 8`"/] - N10[\"`**testFunc** @(3, 1) +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**testFunc** @(3, 1) def -line 132 column 8`"/] - N11["`**11** @(4, 1) -@type_name.type -line 144 column 19`"] - N11 --> N23 - N12["`**12** @(4, 28) -@type_name.type -line 144 column 19`"] - N12 --> N38 - N13["`**13** @(5, 1) -@type_name.type -line 144 column 19`"] - N13 --> N25 - N14["`**14** @(5, 29) -@type_name.type -line 144 column 19`"] - N14 --> N42 - N15["`**15** @(4, 28) -@id_path.ref -line 148 column 17`"] - N15 --> N12 - N16["`**16** @(5, 1) -@id_path.ref -line 148 column 17`"] - N16 --> N13 - N17["`**17** @(5, 29) -@id_path.ref -line 148 column 17`"] - N17 --> N14 - N18[/"`**Test** @(4, 28) +line 167 column 8`"/] + N14["`**14** @(4, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N33 + N15["`**15** @(4, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(4, 28) +@type_name.type_ref +line 180 column 19`"] + N16 --> N47 + N17["`**17** @(4, 28) +@type_name.output +line 184 column 19`"] + N17 --> N23 + N18["`**18** @(5, 1) +@type_name.type_ref +line 180 column 19`"] + N18 --> N35 + N19["`**19** @(5, 1) +@type_name.output +line 184 column 19`"] + N19 --> N25 + N20["`**20** @(5, 29) +@type_name.type_ref +line 180 column 19`"] + N20 --> N51 + N21["`**21** @(5, 29) +@type_name.output +line 184 column 19`"] + N21 --> N27 + N22["`**22** @(4, 28) +@id_path.left +line 188 column 17`"] + N22 --> N16 + N23["`**23** @(4, 28) +@id_path.right +line 189 column 17`"] + N23 --> N28 + N24["`**24** @(5, 1) +@id_path.left +line 188 column 17`"] + N24 --> N18 + N25["`**25** @(5, 1) +@id_path.right +line 189 column 17`"] + N25 --> N29 + N26["`**26** @(5, 29) +@id_path.left +line 188 column 17`"] + N26 --> N20 + N27["`**27** @(5, 29) +@id_path.right +line 189 column 17`"] + N27 --> N30 + N28[/"`**Test** @(4, 28) @name.ref -line 156 column 14`"\] - N18 --> N15 - N19[/"`**Answer** @(5, 1) +line 205 column 14`"\] + N28 --> N22 + N29[/"`**Answer** @(5, 1) @name.ref -line 156 column 14`"\] - N19 --> N16 - N20[/"`**Answer** @(5, 29) +line 205 column 14`"\] + N29 --> N24 + N30[/"`**Answer** @(5, 29) @name.ref -line 156 column 14`"\] - N20 --> N17 - N21["`**21** @(3, 24) +line 205 column 14`"\] + N30 --> N26 + N31["`**31** @(3, 24) @block.lexical_scope -line 265 column 15`"] - N21 --> N7 - N22["`**22** @(3, 24) +line 316 column 15`"] + N31 --> N9 + N32["`**32** @(3, 24) @block.defs -line 266 column 15`"] - N23["`**23** @(4, 1) +line 317 column 15`"] + N33["`**33** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N23 --> N21 - N23 --> N24 - N24["`**24** @(4, 1) +line 321 column 14`"] + N33 --> N31 + N33 --> N34 + N34["`**34** @(4, 1) @stmt.defs -line 271 column 14`"] - N24 --> N27 - N25["`**25** @(5, 1) +line 322 column 14`"] + N34 --> N37 + N35["`**35** @(5, 1) @stmt.lexical_scope -line 270 column 14`"] - N25 --> N23 - N25 --> N26 - N26["`**26** @(5, 1) +line 321 column 14`"] + N35 --> N33 + N35 --> N36 + N36["`**36** @(5, 1) @stmt.defs -line 271 column 14`"] - N26 --> N29 - N27[\"`**name** @(4, 1) +line 322 column 14`"] + N36 --> N39 + N37[\"`**name** @(4, 1) def -line 338 column 8`"/] - N27 --> N28 - N28[\"`**@typeof** @(4, 1) +line 389 column 8`"/] + N37 --> N38 + N38[/"`**@typeof** @(4, 1) typeof -line 346 column 8`"/] - N28 --> N11 - N29[\"`**first** @(5, 1) +line 395 column 8`"\] + N38 --> N15 + N39[\"`**first** @(5, 1) def -line 338 column 8`"/] - N29 --> N30 - N30[\"`**@typeof** @(5, 1) +line 389 column 8`"/] + N39 --> N40 + N40[/"`**@typeof** @(5, 1) typeof -line 346 column 8`"/] - N30 --> N13 - N31[\"`**Answer** @(2, 1) -@name.def -line 414 column 14`"/] - N31 --> N32 - N31 --> N34 - N32[\"`**.** @(2, 1) -member -line 427 column 8`"/] - N32 --> N33 - N33[\"`**Yes** @(2, 1) +line 395 column 8`"\] + N40 --> N19 + N41[\"`**Answer** @(2, 1) def -line 431 column 8`"/] - N34[\"`**.** @(2, 1) +line 483 column 8`"/] + N41 --> N42 + N42[\"`**.** @(2, 1) member -line 427 column 8`"/] - N34 --> N35 - N35[\"`**No** @(2, 1) +line 488 column 8`"/] + N42 --> N8 + N43[\"`**Yes** @(2, 1) def -line 431 column 8`"/] - N36["`**36** @(4, 22) +line 500 column 8`"/] + N44[\"`**No** @(2, 1) +def +line 500 column 8`"/] + N45["`**45** @(4, 22) @expr.lexical_scope -line 501 column 14`"] - N36 --> N23 - N37["`**37** @(4, 22) -@expr.type -line 503 column 14`"] - N38["`**38** @(4, 22) +line 617 column 14`"] + N45 --> N33 + N46["`**46** @(4, 22) +@expr.output +line 619 column 14`"] + N46 --> N53 + N47["`**47** @(4, 22) @expr.lexical_scope -line 501 column 14`"] - N38 --> N36 - N39["`**39** @(4, 22) -@expr.type -line 503 column 14`"] - N40["`**40** @(5, 23) +line 617 column 14`"] + N47 --> N45 + N48["`**48** @(4, 22) +@expr.output +line 619 column 14`"] + N49["`**49** @(5, 23) @expr.lexical_scope -line 501 column 14`"] - N40 --> N25 - N41["`**41** @(5, 23) -@expr.type -line 503 column 14`"] - N42["`**42** @(5, 23) +line 617 column 14`"] + N49 --> N35 + N50["`**50** @(5, 23) +@expr.output +line 619 column 14`"] + N50 --> N55 + N51["`**51** @(5, 23) @expr.lexical_scope -line 501 column 14`"] - N42 --> N40 - N43["`**43** @(5, 23) -@expr.type -line 503 column 14`"] - N44["`**44** @(4, 34) -@member.lexical_scope -line 545 column 16`"] - N44 --> N48 - N45["`**45** @(5, 37) -@member.lexical_scope -line 545 column 16`"] - N45 --> N49 - N46[/"`**name** @(4, 34) -ref -line 549 column 8`"\] - N46 --> N44 - N47[/"`**min** @(5, 37) +line 617 column 14`"] + N51 --> N49 + N52["`**52** @(5, 23) +@expr.output +line 619 column 14`"] + N53[/"`**name** @(4, 22) ref -line 549 column 8`"\] - N47 --> N45 - N48[/"`**.** @(4, 22) +line 673 column 8`"\] + N53 --> N54 + N54[/"`**.** @(4, 22) member -line 564 column 8`"\] - N48 --> N39 - N49[/"`**.** @(5, 23) +line 676 column 8`"\] + N54 --> N48 + N55[/"`**min** @(5, 23) +ref +line 673 column 8`"\] + N55 --> N56 + N56[/"`**.** @(5, 23) member -line 564 column 8`"\] - N49 --> N43 +line 676 column 8`"\] + N56 --> N52 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.mmd index c64e13bc7..769264cbf 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.4.11.mmd @@ -14,178 +14,196 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N16 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(6, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N18 +line 70 column 18`"] + N6 --> N3 + N6 --> N21 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(6, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Foo** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N23 + N9["`**9** @(6, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N10[\"`**bar** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**bar** @(2, 1) def -line 132 column 8`"/] - N11[\"`**baz** @(6, 1) +line 167 column 8`"/] + N13[\"`**baz** @(6, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 29) -@type_name.type -line 144 column 19`"] - N12 --> N15 - N13["`**13** @(3, 1) -@type_name.type -line 144 column 19`"] - N13 --> N23 - N14["`**14** @(7, 29) -@type_name.type -line 144 column 19`"] - N14 --> N17 +line 167 column 8`"/] + N14["`**14** @(2, 29) +@type_name.type_ref +line 180 column 19`"] + N14 --> N20 N15["`**15** @(2, 29) +@type_name.output +line 184 column 19`"] + N16["`**16** @(3, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N28 + N17["`**17** @(3, 1) +@type_name.output +line 184 column 19`"] + N18["`**18** @(7, 29) +@type_name.type_ref +line 180 column 19`"] + N18 --> N22 + N19["`**19** @(7, 29) +@type_name.output +line 184 column 19`"] + N20["`**20** @(2, 29) @param.lexical_scope -line 178 column 15`"] - N15 --> N5 - N16["`**16** @(2, 29) -@param.defs -line 179 column 15`"] - N17["`**17** @(7, 29) +line 231 column 15`"] + N20 --> N6 + N21["`**21** @(2, 29) +@param.def +line 232 column 15`"] + N22["`**22** @(7, 29) @param.lexical_scope -line 178 column 15`"] - N17 --> N7 - N18["`**18** @(7, 29) -@param.defs -line 179 column 15`"] - N19["`**19** @(2, 34) +line 231 column 15`"] + N22 --> N8 + N23["`**23** @(7, 29) +@param.def +line 232 column 15`"] + N24["`**24** @(2, 34) @block.lexical_scope -line 265 column 15`"] - N19 --> N5 - N19 --> N24 - N19 --> N26 - N20["`**20** @(2, 34) +line 316 column 15`"] + N24 --> N6 + N24 --> N29 + N24 --> N31 + N25["`**25** @(2, 34) @block.defs -line 266 column 15`"] - N20 --> N24 - N20 --> N26 - N21["`**21** @(7, 33) +line 317 column 15`"] + N25 --> N29 + N25 --> N31 + N26["`**26** @(7, 33) @block.lexical_scope -line 265 column 15`"] - N21 --> N7 - N21 --> N28 - N22["`**22** @(7, 33) +line 316 column 15`"] + N26 --> N8 + N26 --> N33 + N27["`**27** @(7, 33) @block.defs -line 266 column 15`"] - N22 --> N28 - N23["`**23** @(3, 1) +line 317 column 15`"] + N27 --> N33 + N28["`**28** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N23 --> N19 - N24["`**24** @(3, 1) +line 321 column 14`"] + N28 --> N24 + N29["`**29** @(3, 1) @stmt.defs -line 271 column 14`"] - N24 --> N29 - N25["`**25** @(4, 1) +line 322 column 14`"] + N29 --> N34 + N30["`**30** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N25 --> N19 - N26["`**26** @(4, 1) +line 321 column 14`"] + N30 --> N24 + N31["`**31** @(4, 1) @stmt.defs -line 271 column 14`"] - N27["`**27** @(8, 1) +line 322 column 14`"] + N32["`**32** @(8, 1) @stmt.lexical_scope -line 270 column 14`"] - N27 --> N21 - N28["`**28** @(8, 1) +line 321 column 14`"] + N32 --> N26 + N33["`**33** @(8, 1) @stmt.defs -line 271 column 14`"] - N29[\"`**x** @(3, 1) +line 322 column 14`"] + N34[\"`**x** @(3, 1) def -line 338 column 8`"/] - N29 --> N30 - N30[\"`**@typeof** @(3, 1) +line 389 column 8`"/] + N34 --> N35 + N35[/"`**@typeof** @(3, 1) typeof -line 346 column 8`"/] - N30 --> N13 - N31["`**31** @(3, 17) +line 395 column 8`"\] + N35 --> N17 + N36["`**36** @(3, 17) @expr.lexical_scope -line 501 column 14`"] - N31 --> N23 - N32["`**32** @(3, 17) -@expr.type -line 503 column 14`"] - N33["`**33** @(4, 15) +line 617 column 14`"] + N36 --> N28 + N37["`**37** @(3, 17) +@expr.output +line 619 column 14`"] + N38["`**38** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N33 --> N25 - N34["`**34** @(4, 15) -@expr.type -line 503 column 14`"] - N35["`**35** @(4, 15) +line 617 column 14`"] + N38 --> N30 + N39["`**39** @(4, 15) +@expr.output +line 619 column 14`"] + N40["`**40** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N35 --> N33 - N36["`**36** @(4, 15) -@expr.type -line 503 column 14`"] - N36 --> N45 - N37["`**37** @(4, 19) +line 617 column 14`"] + N40 --> N38 + N41["`**41** @(4, 15) +@expr.output +line 619 column 14`"] + N41 --> N50 + N42["`**42** @(4, 19) @expr.lexical_scope -line 501 column 14`"] - N37 --> N33 - N38["`**38** @(4, 19) -@expr.type -line 503 column 14`"] - N39["`**39** @(8, 15) +line 617 column 14`"] + N42 --> N38 + N43["`**43** @(4, 19) +@expr.output +line 619 column 14`"] + N44["`**44** @(8, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N27 - N40["`**40** @(8, 15) -@expr.type -line 503 column 14`"] - N41["`**41** @(8, 15) +line 617 column 14`"] + N44 --> N32 + N45["`**45** @(8, 15) +@expr.output +line 619 column 14`"] + N46["`**46** @(8, 15) @expr.lexical_scope -line 501 column 14`"] - N41 --> N39 - N42["`**42** @(8, 15) -@expr.type -line 503 column 14`"] - N42 --> N46 - N43["`**43** @(8, 19) +line 617 column 14`"] + N46 --> N44 + N47["`**47** @(8, 15) +@expr.output +line 619 column 14`"] + N47 --> N51 + N48["`**48** @(8, 19) @expr.lexical_scope -line 501 column 14`"] - N43 --> N39 - N44["`**44** @(8, 19) -@expr.type -line 503 column 14`"] - N44 --> N47 - N45[/"`**x** @(4, 15) -@name.ref -line 507 column 14`"\] - N45 --> N35 - N46[/"`**w** @(8, 15) -@name.ref -line 507 column 14`"\] - N46 --> N41 - N47[/"`**x** @(8, 19) -@name.ref -line 507 column 14`"\] - N47 --> N43 +line 617 column 14`"] + N48 --> N44 + N49["`**49** @(8, 19) +@expr.output +line 619 column 14`"] + N49 --> N52 + N50[/"`**x** @(4, 15) +ref +line 655 column 8`"\] + N50 --> N40 + N51[/"`**w** @(8, 15) +ref +line 655 column 8`"\] + N51 --> N46 + N52[/"`**x** @(8, 19) +ref +line 655 column 8`"\] + N52 --> N48 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.5.0.mmd index 5890c7bf8..e33025acc 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/local_vars/generated/0.5.0.mmd @@ -14,175 +14,193 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N16 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(6, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N18 +line 70 column 18`"] + N6 --> N3 + N6 --> N21 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(6, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Foo** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N23 + N9["`**9** @(6, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N10[\"`**bar** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**bar** @(2, 1) def -line 132 column 8`"/] - N11[\"`**baz** @(6, 1) +line 167 column 8`"/] + N13[\"`**baz** @(6, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 29) -@type_name.type -line 144 column 19`"] - N12 --> N15 - N13["`**13** @(3, 1) -@type_name.type -line 144 column 19`"] - N13 --> N23 - N14["`**14** @(7, 29) -@type_name.type -line 144 column 19`"] - N14 --> N17 +line 167 column 8`"/] + N14["`**14** @(2, 29) +@type_name.type_ref +line 180 column 19`"] + N14 --> N20 N15["`**15** @(2, 29) +@type_name.output +line 184 column 19`"] + N16["`**16** @(3, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N28 + N17["`**17** @(3, 1) +@type_name.output +line 184 column 19`"] + N18["`**18** @(7, 29) +@type_name.type_ref +line 180 column 19`"] + N18 --> N22 + N19["`**19** @(7, 29) +@type_name.output +line 184 column 19`"] + N20["`**20** @(2, 29) @param.lexical_scope -line 178 column 15`"] - N15 --> N5 - N16["`**16** @(2, 29) -@param.defs -line 179 column 15`"] - N17["`**17** @(7, 29) +line 231 column 15`"] + N20 --> N6 + N21["`**21** @(2, 29) +@param.def +line 232 column 15`"] + N22["`**22** @(7, 29) @param.lexical_scope -line 178 column 15`"] - N17 --> N7 - N18["`**18** @(7, 29) -@param.defs -line 179 column 15`"] - N19["`**19** @(2, 34) +line 231 column 15`"] + N22 --> N8 + N23["`**23** @(7, 29) +@param.def +line 232 column 15`"] + N24["`**24** @(2, 34) @block.lexical_scope -line 265 column 15`"] - N19 --> N5 - N20["`**20** @(2, 34) +line 316 column 15`"] + N24 --> N6 + N25["`**25** @(2, 34) @block.defs -line 266 column 15`"] - N21["`**21** @(7, 33) +line 317 column 15`"] + N26["`**26** @(7, 33) @block.lexical_scope -line 265 column 15`"] - N21 --> N7 - N22["`**22** @(7, 33) +line 316 column 15`"] + N26 --> N8 + N27["`**27** @(7, 33) @block.defs -line 266 column 15`"] - N23["`**23** @(3, 1) +line 317 column 15`"] + N28["`**28** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N23 --> N19 - N23 --> N24 - N24["`**24** @(3, 1) +line 321 column 14`"] + N28 --> N24 + N28 --> N29 + N29["`**29** @(3, 1) @stmt.defs -line 271 column 14`"] - N24 --> N29 - N25["`**25** @(4, 1) +line 322 column 14`"] + N29 --> N34 + N30["`**30** @(4, 1) @stmt.lexical_scope -line 270 column 14`"] - N25 --> N23 - N25 --> N26 - N26["`**26** @(4, 1) +line 321 column 14`"] + N30 --> N28 + N30 --> N31 + N31["`**31** @(4, 1) @stmt.defs -line 271 column 14`"] - N27["`**27** @(8, 1) +line 322 column 14`"] + N32["`**32** @(8, 1) @stmt.lexical_scope -line 270 column 14`"] - N27 --> N21 - N27 --> N28 - N28["`**28** @(8, 1) +line 321 column 14`"] + N32 --> N26 + N32 --> N33 + N33["`**33** @(8, 1) @stmt.defs -line 271 column 14`"] - N29[\"`**x** @(3, 1) +line 322 column 14`"] + N34[\"`**x** @(3, 1) def -line 338 column 8`"/] - N29 --> N30 - N30[\"`**@typeof** @(3, 1) +line 389 column 8`"/] + N34 --> N35 + N35[/"`**@typeof** @(3, 1) typeof -line 346 column 8`"/] - N30 --> N13 - N31["`**31** @(3, 17) +line 395 column 8`"\] + N35 --> N17 + N36["`**36** @(3, 17) @expr.lexical_scope -line 501 column 14`"] - N31 --> N23 - N32["`**32** @(3, 17) -@expr.type -line 503 column 14`"] - N33["`**33** @(4, 15) +line 617 column 14`"] + N36 --> N28 + N37["`**37** @(3, 17) +@expr.output +line 619 column 14`"] + N38["`**38** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N33 --> N25 - N34["`**34** @(4, 15) -@expr.type -line 503 column 14`"] - N35["`**35** @(4, 15) +line 617 column 14`"] + N38 --> N30 + N39["`**39** @(4, 15) +@expr.output +line 619 column 14`"] + N40["`**40** @(4, 15) @expr.lexical_scope -line 501 column 14`"] - N35 --> N33 - N36["`**36** @(4, 15) -@expr.type -line 503 column 14`"] - N36 --> N45 - N37["`**37** @(4, 19) +line 617 column 14`"] + N40 --> N38 + N41["`**41** @(4, 15) +@expr.output +line 619 column 14`"] + N41 --> N50 + N42["`**42** @(4, 19) @expr.lexical_scope -line 501 column 14`"] - N37 --> N33 - N38["`**38** @(4, 19) -@expr.type -line 503 column 14`"] - N39["`**39** @(8, 15) +line 617 column 14`"] + N42 --> N38 + N43["`**43** @(4, 19) +@expr.output +line 619 column 14`"] + N44["`**44** @(8, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N27 - N40["`**40** @(8, 15) -@expr.type -line 503 column 14`"] - N41["`**41** @(8, 15) +line 617 column 14`"] + N44 --> N32 + N45["`**45** @(8, 15) +@expr.output +line 619 column 14`"] + N46["`**46** @(8, 15) @expr.lexical_scope -line 501 column 14`"] - N41 --> N39 - N42["`**42** @(8, 15) -@expr.type -line 503 column 14`"] - N42 --> N46 - N43["`**43** @(8, 19) +line 617 column 14`"] + N46 --> N44 + N47["`**47** @(8, 15) +@expr.output +line 619 column 14`"] + N47 --> N51 + N48["`**48** @(8, 19) @expr.lexical_scope -line 501 column 14`"] - N43 --> N39 - N44["`**44** @(8, 19) -@expr.type -line 503 column 14`"] - N44 --> N47 - N45[/"`**x** @(4, 15) -@name.ref -line 507 column 14`"\] - N45 --> N35 - N46[/"`**w** @(8, 15) -@name.ref -line 507 column 14`"\] - N46 --> N41 - N47[/"`**x** @(8, 19) -@name.ref -line 507 column 14`"\] - N47 --> N43 +line 617 column 14`"] + N48 --> N44 + N49["`**49** @(8, 19) +@expr.output +line 619 column 14`"] + N49 --> N52 + N50[/"`**x** @(4, 15) +ref +line 655 column 8`"\] + N50 --> N40 + N51[/"`**w** @(8, 15) +ref +line 655 column 8`"\] + N51 --> N46 + N52[/"`**x** @(8, 19) +ref +line 655 column 8`"\] + N52 --> N48 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.mmd index c2027b540..246daec4d 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.4.11.mmd @@ -14,165 +14,183 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N16 - N5 --> N18 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(5, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N20 +line 70 column 18`"] + N6 --> N3 + N6 --> N21 + N6 --> N23 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(5, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Foo** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N25 + N9["`**9** @(5, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N10[\"`**bar** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**bar** @(2, 1) def -line 132 column 8`"/] - N11[\"`**baz** @(5, 1) +line 167 column 8`"/] + N13[\"`**baz** @(5, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 18) -@type_name.type -line 144 column 19`"] - N12 --> N15 - N13["`**13** @(2, 35) -@type_name.type -line 144 column 19`"] - N13 --> N17 - N14["`**14** @(6, 29) -@type_name.type -line 144 column 19`"] - N14 --> N19 +line 167 column 8`"/] + N14["`**14** @(2, 18) +@type_name.type_ref +line 180 column 19`"] + N14 --> N20 N15["`**15** @(2, 18) -@param.lexical_scope -line 178 column 15`"] - N15 --> N5 - N16["`**16** @(2, 18) -@param.defs -line 179 column 15`"] - N16 --> N21 +@type_name.output +line 184 column 19`"] + N16["`**16** @(2, 35) +@type_name.type_ref +line 180 column 19`"] + N16 --> N22 N17["`**17** @(2, 35) -@param.lexical_scope -line 178 column 15`"] - N17 --> N5 - N18["`**18** @(2, 35) -@param.defs -line 179 column 15`"] +@type_name.output +line 184 column 19`"] + N18["`**18** @(6, 29) +@type_name.type_ref +line 180 column 19`"] + N18 --> N24 N19["`**19** @(6, 29) +@type_name.output +line 184 column 19`"] + N20["`**20** @(2, 18) +@param.lexical_scope +line 231 column 15`"] + N20 --> N6 + N21["`**21** @(2, 18) +@param.def +line 232 column 15`"] + N21 --> N26 + N22["`**22** @(2, 35) +@param.lexical_scope +line 231 column 15`"] + N22 --> N6 + N23["`**23** @(2, 35) +@param.def +line 232 column 15`"] + N24["`**24** @(6, 29) @param.lexical_scope -line 178 column 15`"] - N19 --> N7 - N20["`**20** @(6, 29) -@param.defs -line 179 column 15`"] - N21[\"`**z** @(2, 18) +line 231 column 15`"] + N24 --> N8 + N25["`**25** @(6, 29) +@param.def +line 232 column 15`"] + N26[\"`**z** @(2, 18) def -line 187 column 8`"/] - N21 --> N22 - N22[\"`**@typeof** @(2, 18) +line 240 column 8`"/] + N26 --> N27 + N27[/"`**@typeof** @(2, 18) typeof -line 194 column 8`"/] - N22 --> N12 - N23["`**23** @(2, 40) +line 245 column 8`"\] + N27 --> N15 + N28["`**28** @(2, 40) @block.lexical_scope -line 265 column 15`"] - N23 --> N5 - N23 --> N28 - N24["`**24** @(2, 40) +line 316 column 15`"] + N28 --> N6 + N28 --> N33 + N29["`**29** @(2, 40) @block.defs -line 266 column 15`"] - N24 --> N28 - N25["`**25** @(6, 33) +line 317 column 15`"] + N29 --> N33 + N30["`**30** @(6, 33) @block.lexical_scope -line 265 column 15`"] - N25 --> N7 - N25 --> N30 - N26["`**26** @(6, 33) +line 316 column 15`"] + N30 --> N8 + N30 --> N35 + N31["`**31** @(6, 33) @block.defs -line 266 column 15`"] - N26 --> N30 - N27["`**27** @(3, 1) +line 317 column 15`"] + N31 --> N35 + N32["`**32** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N27 --> N23 - N28["`**28** @(3, 1) +line 321 column 14`"] + N32 --> N28 + N33["`**33** @(3, 1) @stmt.defs -line 271 column 14`"] - N29["`**29** @(7, 1) +line 322 column 14`"] + N34["`**34** @(7, 1) @stmt.lexical_scope -line 270 column 14`"] - N29 --> N25 - N30["`**30** @(7, 1) +line 321 column 14`"] + N34 --> N30 + N35["`**35** @(7, 1) @stmt.defs -line 271 column 14`"] - N31["`**31** @(3, 15) +line 322 column 14`"] + N36["`**36** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N31 --> N27 - N32["`**32** @(3, 15) -@expr.type -line 503 column 14`"] - N33["`**33** @(3, 15) +line 617 column 14`"] + N36 --> N32 + N37["`**37** @(3, 15) +@expr.output +line 619 column 14`"] + N38["`**38** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N33 --> N31 - N34["`**34** @(3, 15) -@expr.type -line 503 column 14`"] - N34 --> N43 - N35["`**35** @(3, 19) +line 617 column 14`"] + N38 --> N36 + N39["`**39** @(3, 15) +@expr.output +line 619 column 14`"] + N39 --> N48 + N40["`**40** @(3, 19) @expr.lexical_scope -line 501 column 14`"] - N35 --> N31 - N36["`**36** @(3, 19) -@expr.type -line 503 column 14`"] - N37["`**37** @(7, 15) +line 617 column 14`"] + N40 --> N36 + N41["`**41** @(3, 19) +@expr.output +line 619 column 14`"] + N42["`**42** @(7, 15) @expr.lexical_scope -line 501 column 14`"] - N37 --> N29 - N38["`**38** @(7, 15) -@expr.type -line 503 column 14`"] - N39["`**39** @(7, 15) +line 617 column 14`"] + N42 --> N34 + N43["`**43** @(7, 15) +@expr.output +line 619 column 14`"] + N44["`**44** @(7, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N37 - N40["`**40** @(7, 15) -@expr.type -line 503 column 14`"] - N40 --> N44 - N41["`**41** @(7, 19) +line 617 column 14`"] + N44 --> N42 + N45["`**45** @(7, 15) +@expr.output +line 619 column 14`"] + N45 --> N49 + N46["`**46** @(7, 19) @expr.lexical_scope -line 501 column 14`"] - N41 --> N37 - N42["`**42** @(7, 19) -@expr.type -line 503 column 14`"] - N43[/"`**z** @(3, 15) -@name.ref -line 507 column 14`"\] - N43 --> N33 - N44[/"`**z** @(7, 15) -@name.ref -line 507 column 14`"\] - N44 --> N39 +line 617 column 14`"] + N46 --> N42 + N47["`**47** @(7, 19) +@expr.output +line 619 column 14`"] + N48[/"`**z** @(3, 15) +ref +line 655 column 8`"\] + N48 --> N38 + N49[/"`**z** @(7, 15) +ref +line 655 column 8`"\] + N49 --> N44 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.5.0.mmd index 280249219..4a90f5131 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/params/generated/0.5.0.mmd @@ -14,163 +14,181 @@ line 23 column 21`"] N2 --> N4 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N6 - N3 --> N8 + N3 --> N5 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N9 - N5["`**5** @(2, 1) -@function.lexical_scope -line 55 column 18`"] - N5 --> N3 - N5 --> N16 - N5 --> N18 +@contract.def +line 35 column 18`"] + N4 --> N10 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N9 N6["`**6** @(2, 1) -@function.defs -line 56 column 18`"] - N6 --> N10 - N7["`**7** @(5, 1) @function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N20 +line 70 column 18`"] + N6 --> N3 + N6 --> N21 + N6 --> N23 + N7["`**7** @(2, 1) +@function.def +line 71 column 18`"] + N7 --> N12 N8["`**8** @(5, 1) -@function.defs -line 56 column 18`"] - N8 --> N11 - N9[\"`**Foo** @(1, 1) +@function.lexical_scope +line 70 column 18`"] + N8 --> N3 + N8 --> N25 + N9["`**9** @(5, 1) +@function.def +line 71 column 18`"] + N9 --> N13 + N10[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N10[\"`**bar** @(2, 1) +line 126 column 8`"/] + N10 --> N11 + N11[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N11 --> N5 + N12[\"`**bar** @(2, 1) def -line 132 column 8`"/] - N11[\"`**baz** @(5, 1) +line 167 column 8`"/] + N13[\"`**baz** @(5, 1) def -line 132 column 8`"/] - N12["`**12** @(2, 18) -@type_name.type -line 144 column 19`"] - N12 --> N15 - N13["`**13** @(2, 35) -@type_name.type -line 144 column 19`"] - N13 --> N17 - N14["`**14** @(6, 29) -@type_name.type -line 144 column 19`"] - N14 --> N19 +line 167 column 8`"/] + N14["`**14** @(2, 18) +@type_name.type_ref +line 180 column 19`"] + N14 --> N20 N15["`**15** @(2, 18) -@param.lexical_scope -line 178 column 15`"] - N15 --> N5 - N16["`**16** @(2, 18) -@param.defs -line 179 column 15`"] - N16 --> N21 +@type_name.output +line 184 column 19`"] + N16["`**16** @(2, 35) +@type_name.type_ref +line 180 column 19`"] + N16 --> N22 N17["`**17** @(2, 35) -@param.lexical_scope -line 178 column 15`"] - N17 --> N5 - N18["`**18** @(2, 35) -@param.defs -line 179 column 15`"] +@type_name.output +line 184 column 19`"] + N18["`**18** @(6, 29) +@type_name.type_ref +line 180 column 19`"] + N18 --> N24 N19["`**19** @(6, 29) +@type_name.output +line 184 column 19`"] + N20["`**20** @(2, 18) +@param.lexical_scope +line 231 column 15`"] + N20 --> N6 + N21["`**21** @(2, 18) +@param.def +line 232 column 15`"] + N21 --> N26 + N22["`**22** @(2, 35) +@param.lexical_scope +line 231 column 15`"] + N22 --> N6 + N23["`**23** @(2, 35) +@param.def +line 232 column 15`"] + N24["`**24** @(6, 29) @param.lexical_scope -line 178 column 15`"] - N19 --> N7 - N20["`**20** @(6, 29) -@param.defs -line 179 column 15`"] - N21[\"`**z** @(2, 18) +line 231 column 15`"] + N24 --> N8 + N25["`**25** @(6, 29) +@param.def +line 232 column 15`"] + N26[\"`**z** @(2, 18) def -line 187 column 8`"/] - N21 --> N22 - N22[\"`**@typeof** @(2, 18) +line 240 column 8`"/] + N26 --> N27 + N27[/"`**@typeof** @(2, 18) typeof -line 194 column 8`"/] - N22 --> N12 - N23["`**23** @(2, 40) +line 245 column 8`"\] + N27 --> N15 + N28["`**28** @(2, 40) @block.lexical_scope -line 265 column 15`"] - N23 --> N5 - N24["`**24** @(2, 40) +line 316 column 15`"] + N28 --> N6 + N29["`**29** @(2, 40) @block.defs -line 266 column 15`"] - N25["`**25** @(6, 33) +line 317 column 15`"] + N30["`**30** @(6, 33) @block.lexical_scope -line 265 column 15`"] - N25 --> N7 - N26["`**26** @(6, 33) +line 316 column 15`"] + N30 --> N8 + N31["`**31** @(6, 33) @block.defs -line 266 column 15`"] - N27["`**27** @(3, 1) +line 317 column 15`"] + N32["`**32** @(3, 1) @stmt.lexical_scope -line 270 column 14`"] - N27 --> N23 - N27 --> N28 - N28["`**28** @(3, 1) +line 321 column 14`"] + N32 --> N28 + N32 --> N33 + N33["`**33** @(3, 1) @stmt.defs -line 271 column 14`"] - N29["`**29** @(7, 1) +line 322 column 14`"] + N34["`**34** @(7, 1) @stmt.lexical_scope -line 270 column 14`"] - N29 --> N25 - N29 --> N30 - N30["`**30** @(7, 1) +line 321 column 14`"] + N34 --> N30 + N34 --> N35 + N35["`**35** @(7, 1) @stmt.defs -line 271 column 14`"] - N31["`**31** @(3, 15) +line 322 column 14`"] + N36["`**36** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N31 --> N27 - N32["`**32** @(3, 15) -@expr.type -line 503 column 14`"] - N33["`**33** @(3, 15) +line 617 column 14`"] + N36 --> N32 + N37["`**37** @(3, 15) +@expr.output +line 619 column 14`"] + N38["`**38** @(3, 15) @expr.lexical_scope -line 501 column 14`"] - N33 --> N31 - N34["`**34** @(3, 15) -@expr.type -line 503 column 14`"] - N34 --> N43 - N35["`**35** @(3, 19) +line 617 column 14`"] + N38 --> N36 + N39["`**39** @(3, 15) +@expr.output +line 619 column 14`"] + N39 --> N48 + N40["`**40** @(3, 19) @expr.lexical_scope -line 501 column 14`"] - N35 --> N31 - N36["`**36** @(3, 19) -@expr.type -line 503 column 14`"] - N37["`**37** @(7, 15) +line 617 column 14`"] + N40 --> N36 + N41["`**41** @(3, 19) +@expr.output +line 619 column 14`"] + N42["`**42** @(7, 15) @expr.lexical_scope -line 501 column 14`"] - N37 --> N29 - N38["`**38** @(7, 15) -@expr.type -line 503 column 14`"] - N39["`**39** @(7, 15) +line 617 column 14`"] + N42 --> N34 + N43["`**43** @(7, 15) +@expr.output +line 619 column 14`"] + N44["`**44** @(7, 15) @expr.lexical_scope -line 501 column 14`"] - N39 --> N37 - N40["`**40** @(7, 15) -@expr.type -line 503 column 14`"] - N40 --> N44 - N41["`**41** @(7, 19) +line 617 column 14`"] + N44 --> N42 + N45["`**45** @(7, 15) +@expr.output +line 619 column 14`"] + N45 --> N49 + N46["`**46** @(7, 19) @expr.lexical_scope -line 501 column 14`"] - N41 --> N37 - N42["`**42** @(7, 19) -@expr.type -line 503 column 14`"] - N43[/"`**z** @(3, 15) -@name.ref -line 507 column 14`"\] - N43 --> N33 - N44[/"`**z** @(7, 15) -@name.ref -line 507 column 14`"\] - N44 --> N39 +line 617 column 14`"] + N46 --> N42 + N47["`**47** @(7, 19) +@expr.output +line 619 column 14`"] + N48[/"`**z** @(3, 15) +ref +line 655 column 8`"\] + N48 --> N38 + N49[/"`**z** @(7, 15) +ref +line 655 column 8`"\] + N49 --> N44 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.mmd index df90deb4d..f48e3dc01 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.4.11.mmd @@ -8,208 +8,238 @@ ROOT_NODE @source_unit.lexical_scope line 20 column 21`"] N1 --> N4 - N1 --> N6 + N1 --> N7 N2["`**2** @(1, 1) @source_unit.defs line 23 column 21`"] N2 --> N4 - N2 --> N6 + N2 --> N7 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N8 - N3 --> N10 - N3 --> N41 + N3 --> N5 + N3 --> N49 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N13 - N5["`**5** @(12, 1) -@contract.lexical_scope -line 30 column 18`"] - N5 --> N1 +@contract.def +line 35 column 18`"] + N4 --> N15 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N10 N5 --> N12 N6["`**6** @(12, 1) -@contract.defs -line 31 column 18`"] - N6 --> N14 - N7["`**7** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N23 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N15 - N9["`**9** @(7, 1) +@contract.lexical_scope +line 34 column 18`"] + N6 --> N1 + N6 --> N8 + N7["`**7** @(12, 1) +@contract.def +line 35 column 18`"] + N7 --> N17 + N8["`**8** @(12, 1) +@contract.members +line 36 column 18`"] + N8 --> N14 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N25 - N10["`**10** @(7, 1) -@function.defs -line 56 column 18`"] - N10 --> N16 - N11["`**11** @(14, 1) + N9 --> N31 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N19 + N11["`**11** @(7, 1) +@function.lexical_scope +line 70 column 18`"] + N11 --> N3 + N11 --> N33 + N12["`**12** @(7, 1) +@function.def +line 71 column 18`"] + N12 --> N20 + N13["`**13** @(14, 1) @function.lexical_scope -line 55 column 18`"] - N11 --> N5 - N11 --> N27 - N12["`**12** @(14, 1) -@function.defs -line 56 column 18`"] - N12 --> N17 - N13[\"`**Foo** @(1, 1) +line 70 column 18`"] + N13 --> N6 + N13 --> N35 + N14["`**14** @(14, 1) +@function.def +line 71 column 18`"] + N14 --> N21 + N15[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N14[\"`**Bar** @(12, 1) +line 126 column 8`"/] + N15 --> N16 + N16[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N16 --> N5 + N17[\"`**Bar** @(12, 1) def -line 111 column 8`"/] - N15[\"`**bar** @(3, 1) +line 126 column 8`"/] + N17 --> N18 + N18[\"`**.** @(12, 1) +member +line 133 column 8`"/] + N18 --> N8 + N19[\"`**bar** @(3, 1) def -line 132 column 8`"/] - N16[\"`**baz** @(7, 1) +line 167 column 8`"/] + N20[\"`**baz** @(7, 1) def -line 132 column 8`"/] - N17[\"`**quux** @(14, 1) +line 167 column 8`"/] + N21[\"`**quux** @(14, 1) def -line 132 column 8`"/] - N18["`**18** @(2, 1) -@type_name.type -line 144 column 19`"] - N18 --> N40 - N19["`**19** @(4, 29) -@type_name.type -line 144 column 19`"] - N19 --> N22 - N20["`**20** @(8, 29) -@type_name.type -line 144 column 19`"] - N20 --> N24 - N21["`**21** @(14, 30) -@type_name.type -line 144 column 19`"] - N21 --> N26 - N22["`**22** @(4, 29) +line 167 column 8`"/] + N22["`**22** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N22 --> N48 + N23["`**23** @(2, 1) +@type_name.output +line 184 column 19`"] + N24["`**24** @(4, 29) +@type_name.type_ref +line 180 column 19`"] + N24 --> N30 + N25["`**25** @(4, 29) +@type_name.output +line 184 column 19`"] + N26["`**26** @(8, 29) +@type_name.type_ref +line 180 column 19`"] + N26 --> N32 + N27["`**27** @(8, 29) +@type_name.output +line 184 column 19`"] + N28["`**28** @(14, 30) +@type_name.type_ref +line 180 column 19`"] + N28 --> N34 + N29["`**29** @(14, 30) +@type_name.output +line 184 column 19`"] + N30["`**30** @(4, 29) @param.lexical_scope -line 178 column 15`"] - N22 --> N7 - N23["`**23** @(4, 29) -@param.defs -line 179 column 15`"] - N24["`**24** @(8, 29) +line 231 column 15`"] + N30 --> N9 + N31["`**31** @(4, 29) +@param.def +line 232 column 15`"] + N32["`**32** @(8, 29) @param.lexical_scope -line 178 column 15`"] - N24 --> N9 - N25["`**25** @(8, 29) -@param.defs -line 179 column 15`"] - N26["`**26** @(14, 30) +line 231 column 15`"] + N32 --> N11 + N33["`**33** @(8, 29) +@param.def +line 232 column 15`"] + N34["`**34** @(14, 30) @param.lexical_scope -line 178 column 15`"] - N26 --> N11 - N27["`**27** @(14, 30) -@param.defs -line 179 column 15`"] - N28["`**28** @(4, 34) +line 231 column 15`"] + N34 --> N13 + N35["`**35** @(14, 30) +@param.def +line 232 column 15`"] + N36["`**36** @(4, 34) @block.lexical_scope -line 265 column 15`"] - N28 --> N7 - N28 --> N35 - N29["`**29** @(4, 34) +line 316 column 15`"] + N36 --> N9 + N36 --> N43 + N37["`**37** @(4, 34) @block.defs -line 266 column 15`"] - N29 --> N35 - N30["`**30** @(8, 33) +line 317 column 15`"] + N37 --> N43 + N38["`**38** @(8, 33) @block.lexical_scope -line 265 column 15`"] - N30 --> N9 - N30 --> N37 - N31["`**31** @(8, 33) +line 316 column 15`"] + N38 --> N11 + N38 --> N45 + N39["`**39** @(8, 33) @block.defs -line 266 column 15`"] - N31 --> N37 - N32["`**32** @(14, 35) +line 317 column 15`"] + N39 --> N45 + N40["`**40** @(14, 35) @block.lexical_scope -line 265 column 15`"] - N32 --> N11 - N32 --> N39 - N33["`**33** @(14, 35) +line 316 column 15`"] + N40 --> N13 + N40 --> N47 + N41["`**41** @(14, 35) @block.defs -line 266 column 15`"] - N33 --> N39 - N34["`**34** @(5, 1) +line 317 column 15`"] + N41 --> N47 + N42["`**42** @(5, 1) @stmt.lexical_scope -line 270 column 14`"] - N34 --> N28 - N35["`**35** @(5, 1) +line 321 column 14`"] + N42 --> N36 + N43["`**43** @(5, 1) @stmt.defs -line 271 column 14`"] - N36["`**36** @(9, 1) +line 322 column 14`"] + N44["`**44** @(9, 1) @stmt.lexical_scope -line 270 column 14`"] - N36 --> N30 - N37["`**37** @(9, 1) +line 321 column 14`"] + N44 --> N38 + N45["`**45** @(9, 1) @stmt.defs -line 271 column 14`"] - N38["`**38** @(15, 1) +line 322 column 14`"] + N46["`**46** @(15, 1) @stmt.lexical_scope -line 270 column 14`"] - N38 --> N32 - N39["`**39** @(15, 1) +line 321 column 14`"] + N46 --> N40 + N47["`**47** @(15, 1) @stmt.defs -line 271 column 14`"] - N40["`**40** @(2, 1) +line 322 column 14`"] + N48["`**48** @(2, 1) @state_var.lexical_scope -line 370 column 19`"] - N40 --> N3 - N41["`**41** @(2, 1) -@state_var.defs -line 371 column 19`"] - N41 --> N42 - N42[\"`**x** @(2, 1) +line 441 column 19`"] + N48 --> N3 + N49["`**49** @(2, 1) +@state_var.def +line 442 column 19`"] + N49 --> N50 + N50[\"`**x** @(2, 1) def -line 381 column 8`"/] - N42 --> N43 - N43[\"`**@typeof** @(2, 1) +line 452 column 8`"/] + N50 --> N51 + N51[/"`**@typeof** @(2, 1) typeof -line 389 column 8`"/] - N43 --> N18 - N44["`**44** @(5, 15) +line 458 column 8`"\] + N51 --> N23 + N52["`**52** @(5, 15) @expr.lexical_scope -line 501 column 14`"] - N44 --> N34 - N45["`**45** @(5, 15) -@expr.type -line 503 column 14`"] - N45 --> N50 - N46["`**46** @(9, 15) +line 617 column 14`"] + N52 --> N42 + N53["`**53** @(5, 15) +@expr.output +line 619 column 14`"] + N53 --> N58 + N54["`**54** @(9, 15) @expr.lexical_scope -line 501 column 14`"] - N46 --> N36 - N47["`**47** @(9, 15) -@expr.type -line 503 column 14`"] - N47 --> N51 - N48["`**48** @(15, 15) +line 617 column 14`"] + N54 --> N44 + N55["`**55** @(9, 15) +@expr.output +line 619 column 14`"] + N55 --> N59 + N56["`**56** @(15, 15) @expr.lexical_scope -line 501 column 14`"] - N48 --> N38 - N49["`**49** @(15, 15) -@expr.type -line 503 column 14`"] - N49 --> N52 - N50[/"`**x** @(5, 15) -@name.ref -line 507 column 14`"\] - N50 --> N44 - N51[/"`**y** @(9, 15) -@name.ref -line 507 column 14`"\] - N51 --> N46 - N52[/"`**x** @(15, 15) -@name.ref -line 507 column 14`"\] - N52 --> N48 +line 617 column 14`"] + N56 --> N46 + N57["`**57** @(15, 15) +@expr.output +line 619 column 14`"] + N57 --> N60 + N58[/"`**x** @(5, 15) +ref +line 655 column 8`"\] + N58 --> N52 + N59[/"`**y** @(9, 15) +ref +line 655 column 8`"\] + N59 --> N54 + N60[/"`**x** @(15, 15) +ref +line 655 column 8`"\] + N60 --> N56 diff --git a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.5.0.mmd index b0b3711b4..8e9a76185 100644 --- a/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.5.0.mmd +++ b/crates/solidity/testing/snapshots/bindings_output/lexical/state_vars/generated/0.5.0.mmd @@ -8,205 +8,235 @@ ROOT_NODE @source_unit.lexical_scope line 20 column 21`"] N1 --> N4 - N1 --> N6 + N1 --> N7 N2["`**2** @(1, 1) @source_unit.defs line 23 column 21`"] N2 --> N4 - N2 --> N6 + N2 --> N7 N3["`**3** @(1, 1) @contract.lexical_scope -line 30 column 18`"] +line 34 column 18`"] N3 --> N1 - N3 --> N8 - N3 --> N10 - N3 --> N41 + N3 --> N5 + N3 --> N49 N4["`**4** @(1, 1) -@contract.defs -line 31 column 18`"] - N4 --> N13 - N5["`**5** @(12, 1) -@contract.lexical_scope -line 30 column 18`"] - N5 --> N1 +@contract.def +line 35 column 18`"] + N4 --> N15 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N10 N5 --> N12 N6["`**6** @(12, 1) -@contract.defs -line 31 column 18`"] - N6 --> N14 - N7["`**7** @(3, 1) -@function.lexical_scope -line 55 column 18`"] - N7 --> N3 - N7 --> N23 - N8["`**8** @(3, 1) -@function.defs -line 56 column 18`"] - N8 --> N15 - N9["`**9** @(7, 1) +@contract.lexical_scope +line 34 column 18`"] + N6 --> N1 + N6 --> N8 + N7["`**7** @(12, 1) +@contract.def +line 35 column 18`"] + N7 --> N17 + N8["`**8** @(12, 1) +@contract.members +line 36 column 18`"] + N8 --> N14 + N9["`**9** @(3, 1) @function.lexical_scope -line 55 column 18`"] +line 70 column 18`"] N9 --> N3 - N9 --> N25 - N10["`**10** @(7, 1) -@function.defs -line 56 column 18`"] - N10 --> N16 - N11["`**11** @(14, 1) + N9 --> N31 + N10["`**10** @(3, 1) +@function.def +line 71 column 18`"] + N10 --> N19 + N11["`**11** @(7, 1) @function.lexical_scope -line 55 column 18`"] - N11 --> N5 - N11 --> N27 - N12["`**12** @(14, 1) -@function.defs -line 56 column 18`"] - N12 --> N17 - N13[\"`**Foo** @(1, 1) +line 70 column 18`"] + N11 --> N3 + N11 --> N33 + N12["`**12** @(7, 1) +@function.def +line 71 column 18`"] + N12 --> N20 + N13["`**13** @(14, 1) +@function.lexical_scope +line 70 column 18`"] + N13 --> N6 + N13 --> N35 + N14["`**14** @(14, 1) +@function.def +line 71 column 18`"] + N14 --> N21 + N15[\"`**Foo** @(1, 1) def -line 111 column 8`"/] - N14[\"`**Bar** @(12, 1) +line 126 column 8`"/] + N15 --> N16 + N16[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N16 --> N5 + N17[\"`**Bar** @(12, 1) def -line 111 column 8`"/] - N15[\"`**bar** @(3, 1) +line 126 column 8`"/] + N17 --> N18 + N18[\"`**.** @(12, 1) +member +line 133 column 8`"/] + N18 --> N8 + N19[\"`**bar** @(3, 1) def -line 132 column 8`"/] - N16[\"`**baz** @(7, 1) +line 167 column 8`"/] + N20[\"`**baz** @(7, 1) def -line 132 column 8`"/] - N17[\"`**quux** @(14, 1) +line 167 column 8`"/] + N21[\"`**quux** @(14, 1) def -line 132 column 8`"/] - N18["`**18** @(2, 1) -@type_name.type -line 144 column 19`"] - N18 --> N40 - N19["`**19** @(4, 29) -@type_name.type -line 144 column 19`"] - N19 --> N22 - N20["`**20** @(8, 29) -@type_name.type -line 144 column 19`"] - N20 --> N24 - N21["`**21** @(14, 30) -@type_name.type -line 144 column 19`"] - N21 --> N26 - N22["`**22** @(4, 29) +line 167 column 8`"/] + N22["`**22** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N22 --> N48 + N23["`**23** @(2, 1) +@type_name.output +line 184 column 19`"] + N24["`**24** @(4, 29) +@type_name.type_ref +line 180 column 19`"] + N24 --> N30 + N25["`**25** @(4, 29) +@type_name.output +line 184 column 19`"] + N26["`**26** @(8, 29) +@type_name.type_ref +line 180 column 19`"] + N26 --> N32 + N27["`**27** @(8, 29) +@type_name.output +line 184 column 19`"] + N28["`**28** @(14, 30) +@type_name.type_ref +line 180 column 19`"] + N28 --> N34 + N29["`**29** @(14, 30) +@type_name.output +line 184 column 19`"] + N30["`**30** @(4, 29) @param.lexical_scope -line 178 column 15`"] - N22 --> N7 - N23["`**23** @(4, 29) -@param.defs -line 179 column 15`"] - N24["`**24** @(8, 29) +line 231 column 15`"] + N30 --> N9 + N31["`**31** @(4, 29) +@param.def +line 232 column 15`"] + N32["`**32** @(8, 29) @param.lexical_scope -line 178 column 15`"] - N24 --> N9 - N25["`**25** @(8, 29) -@param.defs -line 179 column 15`"] - N26["`**26** @(14, 30) +line 231 column 15`"] + N32 --> N11 + N33["`**33** @(8, 29) +@param.def +line 232 column 15`"] + N34["`**34** @(14, 30) @param.lexical_scope -line 178 column 15`"] - N26 --> N11 - N27["`**27** @(14, 30) -@param.defs -line 179 column 15`"] - N28["`**28** @(4, 34) +line 231 column 15`"] + N34 --> N13 + N35["`**35** @(14, 30) +@param.def +line 232 column 15`"] + N36["`**36** @(4, 34) @block.lexical_scope -line 265 column 15`"] - N28 --> N7 - N29["`**29** @(4, 34) +line 316 column 15`"] + N36 --> N9 + N37["`**37** @(4, 34) @block.defs -line 266 column 15`"] - N30["`**30** @(8, 33) +line 317 column 15`"] + N38["`**38** @(8, 33) @block.lexical_scope -line 265 column 15`"] - N30 --> N9 - N31["`**31** @(8, 33) +line 316 column 15`"] + N38 --> N11 + N39["`**39** @(8, 33) @block.defs -line 266 column 15`"] - N32["`**32** @(14, 35) +line 317 column 15`"] + N40["`**40** @(14, 35) @block.lexical_scope -line 265 column 15`"] - N32 --> N11 - N33["`**33** @(14, 35) +line 316 column 15`"] + N40 --> N13 + N41["`**41** @(14, 35) @block.defs -line 266 column 15`"] - N34["`**34** @(5, 1) +line 317 column 15`"] + N42["`**42** @(5, 1) @stmt.lexical_scope -line 270 column 14`"] - N34 --> N28 - N34 --> N35 - N35["`**35** @(5, 1) +line 321 column 14`"] + N42 --> N36 + N42 --> N43 + N43["`**43** @(5, 1) @stmt.defs -line 271 column 14`"] - N36["`**36** @(9, 1) +line 322 column 14`"] + N44["`**44** @(9, 1) @stmt.lexical_scope -line 270 column 14`"] - N36 --> N30 - N36 --> N37 - N37["`**37** @(9, 1) +line 321 column 14`"] + N44 --> N38 + N44 --> N45 + N45["`**45** @(9, 1) @stmt.defs -line 271 column 14`"] - N38["`**38** @(15, 1) +line 322 column 14`"] + N46["`**46** @(15, 1) @stmt.lexical_scope -line 270 column 14`"] - N38 --> N32 - N38 --> N39 - N39["`**39** @(15, 1) +line 321 column 14`"] + N46 --> N40 + N46 --> N47 + N47["`**47** @(15, 1) @stmt.defs -line 271 column 14`"] - N40["`**40** @(2, 1) +line 322 column 14`"] + N48["`**48** @(2, 1) @state_var.lexical_scope -line 370 column 19`"] - N40 --> N3 - N41["`**41** @(2, 1) -@state_var.defs -line 371 column 19`"] - N41 --> N42 - N42[\"`**x** @(2, 1) +line 441 column 19`"] + N48 --> N3 + N49["`**49** @(2, 1) +@state_var.def +line 442 column 19`"] + N49 --> N50 + N50[\"`**x** @(2, 1) def -line 381 column 8`"/] - N42 --> N43 - N43[\"`**@typeof** @(2, 1) +line 452 column 8`"/] + N50 --> N51 + N51[/"`**@typeof** @(2, 1) typeof -line 389 column 8`"/] - N43 --> N18 - N44["`**44** @(5, 15) +line 458 column 8`"\] + N51 --> N23 + N52["`**52** @(5, 15) @expr.lexical_scope -line 501 column 14`"] - N44 --> N34 - N45["`**45** @(5, 15) -@expr.type -line 503 column 14`"] - N45 --> N50 - N46["`**46** @(9, 15) +line 617 column 14`"] + N52 --> N42 + N53["`**53** @(5, 15) +@expr.output +line 619 column 14`"] + N53 --> N58 + N54["`**54** @(9, 15) @expr.lexical_scope -line 501 column 14`"] - N46 --> N36 - N47["`**47** @(9, 15) -@expr.type -line 503 column 14`"] - N47 --> N51 - N48["`**48** @(15, 15) +line 617 column 14`"] + N54 --> N44 + N55["`**55** @(9, 15) +@expr.output +line 619 column 14`"] + N55 --> N59 + N56["`**56** @(15, 15) @expr.lexical_scope -line 501 column 14`"] - N48 --> N38 - N49["`**49** @(15, 15) -@expr.type -line 503 column 14`"] - N49 --> N52 - N50[/"`**x** @(5, 15) -@name.ref -line 507 column 14`"\] - N50 --> N44 - N51[/"`**y** @(9, 15) -@name.ref -line 507 column 14`"\] - N51 --> N46 - N52[/"`**x** @(15, 15) -@name.ref -line 507 column 14`"\] - N52 --> N48 +line 617 column 14`"] + N56 --> N46 + N57["`**57** @(15, 15) +@expr.output +line 619 column 14`"] + N57 --> N60 + N58[/"`**x** @(5, 15) +ref +line 655 column 8`"\] + N58 --> N52 + N59[/"`**y** @(9, 15) +ref +line 655 column 8`"\] + N59 --> N54 + N60[/"`**x** @(15, 15) +ref +line 655 column 8`"\] + N60 --> N56 diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.mmd new file mode 100644 index 000000000..e16faf94b --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.mmd @@ -0,0 +1,13 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +%% WARNING: Parsing failed, graph may be incomplete +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.txt new file mode 100644 index 000000000..734e15640 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.4.11.txt @@ -0,0 +1,3 @@ +# This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +References and definitions: diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.mmd new file mode 100644 index 000000000..44e6985f2 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.mmd @@ -0,0 +1,263 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N1 --> N4 + N1 --> N7 + N1 --> N10 + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] + N2 --> N4 + N2 --> N7 + N2 --> N10 + N3["`**3** @(11, 1) +@contract.lexical_scope +line 34 column 18`"] + N3 --> N1 + N3 --> N5 + N4["`**4** @(11, 1) +@contract.def +line 35 column 18`"] + N4 --> N18 + N5["`**5** @(11, 1) +@contract.members +line 36 column 18`"] + N5 --> N16 + N6["`**6** @(4, 1) +@library.lexical_scope +line 50 column 17`"] + N6 --> N1 + N6 --> N8 + N7["`**7** @(4, 1) +@library.def +line 51 column 17`"] + N7 --> N20 + N8["`**8** @(4, 1) +@library.members +line 52 column 17`"] + N8 --> N13 + N9["`**9** @(1, 1) +@struct.lexical_scope +line 58 column 16`"] + N9 --> N1 + N10["`**10** @(1, 1) +@struct.def +line 59 column 16`"] + N10 --> N40 + N11["`**11** @(1, 1) +@struct.members +line 60 column 16`"] + N11 --> N54 + N12["`**12** @(6, 1) +@struct.lexical_scope +line 58 column 16`"] + N12 --> N6 + N13["`**13** @(6, 1) +@struct.def +line 59 column 16`"] + N13 --> N43 + N14["`**14** @(6, 1) +@struct.members +line 60 column 16`"] + N14 --> N56 + N14 --> N58 + N15["`**15** @(13, 1) +@struct.lexical_scope +line 58 column 16`"] + N15 --> N3 + N16["`**16** @(13, 1) +@struct.def +line 59 column 16`"] + N16 --> N46 + N17["`**17** @(13, 1) +@struct.members +line 60 column 16`"] + N17 --> N60 + N17 --> N62 + N18[\"`**MyContract** @(11, 1) +def +line 126 column 8`"/] + N18 --> N19 + N19[\"`**.** @(11, 1) +member +line 133 column 8`"/] + N19 --> N5 + N20[\"`**SomeLib** @(4, 1) +def +line 154 column 8`"/] + N20 --> N21 + N21[\"`**.** @(4, 1) +member +line 159 column 8`"/] + N21 --> N8 + N22["`**22** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N22 --> N49 + N23["`**23** @(2, 1) +@type_name.output +line 184 column 19`"] + N24["`**24** @(7, 1) +@type_name.type_ref +line 180 column 19`"] + N24 --> N50 + N25["`**25** @(7, 1) +@type_name.output +line 184 column 19`"] + N26["`**26** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N26 --> N51 + N27["`**27** @(8, 1) +@type_name.output +line 184 column 19`"] + N27 --> N33 + N28["`**28** @(14, 1) +@type_name.type_ref +line 180 column 19`"] + N28 --> N52 + N29["`**29** @(14, 1) +@type_name.output +line 184 column 19`"] + N30["`**30** @(15, 1) +@type_name.type_ref +line 180 column 19`"] + N30 --> N53 + N31["`**31** @(15, 1) +@type_name.output +line 184 column 19`"] + N31 --> N35 + N32["`**32** @(8, 1) +@id_path.left +line 188 column 17`"] + N32 --> N26 + N33["`**33** @(8, 1) +@id_path.right +line 189 column 17`"] + N33 --> N36 + N34["`**34** @(15, 1) +@id_path.left +line 188 column 17`"] + N34 --> N30 + N35["`**35** @(15, 1) +@id_path.right +line 189 column 17`"] + N35 --> N38 + N36[/"`**TopLevelStruct** @(8, 1) +@name.ref +line 205 column 14`"\] + N36 --> N32 + N37[/"`**SomeLib** @(15, 1) +@name.ref +line 205 column 14`"\] + N37 --> N34 + N38[/"`**LibStruct** @(15, 1) +@name.ref +line 205 column 14`"\] + N38 --> N39 + N39[/"`**.** @(15, 1) +member +line 214 column 8`"\] + N39 --> N37 + N40[\"`**TopLevelStruct** @(1, 1) +def +line 540 column 8`"/] + N40 --> N41 + N41[\"`**@typeof** @(1, 1) +type_def +line 545 column 8`"/] + N41 --> N42 + N42[\"`**.** @(1, 1) +member +line 548 column 8`"/] + N42 --> N11 + N43[\"`**LibStruct** @(6, 1) +def +line 540 column 8`"/] + N43 --> N44 + N44[\"`**@typeof** @(6, 1) +type_def +line 545 column 8`"/] + N44 --> N45 + N45[\"`**.** @(6, 1) +member +line 548 column 8`"/] + N45 --> N14 + N46[\"`**ContractStruct** @(13, 1) +def +line 540 column 8`"/] + N46 --> N47 + N47[\"`**@typeof** @(13, 1) +type_def +line 545 column 8`"/] + N47 --> N48 + N48[\"`**.** @(13, 1) +member +line 548 column 8`"/] + N48 --> N17 + N49["`**49** @(1, 1) +@member.lexical_scope +line 557 column 16`"] + N49 --> N9 + N50["`**50** @(6, 1) +@member.lexical_scope +line 557 column 16`"] + N50 --> N12 + N51["`**51** @(6, 1) +@member.lexical_scope +line 557 column 16`"] + N51 --> N12 + N52["`**52** @(13, 1) +@member.lexical_scope +line 557 column 16`"] + N52 --> N15 + N53["`**53** @(13, 1) +@member.lexical_scope +line 557 column 16`"] + N53 --> N15 + N54[\"`**x** @(1, 1) +def +line 566 column 8`"/] + N54 --> N55 + N55[/"`**@typeof** @(1, 1) +typeof +line 573 column 8`"\] + N55 --> N23 + N56[\"`**y** @(6, 1) +def +line 566 column 8`"/] + N56 --> N57 + N57[/"`**@typeof** @(6, 1) +typeof +line 573 column 8`"\] + N57 --> N25 + N58[\"`**top_level_struct** @(6, 1) +def +line 566 column 8`"/] + N58 --> N59 + N59[/"`**@typeof** @(6, 1) +typeof +line 573 column 8`"\] + N59 --> N27 + N60[\"`**z** @(13, 1) +def +line 566 column 8`"/] + N60 --> N61 + N61[/"`**@typeof** @(13, 1) +typeof +line 573 column 8`"\] + N61 --> N29 + N62[\"`**lib_struct** @(13, 1) +def +line 566 column 8`"/] + N62 --> N63 + N63[/"`**@typeof** @(13, 1) +typeof +line 573 column 8`"\] + N63 --> N31 diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt new file mode 100644 index 000000000..48096c0d2 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/generated/0.6.0.txt @@ -0,0 +1,44 @@ +# This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +References and definitions: + ╭─[crates/solidity/testing/snapshots/bindings_output/structs/declaration/input.sol:1:1] + │ + 1 │ struct TopLevelStruct { + │ ───────┬────── + │ ╰──────── def: 1 + 2 │ int x; + │ ┬ + │ ╰── def: 2 + │ + 5 │ library SomeLib { + │ ───┬─── + │ ╰───── def: 3 + 6 │ struct LibStruct { + │ ────┬──── + │ ╰────── def: 4 + 7 │ int y; + │ ┬ + │ ╰── def: 5 + 8 │ TopLevelStruct top_level_struct; + │ ───────┬────── ────────┬─────── + │ ╰───────────────────────── ref: 1 + │ │ + │ ╰───────── def: 6 + │ + 12 │ contract MyContract { + │ ─────┬──── + │ ╰────── def: 7 + 13 │ struct ContractStruct { + │ ───────┬────── + │ ╰──────── def: 8 + 14 │ int z; + │ ┬ + │ ╰── def: 9 + 15 │ SomeLib.LibStruct lib_struct; + │ ───┬─── ────┬──── ─────┬──── + │ ╰────────────────────────── ref: 3 + │ │ │ + │ ╰───────────────── ref: 4 + │ │ + │ ╰────── def: 10 +────╯ diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/declaration/input.sol b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/input.sol new file mode 100644 index 000000000..a21a08d48 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/declaration/input.sol @@ -0,0 +1,18 @@ +struct TopLevelStruct { + int x; +} + +library SomeLib { + struct LibStruct { + int y; + TopLevelStruct top_level_struct; + } +} + +contract MyContract { + struct ContractStruct { + int z; + SomeLib.LibStruct lib_struct; + } +} + diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.mmd new file mode 100644 index 000000000..e16faf94b --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.mmd @@ -0,0 +1,13 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +%% WARNING: Parsing failed, graph may be incomplete +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.txt new file mode 100644 index 000000000..734e15640 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.4.11.txt @@ -0,0 +1,3 @@ +# This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +References and definitions: diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.mmd new file mode 100644 index 000000000..3bf1b4800 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.mmd @@ -0,0 +1,1396 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N1 --> N4 + N1 --> N7 + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] + N2 --> N4 + N2 --> N7 + N3["`**3** @(5, 1) +@contract.lexical_scope +line 34 column 18`"] + N3 --> N1 + N3 --> N5 + N3 --> N147 + N3 --> N149 + N4["`**4** @(5, 1) +@contract.def +line 35 column 18`"] + N4 --> N18 + N5["`**5** @(5, 1) +@contract.members +line 36 column 18`"] + N5 --> N10 + N5 --> N13 + N5 --> N15 + N5 --> N17 + N6["`**6** @(1, 1) +@struct.lexical_scope +line 58 column 16`"] + N6 --> N1 + N7["`**7** @(1, 1) +@struct.def +line 59 column 16`"] + N7 --> N154 + N8["`**8** @(1, 1) +@struct.members +line 60 column 16`"] + N8 --> N167 + N8 --> N169 + N9["`**9** @(7, 1) +@struct.lexical_scope +line 58 column 16`"] + N9 --> N3 + N10["`**10** @(7, 1) +@struct.def +line 59 column 16`"] + N10 --> N157 + N11["`**11** @(7, 1) +@struct.members +line 60 column 16`"] + N11 --> N171 + N11 --> N173 + N11 --> N175 + N11 --> N177 + N11 --> N179 + N12["`**12** @(17, 1) +@function.lexical_scope +line 70 column 18`"] + N12 --> N3 + N12 --> N81 + N12 --> N83 + N12 --> N85 + N13["`**13** @(17, 1) +@function.def +line 71 column 18`"] + N13 --> N20 + N14["`**14** @(24, 1) +@function.lexical_scope +line 70 column 18`"] + N14 --> N3 + N14 --> N87 + N15["`**15** @(24, 1) +@function.def +line 71 column 18`"] + N15 --> N21 + N16["`**16** @(30, 1) +@function.lexical_scope +line 70 column 18`"] + N16 --> N3 + N16 --> N89 + N16 --> N91 + N17["`**17** @(30, 1) +@function.def +line 71 column 18`"] + N17 --> N22 + N18[\"`**CrowdFunding** @(5, 1) +def +line 126 column 8`"/] + N18 --> N19 + N19[\"`**.** @(5, 1) +member +line 133 column 8`"/] + N19 --> N5 + N20[\"`**newCampaign** @(17, 1) +def +line 167 column 8`"/] + N21[\"`**contribute** @(24, 1) +def +line 167 column 8`"/] + N22[\"`**checkGoalReached** @(30, 1) +def +line 167 column 8`"/] + N23["`**23** @(2, 1) +@type_name.type_ref +line 180 column 19`"] + N23 --> N160 + N24["`**24** @(2, 1) +@type_name.output +line 184 column 19`"] + N25["`**25** @(3, 1) +@type_name.type_ref +line 180 column 19`"] + N25 --> N161 + N26["`**26** @(3, 1) +@type_name.output +line 184 column 19`"] + N27["`**27** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N27 --> N162 + N28["`**28** @(8, 1) +@type_name.output +line 184 column 19`"] + N29["`**29** @(9, 1) +@type_name.type_ref +line 180 column 19`"] + N29 --> N163 + N30["`**30** @(9, 1) +@type_name.output +line 184 column 19`"] + N31["`**31** @(10, 1) +@type_name.type_ref +line 180 column 19`"] + N31 --> N164 + N32["`**32** @(10, 1) +@type_name.output +line 184 column 19`"] + N33["`**33** @(11, 1) +@type_name.type_ref +line 180 column 19`"] + N33 --> N165 + N34["`**34** @(11, 1) +@type_name.output +line 184 column 19`"] + N35["`**35** @(12, 1) +@type_name.type_ref +line 180 column 19`"] + N35 --> N166 + N36["`**36** @(12, 1) +@type_name.output +line 184 column 19`"] + N37["`**37** @(12, 24) +@type_name.type_ref +line 180 column 19`"] + N38["`**38** @(12, 24) +@type_name.output +line 184 column 19`"] + N38 --> N66 + N39["`**39** @(14, 1) +@type_name.type_ref +line 180 column 19`"] + N39 --> N146 + N40["`**40** @(14, 1) +@type_name.output +line 184 column 19`"] + N41["`**41** @(16, 1) +@type_name.type_ref +line 180 column 19`"] + N41 --> N148 + N42["`**42** @(16, 1) +@type_name.output +line 184 column 19`"] + N43["`**43** @(16, 20) +@type_name.type_ref +line 180 column 19`"] + N44["`**44** @(16, 20) +@type_name.output +line 184 column 19`"] + N44 --> N68 + N45["`**45** @(18, 26) +@type_name.type_ref +line 180 column 19`"] + N45 --> N80 + N46["`**46** @(18, 26) +@type_name.output +line 184 column 19`"] + N47["`**47** @(18, 54) +@type_name.type_ref +line 180 column 19`"] + N47 --> N82 + N48["`**48** @(18, 54) +@type_name.output +line 184 column 19`"] + N49["`**49** @(18, 82) +@type_name.type_ref +line 180 column 19`"] + N49 --> N84 + N50["`**50** @(18, 82) +@type_name.output +line 184 column 19`"] + N51["`**51** @(20, 1) +@type_name.type_ref +line 180 column 19`"] + N51 --> N112 + N52["`**52** @(20, 1) +@type_name.output +line 184 column 19`"] + N52 --> N70 + N53["`**53** @(25, 25) +@type_name.type_ref +line 180 column 19`"] + N53 --> N86 + N54["`**54** @(25, 25) +@type_name.output +line 184 column 19`"] + N55["`**55** @(26, 1) +@type_name.type_ref +line 180 column 19`"] + N55 --> N118 + N56["`**56** @(26, 1) +@type_name.output +line 184 column 19`"] + N56 --> N72 + N57["`**57** @(31, 31) +@type_name.type_ref +line 180 column 19`"] + N57 --> N88 + N58["`**58** @(31, 31) +@type_name.output +line 184 column 19`"] + N59["`**59** @(31, 64) +@type_name.type_ref +line 180 column 19`"] + N59 --> N90 + N60["`**60** @(31, 64) +@type_name.output +line 184 column 19`"] + N61["`**61** @(32, 1) +@type_name.type_ref +line 180 column 19`"] + N61 --> N124 + N62["`**62** @(32, 1) +@type_name.output +line 184 column 19`"] + N62 --> N74 + N63["`**63** @(35, 1) +@type_name.type_ref +line 180 column 19`"] + N63 --> N130 + N64["`**64** @(35, 1) +@type_name.output +line 184 column 19`"] + N65["`**65** @(12, 24) +@id_path.left +line 188 column 17`"] + N65 --> N37 + N66["`**66** @(12, 24) +@id_path.right +line 189 column 17`"] + N66 --> N75 + N67["`**67** @(16, 20) +@id_path.left +line 188 column 17`"] + N67 --> N43 + N68["`**68** @(16, 20) +@id_path.right +line 189 column 17`"] + N68 --> N76 + N69["`**69** @(20, 1) +@id_path.left +line 188 column 17`"] + N69 --> N51 + N70["`**70** @(20, 1) +@id_path.right +line 189 column 17`"] + N70 --> N77 + N71["`**71** @(26, 1) +@id_path.left +line 188 column 17`"] + N71 --> N55 + N72["`**72** @(26, 1) +@id_path.right +line 189 column 17`"] + N72 --> N78 + N73["`**73** @(32, 1) +@id_path.left +line 188 column 17`"] + N73 --> N61 + N74["`**74** @(32, 1) +@id_path.right +line 189 column 17`"] + N74 --> N79 + N75[/"`**Funder** @(12, 24) +@name.ref +line 205 column 14`"\] + N75 --> N65 + N76[/"`**Campaign** @(16, 20) +@name.ref +line 205 column 14`"\] + N76 --> N67 + N77[/"`**Campaign** @(20, 1) +@name.ref +line 205 column 14`"\] + N77 --> N69 + N78[/"`**Campaign** @(26, 1) +@name.ref +line 205 column 14`"\] + N78 --> N71 + N79[/"`**Campaign** @(32, 1) +@name.ref +line 205 column 14`"\] + N79 --> N73 + N80["`**80** @(18, 26) +@param.lexical_scope +line 231 column 15`"] + N80 --> N12 + N81["`**81** @(18, 26) +@param.def +line 232 column 15`"] + N81 --> N92 + N82["`**82** @(18, 54) +@param.lexical_scope +line 231 column 15`"] + N82 --> N12 + N83["`**83** @(18, 54) +@param.def +line 232 column 15`"] + N83 --> N94 + N84["`**84** @(18, 82) +@param.lexical_scope +line 231 column 15`"] + N84 --> N12 + N85["`**85** @(18, 82) +@param.def +line 232 column 15`"] + N85 --> N96 + N86["`**86** @(25, 25) +@param.lexical_scope +line 231 column 15`"] + N86 --> N14 + N87["`**87** @(25, 25) +@param.def +line 232 column 15`"] + N87 --> N98 + N88["`**88** @(31, 31) +@param.lexical_scope +line 231 column 15`"] + N88 --> N16 + N89["`**89** @(31, 31) +@param.def +line 232 column 15`"] + N89 --> N100 + N90["`**90** @(31, 64) +@param.lexical_scope +line 231 column 15`"] + N90 --> N16 + N91["`**91** @(31, 64) +@param.def +line 232 column 15`"] + N91 --> N102 + N92[\"`**beneficiary** @(18, 26) +def +line 240 column 8`"/] + N92 --> N93 + N93[/"`**@typeof** @(18, 26) +typeof +line 245 column 8`"\] + N93 --> N46 + N94[\"`**goal** @(18, 54) +def +line 240 column 8`"/] + N94 --> N95 + N95[/"`**@typeof** @(18, 54) +typeof +line 245 column 8`"\] + N95 --> N48 + N96[\"`**campaignID** @(18, 82) +def +line 240 column 8`"/] + N96 --> N97 + N97[/"`**@typeof** @(18, 82) +typeof +line 245 column 8`"\] + N97 --> N50 + N98[\"`**campaignID** @(25, 25) +def +line 240 column 8`"/] + N98 --> N99 + N99[/"`**@typeof** @(25, 25) +typeof +line 245 column 8`"\] + N99 --> N54 + N100[\"`**campaignID** @(31, 31) +def +line 240 column 8`"/] + N100 --> N101 + N101[/"`**@typeof** @(31, 31) +typeof +line 245 column 8`"\] + N101 --> N58 + N102[\"`**reached** @(31, 64) +def +line 240 column 8`"/] + N102 --> N103 + N103[/"`**@typeof** @(31, 64) +typeof +line 245 column 8`"\] + N103 --> N60 + N104["`**104** @(18, 98) +@block.lexical_scope +line 316 column 15`"] + N104 --> N12 + N105["`**105** @(18, 98) +@block.defs +line 317 column 15`"] + N106["`**106** @(25, 56) +@block.lexical_scope +line 316 column 15`"] + N106 --> N14 + N107["`**107** @(25, 56) +@block.defs +line 317 column 15`"] + N108["`**108** @(31, 77) +@block.lexical_scope +line 316 column 15`"] + N108 --> N16 + N109["`**109** @(31, 77) +@block.defs +line 317 column 15`"] + N110["`**110** @(19, 1) +@stmt.lexical_scope +line 321 column 14`"] + N110 --> N104 + N110 --> N111 + N111["`**111** @(19, 1) +@stmt.defs +line 322 column 14`"] + N112["`**112** @(20, 1) +@stmt.lexical_scope +line 321 column 14`"] + N112 --> N110 + N112 --> N113 + N113["`**113** @(20, 1) +@stmt.defs +line 322 column 14`"] + N113 --> N138 + N114["`**114** @(21, 1) +@stmt.lexical_scope +line 321 column 14`"] + N114 --> N112 + N114 --> N115 + N115["`**115** @(21, 1) +@stmt.defs +line 322 column 14`"] + N116["`**116** @(22, 1) +@stmt.lexical_scope +line 321 column 14`"] + N116 --> N114 + N116 --> N117 + N117["`**117** @(22, 1) +@stmt.defs +line 322 column 14`"] + N118["`**118** @(26, 1) +@stmt.lexical_scope +line 321 column 14`"] + N118 --> N106 + N118 --> N119 + N119["`**119** @(26, 1) +@stmt.defs +line 322 column 14`"] + N119 --> N140 + N120["`**120** @(27, 1) +@stmt.lexical_scope +line 321 column 14`"] + N120 --> N118 + N120 --> N121 + N121["`**121** @(27, 1) +@stmt.defs +line 322 column 14`"] + N122["`**122** @(28, 1) +@stmt.lexical_scope +line 321 column 14`"] + N122 --> N120 + N122 --> N123 + N123["`**123** @(28, 1) +@stmt.defs +line 322 column 14`"] + N124["`**124** @(32, 1) +@stmt.lexical_scope +line 321 column 14`"] + N124 --> N108 + N124 --> N125 + N125["`**125** @(32, 1) +@stmt.defs +line 322 column 14`"] + N125 --> N142 + N126["`**126** @(33, 1) +@stmt.lexical_scope +line 321 column 14`"] + N126 --> N124 + N126 --> N127 + N127["`**127** @(33, 1) +@stmt.defs +line 322 column 14`"] + N128["`**128** @(34, 1) +@stmt.lexical_scope +line 321 column 14`"] + N128 --> N129 + N129["`**129** @(34, 1) +@stmt.defs +line 322 column 14`"] + N130["`**130** @(35, 1) +@stmt.lexical_scope +line 321 column 14`"] + N130 --> N126 + N130 --> N131 + N131["`**131** @(35, 1) +@stmt.defs +line 322 column 14`"] + N131 --> N144 + N132["`**132** @(36, 1) +@stmt.lexical_scope +line 321 column 14`"] + N132 --> N130 + N132 --> N133 + N133["`**133** @(36, 1) +@stmt.defs +line 322 column 14`"] + N134["`**134** @(37, 1) +@stmt.lexical_scope +line 321 column 14`"] + N134 --> N132 + N134 --> N135 + N135["`**135** @(37, 1) +@stmt.defs +line 322 column 14`"] + N136["`**136** @(38, 1) +@stmt.lexical_scope +line 321 column 14`"] + N136 --> N134 + N136 --> N137 + N137["`**137** @(38, 1) +@stmt.defs +line 322 column 14`"] + N138[\"`**c** @(20, 1) +def +line 389 column 8`"/] + N138 --> N139 + N139[/"`**@typeof** @(20, 1) +typeof +line 395 column 8`"\] + N139 --> N52 + N140[\"`**c** @(26, 1) +def +line 389 column 8`"/] + N140 --> N141 + N141[/"`**@typeof** @(26, 1) +typeof +line 395 column 8`"\] + N141 --> N56 + N142[\"`**c** @(32, 1) +def +line 389 column 8`"/] + N142 --> N143 + N143[/"`**@typeof** @(32, 1) +typeof +line 395 column 8`"\] + N143 --> N62 + N144[\"`**amount** @(35, 1) +def +line 389 column 8`"/] + N144 --> N145 + N145[/"`**@typeof** @(35, 1) +typeof +line 395 column 8`"\] + N145 --> N64 + N146["`**146** @(14, 1) +@state_var.lexical_scope +line 441 column 19`"] + N146 --> N3 + N147["`**147** @(14, 1) +@state_var.def +line 442 column 19`"] + N147 --> N150 + N148["`**148** @(16, 1) +@state_var.lexical_scope +line 441 column 19`"] + N148 --> N3 + N149["`**149** @(16, 1) +@state_var.def +line 442 column 19`"] + N149 --> N152 + N150[\"`**numCampaigns** @(14, 1) +def +line 452 column 8`"/] + N150 --> N151 + N151[/"`**@typeof** @(14, 1) +typeof +line 458 column 8`"\] + N151 --> N40 + N152[\"`**campaigns** @(16, 1) +def +line 452 column 8`"/] + N152 --> N153 + N153[/"`**@typeof** @(16, 1) +typeof +line 458 column 8`"\] + N153 --> N42 + N154[\"`**Funder** @(1, 1) +def +line 540 column 8`"/] + N154 --> N155 + N155[\"`**@typeof** @(1, 1) +type_def +line 545 column 8`"/] + N155 --> N156 + N156[\"`**.** @(1, 1) +member +line 548 column 8`"/] + N156 --> N8 + N157[\"`**Campaign** @(7, 1) +def +line 540 column 8`"/] + N157 --> N158 + N158[\"`**@typeof** @(7, 1) +type_def +line 545 column 8`"/] + N158 --> N159 + N159[\"`**.** @(7, 1) +member +line 548 column 8`"/] + N159 --> N11 + N160["`**160** @(1, 1) +@member.lexical_scope +line 557 column 16`"] + N160 --> N6 + N161["`**161** @(1, 1) +@member.lexical_scope +line 557 column 16`"] + N161 --> N6 + N162["`**162** @(7, 1) +@member.lexical_scope +line 557 column 16`"] + N162 --> N9 + N163["`**163** @(7, 1) +@member.lexical_scope +line 557 column 16`"] + N163 --> N9 + N164["`**164** @(7, 1) +@member.lexical_scope +line 557 column 16`"] + N164 --> N9 + N165["`**165** @(7, 1) +@member.lexical_scope +line 557 column 16`"] + N165 --> N9 + N166["`**166** @(7, 1) +@member.lexical_scope +line 557 column 16`"] + N166 --> N9 + N167[\"`**addr** @(1, 1) +def +line 566 column 8`"/] + N167 --> N168 + N168[/"`**@typeof** @(1, 1) +typeof +line 573 column 8`"\] + N168 --> N24 + N169[\"`**amount** @(1, 1) +def +line 566 column 8`"/] + N169 --> N170 + N170[/"`**@typeof** @(1, 1) +typeof +line 573 column 8`"\] + N170 --> N26 + N171[\"`**beneficiary** @(7, 1) +def +line 566 column 8`"/] + N171 --> N172 + N172[/"`**@typeof** @(7, 1) +typeof +line 573 column 8`"\] + N172 --> N28 + N173[\"`**fundingGoal** @(7, 1) +def +line 566 column 8`"/] + N173 --> N174 + N174[/"`**@typeof** @(7, 1) +typeof +line 573 column 8`"\] + N174 --> N30 + N175[\"`**numFunders** @(7, 1) +def +line 566 column 8`"/] + N175 --> N176 + N176[/"`**@typeof** @(7, 1) +typeof +line 573 column 8`"\] + N176 --> N32 + N177[\"`**amount** @(7, 1) +def +line 566 column 8`"/] + N177 --> N178 + N178[/"`**@typeof** @(7, 1) +typeof +line 573 column 8`"\] + N178 --> N34 + N179[\"`**funders** @(7, 1) +def +line 566 column 8`"/] + N179 --> N180 + N180[/"`**@typeof** @(7, 1) +typeof +line 573 column 8`"\] + N180 --> N36 + N181["`**181** @(19, 1) +@expr.lexical_scope +line 617 column 14`"] + N181 --> N110 + N182["`**182** @(19, 1) +@expr.output +line 619 column 14`"] + N183["`**183** @(19, 1) +@expr.lexical_scope +line 617 column 14`"] + N183 --> N181 + N184["`**184** @(19, 1) +@expr.output +line 619 column 14`"] + N184 --> N295 + N185["`**185** @(19, 21) +@expr.lexical_scope +line 617 column 14`"] + N185 --> N181 + N186["`**186** @(19, 21) +@expr.output +line 619 column 14`"] + N187["`**187** @(19, 21) +@expr.lexical_scope +line 617 column 14`"] + N187 --> N185 + N188["`**188** @(19, 21) +@expr.output +line 619 column 14`"] + N188 --> N296 + N189["`**189** @(20, 29) +@expr.lexical_scope +line 617 column 14`"] + N189 --> N112 + N190["`**190** @(20, 29) +@expr.output +line 619 column 14`"] + N191["`**191** @(20, 29) +@expr.lexical_scope +line 617 column 14`"] + N191 --> N189 + N192["`**192** @(20, 29) +@expr.output +line 619 column 14`"] + N192 --> N297 + N193["`**193** @(20, 40) +@expr.lexical_scope +line 617 column 14`"] + N193 --> N189 + N194["`**194** @(20, 40) +@expr.output +line 619 column 14`"] + N194 --> N298 + N195["`**195** @(21, 1) +@expr.lexical_scope +line 617 column 14`"] + N195 --> N114 + N196["`**196** @(21, 1) +@expr.output +line 619 column 14`"] + N197["`**197** @(21, 1) +@expr.lexical_scope +line 617 column 14`"] + N197 --> N195 + N198["`**198** @(21, 1) +@expr.output +line 619 column 14`"] + N198 --> N320 + N199["`**199** @(21, 1) +@expr.lexical_scope +line 617 column 14`"] + N199 --> N197 + N200["`**200** @(21, 1) +@expr.output +line 619 column 14`"] + N200 --> N299 + N201["`**201** @(21, 24) +@expr.lexical_scope +line 617 column 14`"] + N201 --> N195 + N202["`**202** @(21, 24) +@expr.output +line 619 column 14`"] + N202 --> N300 + N203["`**203** @(22, 1) +@expr.lexical_scope +line 617 column 14`"] + N203 --> N116 + N204["`**204** @(22, 1) +@expr.output +line 619 column 14`"] + N205["`**205** @(22, 1) +@expr.lexical_scope +line 617 column 14`"] + N205 --> N203 + N206["`**206** @(22, 1) +@expr.output +line 619 column 14`"] + N206 --> N322 + N207["`**207** @(22, 1) +@expr.lexical_scope +line 617 column 14`"] + N207 --> N205 + N208["`**208** @(22, 1) +@expr.output +line 619 column 14`"] + N208 --> N301 + N209["`**209** @(22, 24) +@expr.lexical_scope +line 617 column 14`"] + N209 --> N203 + N210["`**210** @(22, 24) +@expr.output +line 619 column 14`"] + N210 --> N302 + N211["`**211** @(26, 29) +@expr.lexical_scope +line 617 column 14`"] + N211 --> N118 + N212["`**212** @(26, 29) +@expr.output +line 619 column 14`"] + N213["`**213** @(26, 29) +@expr.lexical_scope +line 617 column 14`"] + N213 --> N211 + N214["`**214** @(26, 29) +@expr.output +line 619 column 14`"] + N214 --> N303 + N215["`**215** @(26, 40) +@expr.lexical_scope +line 617 column 14`"] + N215 --> N211 + N216["`**216** @(26, 40) +@expr.output +line 619 column 14`"] + N216 --> N304 + N217["`**217** @(27, 1) +@expr.lexical_scope +line 617 column 14`"] + N217 --> N120 + N218["`**218** @(27, 1) +@expr.output +line 619 column 14`"] + N219["`**219** @(27, 1) +@expr.lexical_scope +line 617 column 14`"] + N219 --> N217 + N220["`**220** @(27, 1) +@expr.output +line 619 column 14`"] + N221["`**221** @(27, 1) +@expr.lexical_scope +line 617 column 14`"] + N221 --> N219 + N222["`**222** @(27, 1) +@expr.output +line 619 column 14`"] + N222 --> N324 + N223["`**223** @(27, 1) +@expr.lexical_scope +line 617 column 14`"] + N223 --> N221 + N224["`**224** @(27, 1) +@expr.output +line 619 column 14`"] + N224 --> N305 + N225["`**225** @(27, 19) +@expr.lexical_scope +line 617 column 14`"] + N225 --> N219 + N226["`**226** @(27, 19) +@expr.output +line 619 column 14`"] + N227["`**227** @(27, 19) +@expr.lexical_scope +line 617 column 14`"] + N227 --> N225 + N228["`**228** @(27, 19) +@expr.output +line 619 column 14`"] + N228 --> N326 + N229["`**229** @(27, 19) +@expr.lexical_scope +line 617 column 14`"] + N229 --> N227 + N230["`**230** @(27, 19) +@expr.output +line 619 column 14`"] + N230 --> N306 + N231["`**231** @(27, 36) +@expr.lexical_scope +line 617 column 14`"] + N231 --> N217 + N232["`**232** @(27, 36) +@expr.output +line 619 column 14`"] + N233["`**233** @(27, 36) +@expr.lexical_scope +line 617 column 14`"] + N233 --> N231 + N234["`**234** @(27, 36) +@expr.output +line 619 column 14`"] + N234 --> N307 + N235["`**235** @(27, 50) +@expr.lexical_scope +line 617 column 14`"] + N235 --> N350 + N236["`**236** @(27, 50) +@expr.output +line 619 column 14`"] + N236 --> N328 + N237["`**237** @(27, 50) +@expr.lexical_scope +line 617 column 14`"] + N237 --> N235 + N238["`**238** @(27, 50) +@expr.output +line 619 column 14`"] + N238 --> N308 + N239["`**239** @(27, 70) +@expr.lexical_scope +line 617 column 14`"] + N239 --> N352 + N240["`**240** @(27, 70) +@expr.output +line 619 column 14`"] + N240 --> N330 + N241["`**241** @(27, 70) +@expr.lexical_scope +line 617 column 14`"] + N241 --> N239 + N242["`**242** @(27, 70) +@expr.output +line 619 column 14`"] + N242 --> N309 + N243["`**243** @(28, 1) +@expr.lexical_scope +line 617 column 14`"] + N243 --> N122 + N244["`**244** @(28, 1) +@expr.output +line 619 column 14`"] + N245["`**245** @(28, 1) +@expr.lexical_scope +line 617 column 14`"] + N245 --> N243 + N246["`**246** @(28, 1) +@expr.output +line 619 column 14`"] + N246 --> N332 + N247["`**247** @(28, 1) +@expr.lexical_scope +line 617 column 14`"] + N247 --> N245 + N248["`**248** @(28, 1) +@expr.output +line 619 column 14`"] + N248 --> N310 + N249["`**249** @(28, 20) +@expr.lexical_scope +line 617 column 14`"] + N249 --> N243 + N250["`**250** @(28, 20) +@expr.output +line 619 column 14`"] + N250 --> N334 + N251["`**251** @(28, 20) +@expr.lexical_scope +line 617 column 14`"] + N251 --> N249 + N252["`**252** @(28, 20) +@expr.output +line 619 column 14`"] + N252 --> N311 + N253["`**253** @(32, 29) +@expr.lexical_scope +line 617 column 14`"] + N253 --> N124 + N254["`**254** @(32, 29) +@expr.output +line 619 column 14`"] + N255["`**255** @(32, 29) +@expr.lexical_scope +line 617 column 14`"] + N255 --> N253 + N256["`**256** @(32, 29) +@expr.output +line 619 column 14`"] + N256 --> N312 + N257["`**257** @(32, 40) +@expr.lexical_scope +line 617 column 14`"] + N257 --> N253 + N258["`**258** @(32, 40) +@expr.output +line 619 column 14`"] + N258 --> N313 + N259["`**259** @(33, 13) +@expr.lexical_scope +line 617 column 14`"] + N259 --> N126 + N260["`**260** @(33, 13) +@expr.output +line 619 column 14`"] + N261["`**261** @(33, 13) +@expr.lexical_scope +line 617 column 14`"] + N261 --> N259 + N262["`**262** @(33, 13) +@expr.output +line 619 column 14`"] + N262 --> N336 + N263["`**263** @(33, 13) +@expr.lexical_scope +line 617 column 14`"] + N263 --> N261 + N264["`**264** @(33, 13) +@expr.output +line 619 column 14`"] + N264 --> N314 + N265["`**265** @(33, 23) +@expr.lexical_scope +line 617 column 14`"] + N265 --> N259 + N266["`**266** @(33, 23) +@expr.output +line 619 column 14`"] + N266 --> N338 + N267["`**267** @(33, 23) +@expr.lexical_scope +line 617 column 14`"] + N267 --> N265 + N268["`**268** @(33, 23) +@expr.output +line 619 column 14`"] + N268 --> N315 + N269["`**269** @(34, 19) +@expr.lexical_scope +line 617 column 14`"] + N269 --> N128 + N270["`**270** @(34, 19) +@expr.output +line 619 column 14`"] + N271["`**271** @(35, 22) +@expr.lexical_scope +line 617 column 14`"] + N271 --> N130 + N272["`**272** @(35, 22) +@expr.output +line 619 column 14`"] + N272 --> N340 + N273["`**273** @(35, 22) +@expr.lexical_scope +line 617 column 14`"] + N273 --> N271 + N274["`**274** @(35, 22) +@expr.output +line 619 column 14`"] + N274 --> N316 + N275["`**275** @(36, 1) +@expr.lexical_scope +line 617 column 14`"] + N275 --> N132 + N276["`**276** @(36, 1) +@expr.output +line 619 column 14`"] + N277["`**277** @(36, 1) +@expr.lexical_scope +line 617 column 14`"] + N277 --> N275 + N278["`**278** @(36, 1) +@expr.output +line 619 column 14`"] + N278 --> N342 + N279["`**279** @(36, 1) +@expr.lexical_scope +line 617 column 14`"] + N279 --> N277 + N280["`**280** @(36, 1) +@expr.output +line 619 column 14`"] + N280 --> N317 + N281["`**281** @(36, 19) +@expr.lexical_scope +line 617 column 14`"] + N281 --> N275 + N282["`**282** @(36, 19) +@expr.output +line 619 column 14`"] + N283["`**283** @(37, 1) +@expr.lexical_scope +line 617 column 14`"] + N283 --> N134 + N284["`**284** @(37, 1) +@expr.output +line 619 column 14`"] + N285["`**285** @(37, 1) +@expr.lexical_scope +line 617 column 14`"] + N285 --> N283 + N286["`**286** @(37, 1) +@expr.output +line 619 column 14`"] + N286 --> N344 + N287["`**287** @(37, 1) +@expr.lexical_scope +line 617 column 14`"] + N287 --> N285 + N288["`**288** @(37, 1) +@expr.output +line 619 column 14`"] + N288 --> N346 + N289["`**289** @(37, 1) +@expr.lexical_scope +line 617 column 14`"] + N289 --> N287 + N290["`**290** @(37, 1) +@expr.output +line 619 column 14`"] + N290 --> N318 + N291["`**291** @(37, 32) +@expr.lexical_scope +line 617 column 14`"] + N291 --> N349 + N292["`**292** @(37, 32) +@expr.output +line 619 column 14`"] + N292 --> N319 + N293["`**293** @(38, 15) +@expr.lexical_scope +line 617 column 14`"] + N293 --> N136 + N294["`**294** @(38, 15) +@expr.output +line 619 column 14`"] + N295[/"`**campaignID** @(19, 1) +ref +line 655 column 8`"\] + N295 --> N183 + N296[/"`**numCampaigns** @(19, 21) +ref +line 655 column 8`"\] + N296 --> N187 + N297[/"`**campaigns** @(20, 29) +ref +line 655 column 8`"\] + N297 --> N191 + N298[/"`**campaignID** @(20, 40) +ref +line 655 column 8`"\] + N298 --> N193 + N299[/"`**c** @(21, 1) +ref +line 655 column 8`"\] + N299 --> N199 + N300[/"`**beneficiary** @(21, 24) +ref +line 655 column 8`"\] + N300 --> N201 + N301[/"`**c** @(22, 1) +ref +line 655 column 8`"\] + N301 --> N207 + N302[/"`**goal** @(22, 24) +ref +line 655 column 8`"\] + N302 --> N209 + N303[/"`**campaigns** @(26, 29) +ref +line 655 column 8`"\] + N303 --> N213 + N304[/"`**campaignID** @(26, 40) +ref +line 655 column 8`"\] + N304 --> N215 + N305[/"`**c** @(27, 1) +ref +line 655 column 8`"\] + N305 --> N223 + N306[/"`**c** @(27, 19) +ref +line 655 column 8`"\] + N306 --> N229 + N307[/"`**Funder** @(27, 36) +ref +line 655 column 8`"\] + N307 --> N233 + N308[/"`**msg** @(27, 50) +ref +line 655 column 8`"\] + N308 --> N237 + N309[/"`**msg** @(27, 70) +ref +line 655 column 8`"\] + N309 --> N241 + N310[/"`**c** @(28, 1) +ref +line 655 column 8`"\] + N310 --> N247 + N311[/"`**msg** @(28, 20) +ref +line 655 column 8`"\] + N311 --> N251 + N312[/"`**campaigns** @(32, 29) +ref +line 655 column 8`"\] + N312 --> N255 + N313[/"`**campaignID** @(32, 40) +ref +line 655 column 8`"\] + N313 --> N257 + N314[/"`**c** @(33, 13) +ref +line 655 column 8`"\] + N314 --> N263 + N315[/"`**c** @(33, 23) +ref +line 655 column 8`"\] + N315 --> N267 + N316[/"`**c** @(35, 22) +ref +line 655 column 8`"\] + N316 --> N273 + N317[/"`**c** @(36, 1) +ref +line 655 column 8`"\] + N317 --> N279 + N318[/"`**c** @(37, 1) +ref +line 655 column 8`"\] + N318 --> N289 + N319[/"`**amount** @(37, 32) +ref +line 655 column 8`"\] + N319 --> N291 + N320[/"`**beneficiary** @(21, 1) +ref +line 673 column 8`"\] + N320 --> N321 + N321[/"`**.** @(21, 1) +member +line 676 column 8`"\] + N321 --> N200 + N322[/"`**fundingGoal** @(22, 1) +ref +line 673 column 8`"\] + N322 --> N323 + N323[/"`**.** @(22, 1) +member +line 676 column 8`"\] + N323 --> N208 + N324[/"`**funders** @(27, 1) +ref +line 673 column 8`"\] + N324 --> N325 + N325[/"`**.** @(27, 1) +member +line 676 column 8`"\] + N325 --> N224 + N326[/"`**numFunders** @(27, 19) +ref +line 673 column 8`"\] + N326 --> N327 + N327[/"`**.** @(27, 19) +member +line 676 column 8`"\] + N327 --> N230 + N328[/"`**sender** @(27, 50) +ref +line 673 column 8`"\] + N328 --> N329 + N329[/"`**.** @(27, 50) +member +line 676 column 8`"\] + N329 --> N238 + N330[/"`**value** @(27, 70) +ref +line 673 column 8`"\] + N330 --> N331 + N331[/"`**.** @(27, 70) +member +line 676 column 8`"\] + N331 --> N242 + N332[/"`**amount** @(28, 1) +ref +line 673 column 8`"\] + N332 --> N333 + N333[/"`**.** @(28, 1) +member +line 676 column 8`"\] + N333 --> N248 + N334[/"`**value** @(28, 20) +ref +line 673 column 8`"\] + N334 --> N335 + N335[/"`**.** @(28, 20) +member +line 676 column 8`"\] + N335 --> N252 + N336[/"`**amount** @(33, 13) +ref +line 673 column 8`"\] + N336 --> N337 + N337[/"`**.** @(33, 13) +member +line 676 column 8`"\] + N337 --> N264 + N338[/"`**fundingGoal** @(33, 23) +ref +line 673 column 8`"\] + N338 --> N339 + N339[/"`**.** @(33, 23) +member +line 676 column 8`"\] + N339 --> N268 + N340[/"`**amount** @(35, 22) +ref +line 673 column 8`"\] + N340 --> N341 + N341[/"`**.** @(35, 22) +member +line 676 column 8`"\] + N341 --> N274 + N342[/"`**amount** @(36, 1) +ref +line 673 column 8`"\] + N342 --> N343 + N343[/"`**.** @(36, 1) +member +line 676 column 8`"\] + N343 --> N280 + N344[/"`**transfer** @(37, 1) +ref +line 673 column 8`"\] + N344 --> N345 + N345[/"`**.** @(37, 1) +member +line 676 column 8`"\] + N345 --> N288 + N346[/"`**beneficiary** @(37, 1) +ref +line 673 column 8`"\] + N346 --> N347 + N347[/"`**.** @(37, 1) +member +line 676 column 8`"\] + N347 --> N290 + N348["`**348** @(27, 43) +@args.lexical_scope +line 691 column 14`"] + N348 --> N231 + N349["`**349** @(37, 31) +@args.lexical_scope +line 691 column 14`"] + N349 --> N283 + N350["`**350** @(27, 45) +@named_arg.lexical_scope +line 703 column 19`"] + N350 --> N348 + N351[/"`**addr** @(27, 45) +ref +line 707 column 8`"\] + N352["`**352** @(27, 62) +@named_arg.lexical_scope +line 703 column 19`"] + N352 --> N348 + N353[/"`**amount** @(27, 62) +ref +line 707 column 8`"\] diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt new file mode 100644 index 000000000..9ff8b5003 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/generated/0.6.0.txt @@ -0,0 +1,181 @@ +# This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +References and definitions: + ╭─[crates/solidity/testing/snapshots/bindings_output/structs/sample/input.sol:1:1] + │ + 1 │ struct Funder { + │ ───┬── + │ ╰──── def: 1 + 2 │ address addr; + │ ──┬─ + │ ╰─── def: 2 + 3 │ uint amount; + │ ───┬── + │ ╰──── def: 3 + │ + 6 │ contract CrowdFunding { + │ ──────┬───── + │ ╰─────── def: 4 + 7 │ struct Campaign { + │ ────┬─── + │ ╰───── def: 5 + 8 │ address payable beneficiary; + │ ─────┬───── + │ ╰─────── def: 6 + 9 │ uint fundingGoal; + │ ─────┬───── + │ ╰─────── def: 7 + 10 │ uint numFunders; + │ ─────┬──── + │ ╰────── def: 8 + 11 │ uint amount; + │ ───┬── + │ ╰──── def: 9 + 12 │ mapping(uint => Funder) funders; + │ ───┬── ───┬─── + │ ╰───────────── unresolved + │ │ + │ ╰───── def: 10 + │ + 15 │ uint numCampaigns; + │ ──────┬───── + │ ╰─────── def: 11 + 16 │ mapping(uint => Campaign) campaigns; + │ ────┬─── ────┬──── + │ ╰──────────────── unresolved + │ │ + │ ╰────── def: 12 + │ + 18 │ function newCampaign(address payable beneficiary, uint goal) public returns (uint campaignID) { + │ ─────┬───── ─────┬───── ──┬─ ─────┬──── + │ ╰─────────────────────────────────────────────────────────────────────────────── def: 13 + │ │ │ │ + │ ╰─────────────────────────────────────────────────── def: 14 + │ │ │ + │ ╰──────────────────────────────────── def: 15 + │ │ + │ ╰────── def: 16 + 19 │ campaignID = numCampaigns++; + │ ─────┬──── ──────┬───── + │ ╰───────────────────── ref: 16 + │ │ + │ ╰─────── ref: 11 + 20 │ Campaign storage c = campaigns[campaignID]; + │ ────┬─── ┬ ────┬──── ─────┬──── + │ ╰────────────────────────────────────── ref: 5 + │ │ │ │ + │ ╰───────────────────────── def: 17 + │ │ │ + │ ╰───────────────── ref: 12 + │ │ + │ ╰────── ref: 16 + 21 │ c.beneficiary = beneficiary; + │ ┬ ─────┬───── ─────┬───── + │ ╰──────────────────────────── ref: 17 + │ │ │ + │ ╰───────────────────── ref: 6 + │ │ + │ ╰─────── ref: 14 + 22 │ c.fundingGoal = goal; + │ ┬ ─────┬───── ──┬─ + │ ╰───────────────────── ref: 17 + │ │ │ + │ ╰────────────── ref: 7 + │ │ + │ ╰─── ref: 15 + │ + 25 │ function contribute(uint campaignID) public payable { + │ ─────┬──── ─────┬──── + │ ╰────────────────────── def: 18 + │ │ + │ ╰────── def: 19 + 26 │ Campaign storage c = campaigns[campaignID]; + │ ────┬─── ┬ ────┬──── ─────┬──── + │ ╰────────────────────────────────────── ref: 5 + │ │ │ │ + │ ╰───────────────────────── def: 20 + │ │ │ + │ ╰───────────────── ref: 12 + │ │ + │ ╰────── ref: 19 + 27 │ c.funders[c.numFunders++] = Funder({addr: msg.sender, amount: msg.value}); + │ ┬ ───┬─── ┬ ─────┬──── ───┬── ──┬─ ─┬─ ───┬── ───┬── ─┬─ ──┬── + │ ╰──────────────────────────────────────────────────────────────────────── ref: 20 + │ │ │ │ │ │ │ │ │ │ │ + │ ╰─────────────────────────────────────────────────────────────────── ref: 10 + │ │ │ │ │ │ │ │ │ │ + │ ╰────────────────────────────────────────────────────────────── ref: 20 + │ │ │ │ │ │ │ │ │ + │ ╰─────────────────────────────────────────────────────── ref: 8 + │ │ │ │ │ │ │ │ + │ ╰───────────────────────────────────────── ref: 1 + │ │ │ │ │ │ │ + │ ╰────────────────────────────────── unresolved + │ │ │ │ │ │ + │ ╰───────────────────────────── unresolved + │ │ │ │ │ + │ ╰─────────────────────── unresolved + │ │ │ │ + │ ╰─────────────── unresolved + │ │ │ + │ ╰───────── unresolved + │ │ + │ ╰──── unresolved + 28 │ c.amount += msg.value; + │ ┬ ───┬── ─┬─ ──┬── + │ ╰────────────────────── ref: 20 + │ │ │ │ + │ ╰───────────────── ref: 9 + │ │ │ + │ ╰───────── unresolved + │ │ + │ ╰──── unresolved + │ + 31 │ function checkGoalReached(uint campaignID) public returns (bool reached) { + │ ────────┬─────── ─────┬──── ───┬─── + │ ╰─────────────────────────────────────────────────────── def: 21 + │ │ │ + │ ╰──────────────────────────────────── def: 22 + │ │ + │ ╰───── def: 23 + 32 │ Campaign storage c = campaigns[campaignID]; + │ ────┬─── ┬ ────┬──── ─────┬──── + │ ╰────────────────────────────────────── ref: 5 + │ │ │ │ + │ ╰───────────────────────── def: 24 + │ │ │ + │ ╰───────────────── ref: 12 + │ │ + │ ╰────── ref: 22 + 33 │ if (c.amount < c.fundingGoal) + │ ┬ ───┬── ┬ ─────┬───── + │ ╰───────────────────────── ref: 24 + │ │ │ │ + │ ╰──────────────────── ref: 9 + │ │ │ + │ ╰────────────── ref: 24 + │ │ + │ ╰─────── ref: 7 + │ + 35 │ uint amount = c.amount; + │ ───┬── ┬ ───┬── + │ ╰─────────────── def: 25 + │ │ │ + │ ╰───────── ref: 24 + │ │ + │ ╰──── ref: 9 + 36 │ c.amount = 0; + │ ┬ ───┬── + │ ╰───────── ref: 24 + │ │ + │ ╰──── ref: 9 + 37 │ c.beneficiary.transfer(amount); + │ ┬ ─────┬───── ────┬─── ───┬── + │ ╰────────────────────────────── ref: 24 + │ │ │ │ + │ ╰─────────────────────── ref: 6 + │ │ │ + │ ╰──────────── unresolved + │ │ + │ ╰──── ref: 25 +────╯ diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/sample/input.sol b/crates/solidity/testing/snapshots/bindings_output/structs/sample/input.sol new file mode 100644 index 000000000..b6a53ef31 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/sample/input.sol @@ -0,0 +1,40 @@ +struct Funder { + address addr; + uint amount; +} + +contract CrowdFunding { + struct Campaign { + address payable beneficiary; + uint fundingGoal; + uint numFunders; + uint amount; + mapping(uint => Funder) funders; + } + + uint numCampaigns; + mapping(uint => Campaign) campaigns; + + function newCampaign(address payable beneficiary, uint goal) public returns (uint campaignID) { + campaignID = numCampaigns++; + Campaign storage c = campaigns[campaignID]; + c.beneficiary = beneficiary; + c.fundingGoal = goal; + } + + function contribute(uint campaignID) public payable { + Campaign storage c = campaigns[campaignID]; + c.funders[c.numFunders++] = Funder({addr: msg.sender, amount: msg.value}); + c.amount += msg.value; + } + + function checkGoalReached(uint campaignID) public returns (bool reached) { + Campaign storage c = campaigns[campaignID]; + if (c.amount < c.fundingGoal) + return false; + uint amount = c.amount; + c.amount = 0; + c.beneficiary.transfer(amount); + return true; + } +} diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.mmd new file mode 100644 index 000000000..b10ccd846 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.mmd @@ -0,0 +1,315 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N1 --> N4 + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] + N2 --> N4 + N3["`**3** @(1, 1) +@contract.lexical_scope +line 34 column 18`"] + N3 --> N1 + N3 --> N5 + N4["`**4** @(1, 1) +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N6["`**6** @(2, 1) +@struct.lexical_scope +line 58 column 16`"] + N6 --> N3 + N7["`**7** @(2, 1) +@struct.def +line 59 column 16`"] + N7 --> N45 + N8["`**8** @(2, 1) +@struct.members +line 60 column 16`"] + N8 --> N50 + N8 --> N52 + N9["`**9** @(6, 1) +@function.lexical_scope +line 70 column 18`"] + N9 --> N3 + N9 --> N28 + N9 --> N30 + N10["`**10** @(6, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**CrowdFunding** @(1, 1) +def +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**newCampaign** @(6, 1) +def +line 167 column 8`"/] + N14["`**14** @(3, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N48 + N15["`**15** @(3, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(4, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N49 + N17["`**17** @(4, 1) +@type_name.output +line 184 column 19`"] + N18["`**18** @(7, 26) +@type_name.type_ref +line 180 column 19`"] + N18 --> N27 + N19["`**19** @(7, 26) +@type_name.output +line 184 column 19`"] + N20["`**20** @(7, 54) +@type_name.type_ref +line 180 column 19`"] + N20 --> N29 + N21["`**21** @(7, 54) +@type_name.output +line 184 column 19`"] + N22["`**22** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N22 --> N37 + N23["`**23** @(8, 1) +@type_name.output +line 184 column 19`"] + N23 --> N25 + N24["`**24** @(8, 1) +@id_path.left +line 188 column 17`"] + N24 --> N22 + N25["`**25** @(8, 1) +@id_path.right +line 189 column 17`"] + N25 --> N26 + N26[/"`**Campaign** @(8, 1) +@name.ref +line 205 column 14`"\] + N26 --> N24 + N27["`**27** @(7, 26) +@param.lexical_scope +line 231 column 15`"] + N27 --> N9 + N28["`**28** @(7, 26) +@param.def +line 232 column 15`"] + N28 --> N31 + N29["`**29** @(7, 54) +@param.lexical_scope +line 231 column 15`"] + N29 --> N9 + N30["`**30** @(7, 54) +@param.def +line 232 column 15`"] + N30 --> N33 + N31[\"`**beneficiary** @(7, 26) +def +line 240 column 8`"/] + N31 --> N32 + N32[/"`**@typeof** @(7, 26) +typeof +line 245 column 8`"\] + N32 --> N19 + N33[\"`**goal** @(7, 54) +def +line 240 column 8`"/] + N33 --> N34 + N34[/"`**@typeof** @(7, 54) +typeof +line 245 column 8`"\] + N34 --> N21 + N35["`**35** @(7, 72) +@block.lexical_scope +line 316 column 15`"] + N35 --> N9 + N35 --> N38 + N35 --> N40 + N35 --> N42 + N36["`**36** @(7, 72) +@block.defs +line 317 column 15`"] + N36 --> N38 + N36 --> N40 + N36 --> N42 + N37["`**37** @(8, 1) +@stmt.lexical_scope +line 321 column 14`"] + N37 --> N35 + N38["`**38** @(8, 1) +@stmt.defs +line 322 column 14`"] + N38 --> N43 + N39["`**39** @(9, 1) +@stmt.lexical_scope +line 321 column 14`"] + N39 --> N35 + N40["`**40** @(9, 1) +@stmt.defs +line 322 column 14`"] + N41["`**41** @(10, 1) +@stmt.lexical_scope +line 321 column 14`"] + N41 --> N35 + N42["`**42** @(10, 1) +@stmt.defs +line 322 column 14`"] + N43[\"`**c** @(8, 1) +def +line 389 column 8`"/] + N43 --> N44 + N44[/"`**@typeof** @(8, 1) +typeof +line 395 column 8`"\] + N44 --> N23 + N45[\"`**Campaign** @(2, 1) +def +line 540 column 8`"/] + N45 --> N46 + N46[\"`**@typeof** @(2, 1) +type_def +line 545 column 8`"/] + N46 --> N47 + N47[\"`**.** @(2, 1) +member +line 548 column 8`"/] + N47 --> N8 + N48["`**48** @(2, 1) +@member.lexical_scope +line 557 column 16`"] + N48 --> N6 + N49["`**49** @(2, 1) +@member.lexical_scope +line 557 column 16`"] + N49 --> N6 + N50[\"`**beneficiary** @(2, 1) +def +line 566 column 8`"/] + N50 --> N51 + N51[/"`**@typeof** @(2, 1) +typeof +line 573 column 8`"\] + N51 --> N15 + N52[\"`**fundingGoal** @(2, 1) +def +line 566 column 8`"/] + N52 --> N53 + N53[/"`**@typeof** @(2, 1) +typeof +line 573 column 8`"\] + N53 --> N17 + N54["`**54** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N54 --> N39 + N55["`**55** @(9, 1) +@expr.output +line 619 column 14`"] + N56["`**56** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N56 --> N54 + N57["`**57** @(9, 1) +@expr.output +line 619 column 14`"] + N57 --> N74 + N58["`**58** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N58 --> N56 + N59["`**59** @(9, 1) +@expr.output +line 619 column 14`"] + N59 --> N70 + N60["`**60** @(9, 24) +@expr.lexical_scope +line 617 column 14`"] + N60 --> N54 + N61["`**61** @(9, 24) +@expr.output +line 619 column 14`"] + N61 --> N71 + N62["`**62** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N62 --> N41 + N63["`**63** @(10, 1) +@expr.output +line 619 column 14`"] + N64["`**64** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N64 --> N62 + N65["`**65** @(10, 1) +@expr.output +line 619 column 14`"] + N65 --> N76 + N66["`**66** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N66 --> N64 + N67["`**67** @(10, 1) +@expr.output +line 619 column 14`"] + N67 --> N72 + N68["`**68** @(10, 24) +@expr.lexical_scope +line 617 column 14`"] + N68 --> N62 + N69["`**69** @(10, 24) +@expr.output +line 619 column 14`"] + N69 --> N73 + N70[/"`**c** @(9, 1) +ref +line 655 column 8`"\] + N70 --> N58 + N71[/"`**beneficiary** @(9, 24) +ref +line 655 column 8`"\] + N71 --> N60 + N72[/"`**c** @(10, 1) +ref +line 655 column 8`"\] + N72 --> N66 + N73[/"`**goal** @(10, 24) +ref +line 655 column 8`"\] + N73 --> N68 + N74[/"`**beneficiary** @(9, 1) +ref +line 673 column 8`"\] + N74 --> N75 + N75[/"`**.** @(9, 1) +member +line 676 column 8`"\] + N75 --> N59 + N76[/"`**fundingGoal** @(10, 1) +ref +line 673 column 8`"\] + N76 --> N77 + N77[/"`**.** @(10, 1) +member +line 676 column 8`"\] + N77 --> N67 diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt new file mode 100644 index 000000000..48b472997 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.4.11.txt @@ -0,0 +1,45 @@ +# This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +References and definitions: + ╭─[crates/solidity/testing/snapshots/bindings_output/structs/simple/input.sol:1:1] + │ + 1 │ contract CrowdFunding { + │ ──────┬───── + │ ╰─────── def: 1 + 2 │ struct Campaign { + │ ────┬─── + │ ╰───── def: 2 + 3 │ address payable beneficiary; + │ ─────┬───── + │ ╰─────── def: 3 + 4 │ uint fundingGoal; + │ ─────┬───── + │ ╰─────── def: 4 + │ + 7 │ function newCampaign(address payable beneficiary, uint goal) public { + │ ─────┬───── ─────┬───── ──┬─ + │ ╰────────────────────────────────────────────── def: 5 + │ │ │ + │ ╰────────────────── def: 6 + │ │ + │ ╰─── def: 7 + 8 │ Campaign storage c; + │ ────┬─── ┬ + │ ╰─────────────── ref: 2 + │ │ + │ ╰── def: 8 + 9 │ c.beneficiary = beneficiary; + │ ┬ ─────┬───── ─────┬───── + │ ╰──────────────────────────── ref: 8 + │ │ │ + │ ╰───────────────────── ref: 3 + │ │ + │ ╰─────── ref: 6 + 10 │ c.fundingGoal = goal; + │ ┬ ─────┬───── ──┬─ + │ ╰───────────────────── ref: 8 + │ │ │ + │ ╰────────────── ref: 4 + │ │ + │ ╰─── ref: 7 +────╯ diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.5.0.mmd b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.5.0.mmd new file mode 100644 index 000000000..ae3e879a6 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/simple/generated/0.5.0.mmd @@ -0,0 +1,312 @@ +%% This file is generated automatically by infrastructure scripts. Please don't edit by hand. + +graph TD + N0["`**0** @(1, 1) +ROOT_NODE +#null`"] + N1["`**1** @(1, 1) +@source_unit.lexical_scope +line 20 column 21`"] + N1 --> N4 + N2["`**2** @(1, 1) +@source_unit.defs +line 23 column 21`"] + N2 --> N4 + N3["`**3** @(1, 1) +@contract.lexical_scope +line 34 column 18`"] + N3 --> N1 + N3 --> N5 + N4["`**4** @(1, 1) +@contract.def +line 35 column 18`"] + N4 --> N11 + N5["`**5** @(1, 1) +@contract.members +line 36 column 18`"] + N5 --> N7 + N5 --> N10 + N6["`**6** @(2, 1) +@struct.lexical_scope +line 58 column 16`"] + N6 --> N3 + N7["`**7** @(2, 1) +@struct.def +line 59 column 16`"] + N7 --> N45 + N8["`**8** @(2, 1) +@struct.members +line 60 column 16`"] + N8 --> N50 + N8 --> N52 + N9["`**9** @(6, 1) +@function.lexical_scope +line 70 column 18`"] + N9 --> N3 + N9 --> N28 + N9 --> N30 + N10["`**10** @(6, 1) +@function.def +line 71 column 18`"] + N10 --> N13 + N11[\"`**CrowdFunding** @(1, 1) +def +line 126 column 8`"/] + N11 --> N12 + N12[\"`**.** @(1, 1) +member +line 133 column 8`"/] + N12 --> N5 + N13[\"`**newCampaign** @(6, 1) +def +line 167 column 8`"/] + N14["`**14** @(3, 1) +@type_name.type_ref +line 180 column 19`"] + N14 --> N48 + N15["`**15** @(3, 1) +@type_name.output +line 184 column 19`"] + N16["`**16** @(4, 1) +@type_name.type_ref +line 180 column 19`"] + N16 --> N49 + N17["`**17** @(4, 1) +@type_name.output +line 184 column 19`"] + N18["`**18** @(7, 26) +@type_name.type_ref +line 180 column 19`"] + N18 --> N27 + N19["`**19** @(7, 26) +@type_name.output +line 184 column 19`"] + N20["`**20** @(7, 54) +@type_name.type_ref +line 180 column 19`"] + N20 --> N29 + N21["`**21** @(7, 54) +@type_name.output +line 184 column 19`"] + N22["`**22** @(8, 1) +@type_name.type_ref +line 180 column 19`"] + N22 --> N37 + N23["`**23** @(8, 1) +@type_name.output +line 184 column 19`"] + N23 --> N25 + N24["`**24** @(8, 1) +@id_path.left +line 188 column 17`"] + N24 --> N22 + N25["`**25** @(8, 1) +@id_path.right +line 189 column 17`"] + N25 --> N26 + N26[/"`**Campaign** @(8, 1) +@name.ref +line 205 column 14`"\] + N26 --> N24 + N27["`**27** @(7, 26) +@param.lexical_scope +line 231 column 15`"] + N27 --> N9 + N28["`**28** @(7, 26) +@param.def +line 232 column 15`"] + N28 --> N31 + N29["`**29** @(7, 54) +@param.lexical_scope +line 231 column 15`"] + N29 --> N9 + N30["`**30** @(7, 54) +@param.def +line 232 column 15`"] + N30 --> N33 + N31[\"`**beneficiary** @(7, 26) +def +line 240 column 8`"/] + N31 --> N32 + N32[/"`**@typeof** @(7, 26) +typeof +line 245 column 8`"\] + N32 --> N19 + N33[\"`**goal** @(7, 54) +def +line 240 column 8`"/] + N33 --> N34 + N34[/"`**@typeof** @(7, 54) +typeof +line 245 column 8`"\] + N34 --> N21 + N35["`**35** @(7, 72) +@block.lexical_scope +line 316 column 15`"] + N35 --> N9 + N36["`**36** @(7, 72) +@block.defs +line 317 column 15`"] + N37["`**37** @(8, 1) +@stmt.lexical_scope +line 321 column 14`"] + N37 --> N35 + N37 --> N38 + N38["`**38** @(8, 1) +@stmt.defs +line 322 column 14`"] + N38 --> N43 + N39["`**39** @(9, 1) +@stmt.lexical_scope +line 321 column 14`"] + N39 --> N37 + N39 --> N40 + N40["`**40** @(9, 1) +@stmt.defs +line 322 column 14`"] + N41["`**41** @(10, 1) +@stmt.lexical_scope +line 321 column 14`"] + N41 --> N39 + N41 --> N42 + N42["`**42** @(10, 1) +@stmt.defs +line 322 column 14`"] + N43[\"`**c** @(8, 1) +def +line 389 column 8`"/] + N43 --> N44 + N44[/"`**@typeof** @(8, 1) +typeof +line 395 column 8`"\] + N44 --> N23 + N45[\"`**Campaign** @(2, 1) +def +line 540 column 8`"/] + N45 --> N46 + N46[\"`**@typeof** @(2, 1) +type_def +line 545 column 8`"/] + N46 --> N47 + N47[\"`**.** @(2, 1) +member +line 548 column 8`"/] + N47 --> N8 + N48["`**48** @(2, 1) +@member.lexical_scope +line 557 column 16`"] + N48 --> N6 + N49["`**49** @(2, 1) +@member.lexical_scope +line 557 column 16`"] + N49 --> N6 + N50[\"`**beneficiary** @(2, 1) +def +line 566 column 8`"/] + N50 --> N51 + N51[/"`**@typeof** @(2, 1) +typeof +line 573 column 8`"\] + N51 --> N15 + N52[\"`**fundingGoal** @(2, 1) +def +line 566 column 8`"/] + N52 --> N53 + N53[/"`**@typeof** @(2, 1) +typeof +line 573 column 8`"\] + N53 --> N17 + N54["`**54** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N54 --> N39 + N55["`**55** @(9, 1) +@expr.output +line 619 column 14`"] + N56["`**56** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N56 --> N54 + N57["`**57** @(9, 1) +@expr.output +line 619 column 14`"] + N57 --> N74 + N58["`**58** @(9, 1) +@expr.lexical_scope +line 617 column 14`"] + N58 --> N56 + N59["`**59** @(9, 1) +@expr.output +line 619 column 14`"] + N59 --> N70 + N60["`**60** @(9, 24) +@expr.lexical_scope +line 617 column 14`"] + N60 --> N54 + N61["`**61** @(9, 24) +@expr.output +line 619 column 14`"] + N61 --> N71 + N62["`**62** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N62 --> N41 + N63["`**63** @(10, 1) +@expr.output +line 619 column 14`"] + N64["`**64** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N64 --> N62 + N65["`**65** @(10, 1) +@expr.output +line 619 column 14`"] + N65 --> N76 + N66["`**66** @(10, 1) +@expr.lexical_scope +line 617 column 14`"] + N66 --> N64 + N67["`**67** @(10, 1) +@expr.output +line 619 column 14`"] + N67 --> N72 + N68["`**68** @(10, 24) +@expr.lexical_scope +line 617 column 14`"] + N68 --> N62 + N69["`**69** @(10, 24) +@expr.output +line 619 column 14`"] + N69 --> N73 + N70[/"`**c** @(9, 1) +ref +line 655 column 8`"\] + N70 --> N58 + N71[/"`**beneficiary** @(9, 24) +ref +line 655 column 8`"\] + N71 --> N60 + N72[/"`**c** @(10, 1) +ref +line 655 column 8`"\] + N72 --> N66 + N73[/"`**goal** @(10, 24) +ref +line 655 column 8`"\] + N73 --> N68 + N74[/"`**beneficiary** @(9, 1) +ref +line 673 column 8`"\] + N74 --> N75 + N75[/"`**.** @(9, 1) +member +line 676 column 8`"\] + N75 --> N59 + N76[/"`**fundingGoal** @(10, 1) +ref +line 673 column 8`"\] + N76 --> N77 + N77[/"`**.** @(10, 1) +member +line 676 column 8`"\] + N77 --> N67 diff --git a/crates/solidity/testing/snapshots/bindings_output/structs/simple/input.sol b/crates/solidity/testing/snapshots/bindings_output/structs/simple/input.sol new file mode 100644 index 000000000..fbca2fe80 --- /dev/null +++ b/crates/solidity/testing/snapshots/bindings_output/structs/simple/input.sol @@ -0,0 +1,12 @@ +contract CrowdFunding { + struct Campaign { + address payable beneficiary; + uint fundingGoal; + } + + function newCampaign(address payable beneficiary, uint goal) public { + Campaign storage c; + c.beneficiary = beneficiary; + c.fundingGoal = goal; + } +}