Static Analyzer for Solidity
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
slither/tests/ast-parsing/functioncall-0.4.5.sol

62 lines
1.2 KiB

4 years ago
contract I {
function I() public payable {}
}
contract C {
struct S {
uint a;
uint b;
}
struct T {
S s1;
S s2;
}
function f() public payable {
publicTarget();
this.publicTarget();
this.publicTarget.value(1 ether)();
this.publicTarget.value(1 ether);
this.publicTarget.gas(10000)();
this.publicTarget.gas(10000).value(2 ether)();
this.publicTarget.gas(10000).gas(20000).value(2 ether).gas(0)();
internalTarget(1, 2);
S({a: 5, b: 6});
T({s1: S({a: 1, b: 2}), s2: S({a: 3, b: 4})});
function(uint) external payable ptr;
ptr.value(10 ether)(1);
I(this);
new I();
(new I).value(1 ether)();
}
function publicTarget() public payable {
}
function internalTarget(uint a, uint b) public {
}
function cursed() public payable {
var valuer = this.cursed.value;
var value1Ether = valuer(1 ether);
var value2Ether = valuer(2 ether);
value1Ether();
value1Ether();
value2Ether();
var deployer = new I;
deployer();
deployer();
}
}