-
Notifications
You must be signed in to change notification settings - Fork 85
Expand file tree
/
Copy pathFunctionDefinitions.sol
More file actions
132 lines (128 loc) · 7.32 KB
/
FunctionDefinitions.sol
File metadata and controls
132 lines (128 loc) · 7.32 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
interface FunctionInterfaces {
function noParamsNoModifiersNoReturns();
function oneParam(uint x);
function oneModifier() modifier1;
function oneReturn() returns(uint y1);
function manyParams(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10);
function manyModifiers() modifier1() modifier2() modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10;
function manyReturns() returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10);
function someParamsSomeModifiers(uint x1, uint x2, uint x3) modifier1() modifier2 modifier3;
function someParamsSomeReturns(uint x1, uint x2, uint x3) returns(uint y1, uint y2, uint y3);
function someModifiersSomeReturns() modifier1 modifier2 modifier3 returns(uint y1, uint y2, uint y3);
function someParamSomeModifiersSomeReturns(uint x1, uint x2, uint x3) modifier1 modifier2 modifier3 returns(uint y1, uint y2, uint y3);
function someParamsManyModifiers(uint x1, uint x2, uint x3) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10;
function someParamsManyReturns(uint x1, uint x2, uint x3) returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10);
function manyParamsSomeModifiers(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3;
function manyParamsSomeReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) returns(uint y1, uint y2, uint y3);
function manyParamsManyModifiers(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10;
function manyParamsManyReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10);
function manyParamsManyModifiersManyReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10 returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10);
function modifierOrderCorrect01() public view virtual override modifier1 modifier2 returns(uint);
function modifierOrderCorrect02() private pure virtual modifier1 modifier2 returns(string);
function modifierOrderCorrect03() external payable override modifier1 modifier2 returns(address);
function modifierOrderCorrect04() internal virtual override modifier1 modifier2 returns(uint);
function modifierOrderIncorrect01() public modifier1 modifier2 override virtual view returns(uint);
function modifierOrderIncorrect02() virtual modifier1 external modifier2 override returns(uint);
function modifierOrderIncorrect03() modifier1 pure internal virtual modifier2 returns(uint);
function modifierOrderIncorrect04() override modifier1 payable external modifier2 returns(uint);
}
abstract contract FunctionInterfaces {
function functionDefinition0();
function functionDefinition1();
function functionDefinition2();
// Leading Comment
function functionDefinition3();
function functionDefinition4();
function functionDefinition5() public {}
function functionDefinition6();
function functionDefinition7(); // Tailing Comment
function functionDefinition8();
function functionDefinition9();
}
contract FunctionDefinitions {
fallback () external {}
fallback () {}
fallback () external payable {}
fallback() external payable virtual {}
fallback(bytes calldata _input) external {}
receive () external payable {}
receive() external payable virtual {}
function noParamsNoModifiersNoReturns() {
a = 1;
}
function oneParam(uint x) {
a = 1;
}
function oneModifier() modifier1 {
a = 1;
}
function oneReturn() returns(uint y1) {
a = 1;
}
function manyParams(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) {
a = 1;
}
function manyModifiers() modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10 {
a = 1;
}
function manyReturns() returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10) {
a = 1;
}
function someParamsSomeModifiers(uint x1, uint x2, uint x3) modifier1 modifier2 modifier3 {
a = 1;
}
function someParamsSomeReturns(uint x1, uint x2, uint x3) returns(uint y1, uint y2, uint y3) {
a = 1;
}
function someModifiersSomeReturns() modifier1 modifier2 modifier3 returns(uint y1, uint y2, uint y3) {
a = 1;
}
function someParamSomeModifiersSomeReturns(uint x1, uint x2, uint x3) modifier1 modifier2 modifier3 returns(uint y1, uint y2, uint y3) {
a = 1;
}
function someParamsManyModifiers(uint x1, uint x2, uint x3) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10 {
a = 1;
}
function someParamsManyReturns(uint x1, uint x2, uint x3) returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10) {
a = 1;
}
function manyParamsSomeModifiers(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3 {
a = 1;
}
function manyParamsSomeReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) returns(uint y1, uint y2, uint y3) {
a = 1;
}
function manyParamsManyModifiers(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10 public {
a = 1;
}
function manyParamsManyReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10) {
a = 1;
}
function manyParamsManyModifiersManyReturns(uint x1, uint x2, uint x3, uint x4, uint x5, uint x6, uint x7, uint x8, uint x9, uint x10) modifier1 modifier2 modifier3 modifier4 modifier5 modifier6 modifier7 modifier8 modifier9 modifier10 returns(uint y1, uint y2, uint y3, uint y4, uint y5, uint y6, uint y7, uint y8, uint y9, uint y10) {
a = 1;
}
function modifierOrderCorrect01() public view virtual override modifier1 modifier2 returns(uint) {
a = 1;
}
function modifierOrderCorrect02() private pure virtual modifier1 modifier2 returns(string) {
a = 1;
}
function modifierOrderCorrect03() external payable override modifier1 modifier2 returns(address) {
a = 1;
}
function modifierOrderCorrect04() internal virtual override modifier1 modifier2 returns(uint) {
a = 1;
}
function modifierOrderIncorrect01() public modifier1 modifier2 override virtual view returns(uint) {
a = 1;
}
function modifierOrderIncorrect02() virtual modifier1 external modifier2 override returns(uint) {
a = 1;
}
function modifierOrderIncorrect03() modifier1 pure internal virtual modifier2 returns(uint) {
a = 1;
}
function modifierOrderIncorrect04() override modifier1 payable external modifier2 returns(uint) {
a = 1;
}
}