#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: yes

---
snippet: "
  class Person {
    constructor(name) { this.name = name; }
    speak() { console.log(this.name + ' is speaking.'); }
  }
"
frame size: 7
parameter count: 1
bytecode array length: 34
bytecodes: [
  /*   30 E> */ B(CreateBlockContext), U8(0),
                B(PushContext), R(1),
                B(LdaTheHole),
                B(Star5),
                B(CreateClosure), U8(2), U8(0), U8(2),
                B(Star2),
                B(LdaConstant), U8(1),
                B(Star3),
                B(CreateClosure), U8(3), U8(1), U8(2),
                B(Star6),
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
                B(LdaUndefined),
  /*  149 S> */ B(Return),
]
constant pool: [
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

---
snippet: "
  class person {
    constructor(name) { this.name = name; }
    speak() { console.log(this.name + ' is speaking.'); }
  }
"
frame size: 7
parameter count: 1
bytecode array length: 34
bytecodes: [
  /*   30 E> */ B(CreateBlockContext), U8(0),
                B(PushContext), R(1),
                B(LdaTheHole),
                B(Star5),
                B(CreateClosure), U8(2), U8(0), U8(2),
                B(Star2),
                B(LdaConstant), U8(1),
                B(Star3),
                B(CreateClosure), U8(3), U8(1), U8(2),
                B(Star6),
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
                B(LdaUndefined),
  /*  149 S> */ B(Return),
]
constant pool: [
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

---
snippet: "
  var n0 = 'a';
  var n1 = 'b';
  class N {
    [n0]() { return n0; }
    static [n1]() { return n1; }
  }
"
frame size: 11
parameter count: 1
bytecode array length: 76
bytecodes: [
  /*   30 E> */ B(CreateFunctionContext), U8(0), U8(2),
                B(PushContext), R(1),
  /*   43 S> */ B(LdaConstant), U8(1),
  /*   43 E> */ B(StaCurrentContextSlot), U8(2),
  /*   57 S> */ B(LdaConstant), U8(2),
  /*   57 E> */ B(StaCurrentContextSlot), U8(3),
                B(CreateBlockContext), U8(3),
                B(PushContext), R(2),
                B(LdaTheHole),
                B(Star6),
                B(CreateClosure), U8(5), U8(0), U8(2),
                B(Star3),
                B(LdaConstant), U8(4),
                B(Star4),
  /*   75 S> */ B(LdaImmutableContextSlot), R(2), U8(2), U8(0),
                B(ToName), R(7),
                B(CreateClosure), U8(6), U8(1), U8(2),
                B(Star8),
  /*  106 S> */ B(LdaImmutableContextSlot), R(2), U8(3), U8(0),
                B(ToName), R(9),
                B(LdaConstant), U8(7),
                B(TestEqualStrict), R(9), U8(0),
                B(Mov), R(3), R(5),
                B(JumpIfFalse), U8(7),
                B(CallRuntime), U16(Runtime::kThrowStaticPrototypeError), R(0), U8(0),
                B(CreateClosure), U8(8), U8(2), U8(2),
                B(Star10),
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(7),
                B(PopContext), R(2),
                B(Mov), R(3), R(0),
                B(LdaUndefined),
  /*  129 S> */ B(Return),
]
constant pool: [
  SCOPE_INFO_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["b"],
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["prototype"],
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

---
snippet: "
  var count = 0;
  class C { constructor() { count++; }}
  return new C();
"
frame size: 7
parameter count: 1
bytecode array length: 43
bytecodes: [
  /*   30 E> */ B(CreateFunctionContext), U8(0), U8(1),
                B(PushContext), R(1),
  /*   46 S> */ B(LdaZero),
  /*   46 E> */ B(StaCurrentContextSlot), U8(2),
                B(CreateBlockContext), U8(1),
                B(PushContext), R(2),
                B(LdaTheHole),
                B(Star6),
                B(CreateClosure), U8(3), U8(0), U8(2),
                B(Star3),
                B(LdaConstant), U8(2),
                B(Star4),
                B(Mov), R(3), R(5),
                B(CallRuntime), U16(Runtime::kDefineClass), R(4), U8(3),
                B(PopContext), R(2),
                B(Mov), R(5), R(0),
  /*   87 S> */ B(Ldar), R(0),
  /*   94 E> */ B(Construct), R(0), R(0), U8(0), U8(0),
  /*  102 S> */ B(Return),
]
constant pool: [
  SCOPE_INFO_TYPE,
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]

---
snippet: "
  (class {})
  class E { static name () {}}
"
frame size: 7
parameter count: 1
bytecode array length: 58
bytecodes: [
  /*   34 S> */ B(CreateBlockContext), U8(0),
                B(PushContext), R(1),
                B(LdaTheHole),
                B(Star5),
                B(CreateClosure), U8(2), U8(0), U8(2),
                B(Star2),
                B(LdaConstant), U8(1),
                B(Star3),
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(3),
                B(PopContext), R(1),
                B(CreateBlockContext), U8(3),
                B(PushContext), R(1),
                B(LdaTheHole),
                B(Star5),
                B(CreateClosure), U8(5), U8(1), U8(2),
                B(Star2),
                B(LdaConstant), U8(4),
                B(Star3),
                B(CreateClosure), U8(6), U8(2), U8(2),
                B(Star6),
                B(Mov), R(2), R(4),
                B(CallRuntime), U16(Runtime::kDefineClass), R(3), U8(4),
                B(PopContext), R(1),
                B(Mov), R(4), R(0),
                B(LdaUndefined),
  /*   74 S> */ B(Return),
]
constant pool: [
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SCOPE_INFO_TYPE,
  FIXED_ARRAY_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
  SHARED_FUNCTION_INFO_TYPE,
]
handlers: [
]