wake.ir.statements.expression_statement
module
#
ExpressionStatement
class
#
Bases: StatementAbc
Example
The underlying expression can be any expression (ExpressionAbc):
- an Assignment:
i = 1on line 6,
- a BinaryOperation:
arr[0] + arr[1]on line 11,
- a Conditional:
arr[i] >= arr[i - 1] ? x++ : x--on line 7,
- an ElementaryTypeNameExpression:
inton line 18,
- a FunctionCall:
require(arr.length > 1)on line 3,
- a FunctionCallOptions:
payable(msg.sender).call{value: 1}on line 17,
- an Identifier:
thison line 16,
- an IndexAccess:
arr[0]on line 9,
- an IndexRangeAccess:
arr[0:1]on line 10,
- a Literal:
10on line 12,
- a MemberAccess:
arr.lengthon line 13,
- a NewExpression:
new uint[]on line 14,
- a TupleExpression:
(arr)on line 15,
- an UnaryOperation:
i++on line 6.
Source code in wake/ir/statements/expression_statement.py
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 133 134 135 136 137 138 139 140 141 142 | |
children
property
#
Yields:
| Type | Description |
|---|---|
ExpressionAbc
|
Direct children of this node. |
expression
property
#
Returns:
| Type | Description |
|---|---|
ExpressionAbc
|
Expression of the expression statement. |
parent
property
#
Returns:
| Type | Description |
|---|---|
Union[Block, DoWhileStatement, ForStatement, IfStatement, UncheckedBlock, WhileStatement]
|
Parent IR node. |