wake.ir.yul.literal
module
#
YulLiteral
class
#
Bases: YulAbc
String literals may have up to 32 bytes.
Example
10
, 0x1234
, true
, "abcdef"
and "\x01\x02\x03"
in the following example are all literals:
Source code in wake/ir/yul/literal.py
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 |
|
hex_value: Optional[bytes]
property
#
Note
Only set for YulLiteralKind.STRING literals in Solidity >= 0.8.5.
Returns:
Type | Description |
---|---|
Optional[bytes]
|
Byte representation of the literal. |
kind: YulLiteralKind
property
#
Returns:
Type | Description |
---|---|
YulLiteralKind
|
Kind of the literal. |
parent: Union[YulAssignment, YulExpressionStatement, YulForLoop, YulIf, YulSwitch, YulVariableDeclaration, YulFunctionCall, YulCase]
property
#
Returns:
Type | Description |
---|---|
Union[YulAssignment, YulExpressionStatement, YulForLoop, YulIf, YulSwitch, YulVariableDeclaration, YulFunctionCall, YulCase]
|
Parent IR node. |
value: Optional[str]
property
#
Is None
for hex-escaped strings that are not valid UTF-8 sequences, e.g. "\xaa\xbb"
.
Returns:
Type | Description |
---|---|
Optional[str]
|
Value of the literal as it appears in the Yul source code, except for hex-escape sequences that are replaced with their corresponding bytes. |