#
# Autogenerated by generate-bytecode-expectations.
#

---
wrap: no
test function name: f

---
snippet: "
  var a = 1;
  function f() { return a; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
  /*   21 E> */ B(StackCheck),
  /*   26 S> */ B(LdaGlobal), U8(0), U8(0),
  /*   35 S> */ B(Return),
]
constant pool: [
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]

---
snippet: "
  function t() { }
  function f() { return t; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
  /*   27 E> */ B(StackCheck),
  /*   32 S> */ B(LdaGlobal), U8(0), U8(0),
  /*   41 S> */ B(Return),
]
constant pool: [
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["t"],
]
handlers: [
]

---
snippet: "
  a = 1;
  function f() { return a; }
  f()
"
frame size: 0
parameter count: 1
bytecode array length: 5
bytecodes: [
  /*   17 E> */ B(StackCheck),
  /*   22 S> */ B(LdaGlobal), U8(0), U8(0),
  /*   31 S> */ B(Return),
]
constant pool: [
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]

---
snippet: "
  a = 1;
  function f(b) {
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    b.name;
    return a;
  }
  f({name: 1});
"
frame size: 0
parameter count: 2
bytecode array length: 520
bytecodes: [
  /*   17 E> */ B(StackCheck),
  /*   27 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(0),
  /*   37 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(2),
  /*   47 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(4),
  /*   57 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(6),
  /*   67 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(8),
  /*   77 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(10),
  /*   87 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(12),
  /*   97 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(14),
  /*  107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(16),
  /*  117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(18),
  /*  127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(20),
  /*  137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(22),
  /*  147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(24),
  /*  157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(26),
  /*  167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(28),
  /*  177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(30),
  /*  187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(32),
  /*  197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(34),
  /*  207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(36),
  /*  217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(38),
  /*  227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(40),
  /*  237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(42),
  /*  247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(44),
  /*  257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(46),
  /*  267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(48),
  /*  277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(50),
  /*  287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(52),
  /*  297 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(54),
  /*  307 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(56),
  /*  317 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(58),
  /*  327 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(60),
  /*  337 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(62),
  /*  347 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(64),
  /*  357 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(66),
  /*  367 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(68),
  /*  377 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(70),
  /*  387 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(72),
  /*  397 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(74),
  /*  407 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(76),
  /*  417 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(78),
  /*  427 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(80),
  /*  437 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(82),
  /*  447 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(84),
  /*  457 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(86),
  /*  467 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(88),
  /*  477 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(90),
  /*  487 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(92),
  /*  497 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(94),
  /*  507 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(96),
  /*  517 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(98),
  /*  527 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(100),
  /*  537 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(102),
  /*  547 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(104),
  /*  557 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(106),
  /*  567 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(108),
  /*  577 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(110),
  /*  587 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(112),
  /*  597 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(114),
  /*  607 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(116),
  /*  617 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(118),
  /*  627 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(120),
  /*  637 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(122),
  /*  647 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(124),
  /*  657 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(126),
  /*  667 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(128),
  /*  677 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(130),
  /*  687 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(132),
  /*  697 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(134),
  /*  707 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(136),
  /*  717 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(138),
  /*  727 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(140),
  /*  737 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(142),
  /*  747 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(144),
  /*  757 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(146),
  /*  767 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(148),
  /*  777 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(150),
  /*  787 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(152),
  /*  797 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(154),
  /*  807 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(156),
  /*  817 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(158),
  /*  827 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(160),
  /*  837 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(162),
  /*  847 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(164),
  /*  857 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(166),
  /*  867 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(168),
  /*  877 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(170),
  /*  887 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(172),
  /*  897 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(174),
  /*  907 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(176),
  /*  917 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(178),
  /*  927 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(180),
  /*  937 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(182),
  /*  947 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(184),
  /*  957 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(186),
  /*  967 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(188),
  /*  977 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(190),
  /*  987 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(192),
  /*  997 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(194),
  /* 1007 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(196),
  /* 1017 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(198),
  /* 1027 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(200),
  /* 1037 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(202),
  /* 1047 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(204),
  /* 1057 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(206),
  /* 1067 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(208),
  /* 1077 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(210),
  /* 1087 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(212),
  /* 1097 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(214),
  /* 1107 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(216),
  /* 1117 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(218),
  /* 1127 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(220),
  /* 1137 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(222),
  /* 1147 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(224),
  /* 1157 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(226),
  /* 1167 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(228),
  /* 1177 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(230),
  /* 1187 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(232),
  /* 1197 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(234),
  /* 1207 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(236),
  /* 1217 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(238),
  /* 1227 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(240),
  /* 1237 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(242),
  /* 1247 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(244),
  /* 1257 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(246),
  /* 1267 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(248),
  /* 1277 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(250),
  /* 1287 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(252),
  /* 1297 S> */ B(LdaNamedProperty), R(arg0), U8(0), U8(254),
  /* 1305 S> */ B(Wide), B(LdaGlobal), U16(1), U16(256),
  /* 1314 S> */ B(Return),
]
constant pool: [
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["name"],
  ONE_BYTE_INTERNALIZED_STRING_TYPE ["a"],
]
handlers: [
]

