{ "absolutePath": "a", "exportedSymbols": { "C": [ 49 ], "I8": [ 2 ], "sub": [ 20 ], "unsub": [ 30 ] }, "id": 50, "nodeType": "SourceUnit", "nodes": [ { "canonicalName": "I8", "id": 2, "name": "I8", "nameLocation": "5:2:1", "nodeType": "UserDefinedValueTypeDefinition", "src": "0:16:1", "underlyingType": { "id": 1, "name": "int8", "nodeType": "ElementaryTypeName", "src": "11:4:1", "typeDescriptions": { "typeIdentifier": "t_int8", "typeString": "int8" } } }, { "functionList": [ { "definition": { "id": 3, "name": "sub", "nameLocations": [ "24:3:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 20, "src": "24:3:1" }, "operator": "-" }, { "definition": { "id": 4, "name": "unsub", "nameLocations": [ "34:5:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 30, "src": "34:5:1" }, "operator": "-" } ], "global": true, "id": 7, "nodeType": "UsingForDirective", "src": "17:43:1", "typeName": { "id": 6, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 5, "name": "I8", "nameLocations": [ "50:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "50:2:1" }, "referencedDeclaration": 2, "src": "50:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } } }, { "body": { "id": 19, "nodeType": "Block", "src": "100:2:1", "statements": [] }, "id": 20, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "sub", "nameLocation": "70:3:1", "nodeType": "FunctionDefinition", "parameters": { "id": 14, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 10, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 20, "src": "74:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 9, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 8, "name": "I8", "nameLocations": [ "74:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "74:2:1" }, "referencedDeclaration": 2, "src": "74:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" }, { "constant": false, "id": 13, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 20, "src": "78:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 12, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 11, "name": "I8", "nameLocations": [ "78:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "78:2:1" }, "referencedDeclaration": 2, "src": "78:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "73:8:1" }, "returnParameters": { "id": 18, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 17, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 20, "src": "96:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 16, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 15, "name": "I8", "nameLocations": [ "96:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "96:2:1" }, "referencedDeclaration": 2, "src": "96:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "95:4:1" }, "scope": 50, "src": "61:41:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "body": { "id": 29, "nodeType": "Block", "src": "140:2:1", "statements": [] }, "id": 30, "implemented": true, "kind": "freeFunction", "modifiers": [], "name": "unsub", "nameLocation": "112:5:1", "nodeType": "FunctionDefinition", "parameters": { "id": 24, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 23, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 30, "src": "118:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 22, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 21, "name": "I8", "nameLocations": [ "118:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "118:2:1" }, "referencedDeclaration": 2, "src": "118:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "117:4:1" }, "returnParameters": { "id": 28, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 27, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 30, "src": "136:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 26, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 25, "name": "I8", "nameLocations": [ "136:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "136:2:1" }, "referencedDeclaration": 2, "src": "136:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "135:4:1" }, "scope": 50, "src": "103:39:1", "stateMutability": "pure", "virtual": false, "visibility": "internal" }, { "abstract": false, "baseContracts": [], "canonicalName": "C", "contractDependencies": [], "contractKind": "contract", "fullyImplemented": true, "id": 49, "linearizedBaseContracts": [ 49 ], "name": "C", "nameLocation": "152:1:1", "nodeType": "ContractDefinition", "nodes": [ { "body": { "id": 47, "nodeType": "Block", "src": "208:30:1", "statements": [ { "expression": { "commonType": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "function": 20, "id": 45, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "function": 30, "id": 43, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "nodeType": "UnaryOperation", "operator": "-", "prefix": true, "src": "225:2:1", "subExpression": { "id": 42, "name": "a", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 33, "src": "226:1:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "nodeType": "BinaryOperation", "operator": "-", "rightExpression": { "id": 44, "name": "b", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 36, "src": "230:1:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "src": "225:6:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "functionReturnParameters": 41, "id": 46, "nodeType": "Return", "src": "218:13:1" } ] }, "functionSelector": "ac9fe858", "id": 48, "implemented": true, "kind": "function", "modifiers": [], "name": "f", "nameLocation": "169:1:1", "nodeType": "FunctionDefinition", "parameters": { "id": 37, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 33, "mutability": "mutable", "name": "a", "nameLocation": "174:1:1", "nodeType": "VariableDeclaration", "scope": 48, "src": "171:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 32, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 31, "name": "I8", "nameLocations": [ "171:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "171:2:1" }, "referencedDeclaration": 2, "src": "171:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" }, { "constant": false, "id": 36, "mutability": "mutable", "name": "b", "nameLocation": "180:1:1", "nodeType": "VariableDeclaration", "scope": 48, "src": "177:4:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 35, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 34, "name": "I8", "nameLocations": [ "177:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "177:2:1" }, "referencedDeclaration": 2, "src": "177:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "170:12:1" }, "returnParameters": { "id": 41, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 40, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 48, "src": "204:2:1", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" }, "typeName": { "id": 39, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 38, "name": "I8", "nameLocations": [ "204:2:1" ], "nodeType": "IdentifierPath", "referencedDeclaration": 2, "src": "204:2:1" }, "referencedDeclaration": 2, "src": "204:2:1", "typeDescriptions": { "typeIdentifier": "t_userDefinedValueType$_I8_$2", "typeString": "I8" } }, "visibility": "internal" } ], "src": "203:4:1" }, "scope": 49, "src": "160:78:1", "stateMutability": "pure", "virtual": false, "visibility": "public" } ], "scope": 50, "src": "143:97:1", "usedErrors": [] } ], "src": "0:241:1" }