|
@@ -11,10 +11,7 @@ fn test_virtual() {
|
|
|
contract c {
|
|
contract c {
|
|
|
function test() public;
|
|
function test() public;
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -27,10 +24,7 @@ fn test_virtual() {
|
|
|
contract c {
|
|
contract c {
|
|
|
function test() virtual public {}
|
|
function test() virtual public {}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -41,10 +35,7 @@ fn test_virtual() {
|
|
|
function test() virtual public;
|
|
function test() virtual public;
|
|
|
function test2() virtual public;
|
|
function test2() virtual public;
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -71,10 +62,7 @@ fn test_abstract() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -98,10 +86,7 @@ fn test_abstract() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -135,10 +120,7 @@ fn test_abstract() {
|
|
|
"a.sol",
|
|
"a.sol",
|
|
|
&mut cache,
|
|
&mut cache,
|
|
|
inkwell::OptimizationLevel::Default,
|
|
inkwell::OptimizationLevel::Default,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
false,
|
|
false,
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -176,10 +158,7 @@ fn test_abstract() {
|
|
|
"a.sol",
|
|
"a.sol",
|
|
|
&mut cache,
|
|
&mut cache,
|
|
|
inkwell::OptimizationLevel::Default,
|
|
inkwell::OptimizationLevel::Default,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
false,
|
|
false,
|
|
|
);
|
|
);
|
|
|
|
|
|
|
@@ -197,10 +176,7 @@ fn test_interface() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -214,10 +190,7 @@ fn test_interface() {
|
|
|
function bar() external {}
|
|
function bar() external {}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -231,10 +204,7 @@ fn test_interface() {
|
|
|
function bar() private;
|
|
function bar() private;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -248,10 +218,7 @@ fn test_interface() {
|
|
|
function bar() internal;
|
|
function bar() internal;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -269,10 +236,7 @@ fn test_interface() {
|
|
|
function f() internal {}
|
|
function f() internal {}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -290,10 +254,7 @@ fn test_interface() {
|
|
|
function f() internal {}
|
|
function f() internal {}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -307,10 +268,7 @@ fn test_interface() {
|
|
|
function foo() virtual external;
|
|
function foo() virtual external;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -324,10 +282,7 @@ fn test_interface() {
|
|
|
int x;
|
|
int x;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -341,10 +296,7 @@ fn test_interface() {
|
|
|
int constant x = 1;
|
|
int constant x = 1;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -373,10 +325,7 @@ fn test_interface() {
|
|
|
function f2(address a) public {}
|
|
function f2(address a) public {}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -391,10 +340,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -409,10 +355,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "contract ‘foo’ not found");
|
|
assert_eq!(first_error(ns.diagnostics), "contract ‘foo’ not found");
|
|
@@ -429,10 +372,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -452,10 +392,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -480,10 +417,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -513,10 +447,7 @@ fn inherit() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -539,10 +470,7 @@ fn inherit_types() {
|
|
|
enum enum_x { x1, x2 }
|
|
enum enum_x { x1, x2 }
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -567,10 +495,7 @@ fn inherit_types() {
|
|
|
enum enum_x { x1, x2 }
|
|
enum enum_x { x1, x2 }
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -595,10 +520,7 @@ fn inherit_types() {
|
|
|
enum enum_x { x1, x2 }
|
|
enum enum_x { x1, x2 }
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -615,10 +537,7 @@ fn inherit_types() {
|
|
|
enum enum_x { x1, x2 }
|
|
enum enum_x { x1, x2 }
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "type ‘enum_x’ not found");
|
|
assert_eq!(first_error(ns.diagnostics), "type ‘enum_x’ not found");
|
|
@@ -636,10 +555,7 @@ fn inherit_types() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -662,10 +578,7 @@ fn inherit_types() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "already defined ‘foo’");
|
|
assert_eq!(first_error(ns.diagnostics), "already defined ‘foo’");
|
|
@@ -685,10 +598,7 @@ fn inherit_variables() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -705,10 +615,7 @@ fn inherit_variables() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "`foo\' is not found");
|
|
assert_eq!(first_error(ns.diagnostics), "`foo\' is not found");
|
|
@@ -729,10 +636,7 @@ fn inherit_variables() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -753,10 +657,7 @@ fn inherit_variables() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -773,10 +674,7 @@ fn inherit_variables() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -881,10 +779,7 @@ fn call_inherited_function() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "cannot call private function");
|
|
assert_eq!(first_error(ns.diagnostics), "cannot call private function");
|
|
@@ -903,10 +798,7 @@ fn call_inherited_function() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "cannot call private function");
|
|
assert_eq!(first_error(ns.diagnostics), "cannot call private function");
|
|
@@ -929,10 +821,7 @@ fn call_inherited_function() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1038,10 +927,7 @@ fn test_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1057,10 +943,7 @@ fn test_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1080,10 +963,7 @@ fn test_override() {
|
|
|
function f() private {}
|
|
function f() private {}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1099,10 +979,7 @@ fn test_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1124,10 +1001,7 @@ fn test_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1153,10 +1027,7 @@ fn test_override() {
|
|
|
uint64 public x;
|
|
uint64 public x;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1176,10 +1047,7 @@ fn test_override() {
|
|
|
x = 2;
|
|
x = 2;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1207,10 +1075,7 @@ fn test_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -1298,10 +1163,7 @@ fn test_override() {
|
|
|
function bar(int x) public { print ("foo"); }
|
|
function bar(int x) public { print ("foo"); }
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1319,10 +1181,7 @@ fn test_override() {
|
|
|
function bar(int64 x) public override;
|
|
function bar(int64 x) public override;
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1353,10 +1212,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1384,10 +1240,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1421,10 +1274,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1452,10 +1302,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1483,10 +1330,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1518,10 +1362,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1553,10 +1394,7 @@ fn multiple_override() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1582,10 +1420,7 @@ fn base_contract() {
|
|
|
return a + 102;
|
|
return a + 102;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1604,10 +1439,7 @@ fn base_contract() {
|
|
|
return a + 102;
|
|
return a + 102;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1661,10 +1493,7 @@ fn base_contract_on_constructor() {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1687,10 +1516,7 @@ fn base_contract_on_constructor() {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1705,10 +1531,7 @@ fn base_contract_on_constructor() {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1723,10 +1546,7 @@ fn base_contract_on_constructor() {
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1743,10 +1563,7 @@ fn base_contract_on_constructor() {
|
|
|
contract apex is base {
|
|
contract apex is base {
|
|
|
function foo() pure public {}
|
|
function foo() pure public {}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1764,10 +1581,7 @@ fn base_contract_on_constructor() {
|
|
|
constructor() base(true) base(false) {}
|
|
constructor() base(true) base(false) {}
|
|
|
function foo() pure public {}
|
|
function foo() pure public {}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1893,10 +1707,7 @@ fn base_contract_on_constructor() {
|
|
|
function get_foo() public returns (int64) { return foo; }
|
|
function get_foo() public returns (int64) { return foo; }
|
|
|
constructor(int64 z) { foo = z; }
|
|
constructor(int64 z) { foo = z; }
|
|
|
}"##,
|
|
}"##,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -1919,10 +1730,7 @@ fn base_contract_on_constructor() {
|
|
|
function get_foo() public returns (int64) { return foo; }
|
|
function get_foo() public returns (int64) { return foo; }
|
|
|
constructor(int64 z) { foo = z; }
|
|
constructor(int64 z) { foo = z; }
|
|
|
}"##,
|
|
}"##,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "duplicate base contract ‘b’");
|
|
assert_eq!(first_error(ns.diagnostics), "duplicate base contract ‘b’");
|
|
@@ -1942,10 +1750,7 @@ fn base_contract_on_constructor() {
|
|
|
function get_foo() public returns (int64) { return foo; }
|
|
function get_foo() public returns (int64) { return foo; }
|
|
|
constructor(int64 z) { foo = z; }
|
|
constructor(int64 z) { foo = z; }
|
|
|
}"##,
|
|
}"##,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2030,10 +1835,7 @@ fn simple_interface() {
|
|
|
return a * 2;
|
|
return a * 2;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -2101,10 +1903,7 @@ fn cast_contract() {
|
|
|
return a / b;
|
|
return a / b;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -2120,10 +1919,7 @@ fn cast_contract() {
|
|
|
foo y = x;
|
|
foo y = x;
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2134,13 +1930,7 @@ fn cast_contract() {
|
|
|
|
|
|
|
|
#[test]
|
|
#[test]
|
|
|
fn test_super() {
|
|
fn test_super() {
|
|
|
- let ns = parse_and_resolve(
|
|
|
|
|
- r#"contract super {}"#,
|
|
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ let ns = parse_and_resolve(r#"contract super {}"#, Target::default_substrate());
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
|
first_error(ns.diagnostics),
|
|
first_error(ns.diagnostics),
|
|
@@ -2151,10 +1941,7 @@ fn test_super() {
|
|
|
r#"
|
|
r#"
|
|
|
function f1() { super.a(); }
|
|
function f1() { super.a(); }
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2173,10 +1960,7 @@ fn test_super() {
|
|
|
super.f2();
|
|
super.f2();
|
|
|
}
|
|
}
|
|
|
}"#,
|
|
}"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(first_error(ns.diagnostics), "unknown function or type ‘f2’");
|
|
assert_eq!(first_error(ns.diagnostics), "unknown function or type ‘f2’");
|
|
@@ -2284,10 +2068,7 @@ fn mutability() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2307,10 +2088,7 @@ fn mutability() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2335,10 +2113,7 @@ fn visibility() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
no_errors(ns.diagnostics);
|
|
no_errors(ns.diagnostics);
|
|
@@ -2355,10 +2130,7 @@ fn visibility() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|
|
@@ -2378,10 +2150,7 @@ fn visibility() {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
"#,
|
|
"#,
|
|
|
- Target::Substrate {
|
|
|
|
|
- address_length: 32,
|
|
|
|
|
- value_length: 16,
|
|
|
|
|
- },
|
|
|
|
|
|
|
+ Target::default_substrate(),
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
assert_eq!(
|
|
assert_eq!(
|