#
# Autogenerated by generate-bytecode-expectations.
#

---
pool type: string
execute: yes
wrap: yes

---
snippet: "
  return \"This is a string\";
"
frame size: 0
parameter count: 1
bytecode array length: 4
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   34 S> */ B(LdaConstant), U8(0),
  /*   61 S> */ B(Return),
]
constant pool: [
  "This is a string",
]
handlers: [
]

---
snippet: "
  var a = \"First string\"; return \"Second string\";
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   42 S> */ B(LdaConstant), U8(0),
                B(Star), R(0),
  /*   58 S> */ B(LdaConstant), U8(1),
  /*   82 S> */ B(Return),
]
constant pool: [
  "First string",
  "Second string",
]
handlers: [
]

---
snippet: "
  var a = \"Same string\"; return \"Same string\";
"
frame size: 1
parameter count: 1
bytecode array length: 8
bytecodes: [
  /*   30 E> */ B(StackCheck),
  /*   42 S> */ B(LdaConstant), U8(0),
                B(Star), R(0),
  /*   57 S> */ B(LdaConstant), U8(0),
  /*   79 S> */ B(Return),
]
constant pool: [
  "Same string",
]
handlers: [
]

