mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add tests.
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
object "a" {
|
||||
code {}
|
||||
// Unreferenced data is not added to the assembled bytecode.
|
||||
data "str" "Hello, World!"
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// stop
|
||||
// data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421
|
||||
// Bytecode: fe
|
||||
// Opcodes: INVALID
|
||||
@@ -0,0 +1,6 @@
|
||||
object "a" {
|
||||
code {}
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// -- empty bytecode --
|
||||
@@ -0,0 +1,13 @@
|
||||
object "a" {
|
||||
code { sstore(0, 1) }
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// /* "source":32:33 */
|
||||
// 0x01
|
||||
// /* "source":29:30 */
|
||||
// 0x00
|
||||
// /* "source":22:34 */
|
||||
// sstore
|
||||
// Bytecode: 6001600055
|
||||
// Opcodes: PUSH1 0x1 PUSH1 0x0 SSTORE
|
||||
@@ -0,0 +1,49 @@
|
||||
// optimize
|
||||
object "a" {
|
||||
code {
|
||||
let x := calldataload(0)
|
||||
let y := calldataload(0)
|
||||
let z := sub(y, x)
|
||||
sstore(add(x, 0), z)
|
||||
}
|
||||
object "sub" {
|
||||
code {
|
||||
let x := calldataload(0)
|
||||
let y := calldataload(0)
|
||||
let z := sub(y, x)
|
||||
sstore(add(x, 0), z)
|
||||
}
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// /* "source":60:61 */
|
||||
// 0x00
|
||||
// /* "source":137:138 */
|
||||
// dup1
|
||||
// /* "source":60:61 */
|
||||
// dup2
|
||||
// /* "source":47:62 */
|
||||
// calldataload
|
||||
// /* "source":119:139 */
|
||||
// sstore
|
||||
// /* "source":32:143 */
|
||||
// pop
|
||||
// stop
|
||||
//
|
||||
// sub_0: assembly {
|
||||
// /* "source":200:201 */
|
||||
// 0x00
|
||||
// /* "source":283:284 */
|
||||
// dup1
|
||||
// /* "source":200:201 */
|
||||
// dup2
|
||||
// /* "source":187:202 */
|
||||
// calldataload
|
||||
// /* "source":265:285 */
|
||||
// sstore
|
||||
// /* "source":170:291 */
|
||||
// pop
|
||||
// }
|
||||
// Bytecode: 60008081355550fe
|
||||
// Opcodes: PUSH1 0x0 DUP1 DUP2 CALLDATALOAD SSTORE POP INVALID
|
||||
@@ -0,0 +1,13 @@
|
||||
{
|
||||
sstore(0, 1)
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// /* "source":14:15 */
|
||||
// 0x01
|
||||
// /* "source":11:12 */
|
||||
// 0x00
|
||||
// /* "source":4:16 */
|
||||
// sstore
|
||||
// Bytecode: 6001600055
|
||||
// Opcodes: PUSH1 0x1 PUSH1 0x0 SSTORE
|
||||
@@ -0,0 +1,23 @@
|
||||
// optimize
|
||||
{
|
||||
let x := calldataload(0)
|
||||
let y := calldataload(0)
|
||||
let z := sub(y, x)
|
||||
sstore(add(x, 0), z)
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// /* "source":38:39 */
|
||||
// 0x00
|
||||
// /* "source":109:110 */
|
||||
// dup1
|
||||
// /* "source":38:39 */
|
||||
// dup2
|
||||
// /* "source":25:40 */
|
||||
// calldataload
|
||||
// /* "source":91:111 */
|
||||
// sstore
|
||||
// /* "source":12:113 */
|
||||
// pop
|
||||
// Bytecode: 60008081355550
|
||||
// Opcodes: PUSH1 0x0 DUP1 DUP2 CALLDATALOAD SSTORE POP
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// -- empty bytecode --
|
||||
@@ -0,0 +1,21 @@
|
||||
object "a" {
|
||||
code {}
|
||||
// Unreferenced data is not added to the assembled bytecode.
|
||||
data "str" "Hello, World!"
|
||||
object "sub" { code { sstore(0, 1) } }
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// stop
|
||||
// data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421
|
||||
//
|
||||
// sub_0: assembly {
|
||||
// /* "source":149:150 */
|
||||
// 0x01
|
||||
// /* "source":146:147 */
|
||||
// 0x00
|
||||
// /* "source":139:151 */
|
||||
// sstore
|
||||
// }
|
||||
// Bytecode: fe
|
||||
// Opcodes: INVALID
|
||||
@@ -0,0 +1,39 @@
|
||||
object "a" {
|
||||
code {}
|
||||
// Unreferenced data is not added to the assembled bytecode.
|
||||
data "str" "Hello, World!"
|
||||
object "sub" {
|
||||
code { sstore(0, 1) }
|
||||
object "subsub" {
|
||||
code { sstore(2, 3) }
|
||||
data "str" hex"123456"
|
||||
}
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Assembly:
|
||||
// stop
|
||||
// data_acaf3289d7b601cbd114fb36c4d29c85bbfd5e133f14cb355c3fd8d99367964f 48656c6c6f2c20576f726c6421
|
||||
//
|
||||
// sub_0: assembly {
|
||||
// /* "source":153:154 */
|
||||
// 0x01
|
||||
// /* "source":150:151 */
|
||||
// 0x00
|
||||
// /* "source":143:155 */
|
||||
// sstore
|
||||
// stop
|
||||
//
|
||||
// sub_0: assembly {
|
||||
// /* "source":203:204 */
|
||||
// 0x03
|
||||
// /* "source":200:201 */
|
||||
// 0x02
|
||||
// /* "source":193:205 */
|
||||
// sstore
|
||||
// stop
|
||||
// data_6adf031833174bbe4c85eafe59ddb54e6584648c2c962c6f94791ab49caa0ad4 123456
|
||||
// }
|
||||
// }
|
||||
// Bytecode: fe
|
||||
// Opcodes: INVALID
|
||||
Reference in New Issue
Block a user