kaitai-struct-compiler 0.10.0-SNAPSHOT20220312.201918.860afd0c → 0.10.0-SNAPSHOT20220415.194636.880ae970

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1505,28 +1505,26 @@ function $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kai
1505
1505
  return (((rawIo === true) && (rawProcess === false)) ? $m_Lio_kaitai_struct_datatype_RawIo$() : (((rawIo === false) && (rawProcess === true)) ? $m_Lio_kaitai_struct_datatype_RawProcess$() : (((rawIo === true) && (rawProcess === true)) ? $m_Lio_kaitai_struct_datatype_RawIoProcess$() : $m_Lio_kaitai_struct_datatype_NotRaw$())))
1506
1506
  }
1507
1507
  function $f_Lio_kaitai_struct_languages_components_CommonReads__attrParse0__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_format_AttrLikeSpec__T__s_Option__V($thiz, id, attr, io, defEndian) {
1508
+ var x = attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1;
1509
+ var x$2 = $m_Lio_kaitai_struct_format_NoRepeat$();
1510
+ if ((!((x !== null) && x.equals__O__Z(x$2)))) {
1511
+ var jsx$2 = $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz);
1512
+ var jsx$1 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1513
+ var dataType = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1514
+ jsx$2.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V(id, jsx$1, $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw($thiz, dataType))
1515
+ };
1508
1516
  var x1 = attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1;
1509
1517
  matchEnd9: {
1510
- var x = $m_Lio_kaitai_struct_format_RepeatEos$();
1511
- if ((x === x1)) {
1512
- var jsx$2 = $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz);
1513
- var jsx$1 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1514
- var dataType = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1515
- jsx$2.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V(id, io, jsx$1, $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw($thiz, dataType));
1516
- $thiz.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(id, attr.dataType__Lio_kaitai_struct_datatype_DataType(), io, attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1, false, defEndian, $thiz.attrParse2$default$7__s_Option());
1517
- $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatEosFooter__V();
1518
+ var x$3 = $m_Lio_kaitai_struct_format_RepeatEos$();
1519
+ if ((x$3 === x1)) {
1520
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V(id, io, attr.dataType__Lio_kaitai_struct_datatype_DataType());
1518
1521
  break matchEnd9
1519
1522
  };
1520
1523
  if ((x1 instanceof $c_Lio_kaitai_struct_format_RepeatExpr)) {
1521
1524
  var x2 = $as_Lio_kaitai_struct_format_RepeatExpr(x1);
1522
1525
  var repeatExpr = x2.expr$1;
1523
1526
  if ((repeatExpr !== null)) {
1524
- var jsx$4 = $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz);
1525
- var jsx$3 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1526
- var dataType$1 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1527
- jsx$4.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, jsx$3, $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw($thiz, dataType$1), repeatExpr);
1528
- $thiz.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(id, attr.dataType__Lio_kaitai_struct_datatype_DataType(), io, attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1, false, defEndian, $thiz.attrParse2$default$7__s_Option());
1529
- $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatExprFooter__V();
1527
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, attr.dataType__Lio_kaitai_struct_datatype_DataType(), repeatExpr);
1530
1528
  break matchEnd9
1531
1529
  }
1532
1530
  };
@@ -1534,24 +1532,41 @@ function $f_Lio_kaitai_struct_languages_components_CommonReads__attrParse0__Lio_
1534
1532
  var x3 = $as_Lio_kaitai_struct_format_RepeatUntil(x1);
1535
1533
  var untilExpr = x3.expr$1;
1536
1534
  if ((untilExpr !== null)) {
1537
- var jsx$6 = $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz);
1538
- var jsx$5 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1539
- var dataType$2 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1540
- jsx$6.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, jsx$5, $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw($thiz, dataType$2), untilExpr);
1541
- $thiz.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(id, attr.dataType__Lio_kaitai_struct_datatype_DataType(), io, attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1, false, defEndian, $thiz.attrParse2$default$7__s_Option());
1542
- var jsx$8 = $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz);
1543
- var jsx$7 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1544
- var dataType$3 = attr.dataType__Lio_kaitai_struct_datatype_DataType();
1545
- jsx$8.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, jsx$7, $f_Lio_kaitai_struct_languages_components_CommonReads__needRaw__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw($thiz, dataType$3), untilExpr);
1535
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, attr.dataType__Lio_kaitai_struct_datatype_DataType(), untilExpr);
1546
1536
  break matchEnd9
1547
1537
  }
1548
1538
  };
1549
- var x$3 = $m_Lio_kaitai_struct_format_NoRepeat$();
1550
- if ((x$3 === x1)) {
1551
- $thiz.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(id, attr.dataType__Lio_kaitai_struct_datatype_DataType(), io, attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1, false, defEndian, $thiz.attrParse2$default$7__s_Option());
1539
+ var x$5 = $m_Lio_kaitai_struct_format_NoRepeat$();
1540
+ if ((x$5 === x1)) {
1552
1541
  break matchEnd9
1553
1542
  };
1554
1543
  throw new $c_s_MatchError().init___O(x1)
1544
+ };
1545
+ $thiz.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(id, attr.dataType__Lio_kaitai_struct_datatype_DataType(), io, attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1, false, defEndian, $thiz.attrParse2$default$7__s_Option());
1546
+ var x1$2 = attr.cond__Lio_kaitai_struct_format_ConditionalSpec().repeat$1;
1547
+ matchEnd8: {
1548
+ var x$7 = $m_Lio_kaitai_struct_format_RepeatEos$();
1549
+ if ((x$7 === x1$2)) {
1550
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatEosFooter__V();
1551
+ break matchEnd8
1552
+ };
1553
+ if ((x1$2 instanceof $c_Lio_kaitai_struct_format_RepeatExpr)) {
1554
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatExprFooter__V();
1555
+ break matchEnd8
1556
+ };
1557
+ if ((x1$2 instanceof $c_Lio_kaitai_struct_format_RepeatUntil)) {
1558
+ var x2$2 = $as_Lio_kaitai_struct_format_RepeatUntil(x1$2);
1559
+ var untilExpr$2 = x2$2.expr$1;
1560
+ if ((untilExpr$2 !== null)) {
1561
+ $as_Lio_kaitai_struct_languages_components_LanguageCompiler($thiz).condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V(id, io, attr.dataType__Lio_kaitai_struct_datatype_DataType(), untilExpr$2);
1562
+ break matchEnd8
1563
+ }
1564
+ };
1565
+ var x$9 = $m_Lio_kaitai_struct_format_NoRepeat$();
1566
+ if ((x$9 === x1$2)) {
1567
+ break matchEnd8
1568
+ };
1569
+ throw new $c_s_MatchError().init___O(x1$2)
1555
1570
  }
1556
1571
  }
1557
1572
  function $f_Lio_kaitai_struct_languages_components_CommonReads__attrValidateAll__Lio_kaitai_struct_format_AttrLikeSpec__V($thiz, attr) {
@@ -4415,9 +4430,9 @@ function $h_Lio_kaitai_struct_Version$() {
4415
4430
  $h_Lio_kaitai_struct_Version$.prototype = $c_Lio_kaitai_struct_Version$.prototype;
4416
4431
  $c_Lio_kaitai_struct_Version$.prototype.init___ = (function() {
4417
4432
  this.name$1 = "kaitai-struct-compiler-js";
4418
- this.version$1 = "0.10-SNAPSHOT20220312.201918.860afd0c";
4419
- this.gitCommit$1 = "860afd0c";
4420
- this.gitTime$1 = "2022-03-12T20:19:18+00:00";
4433
+ this.version$1 = "0.10-SNAPSHOT20220415.194636.880ae970";
4434
+ this.gitCommit$1 = "880ae970";
4435
+ this.gitTime$1 = "2022-04-15T19:46:36+00:00";
4421
4436
  return this
4422
4437
  });
4423
4438
  var $d_Lio_kaitai_struct_Version$ = new $TypeData().initClass({
@@ -20698,11 +20713,11 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.compileParseInstance__Lio_
20698
20713
  }
20699
20714
  });
20700
20715
  $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.compileEnum__Lio_kaitai_struct_format_EnumSpec__V = (function(enumSpec) {
20716
+ var this$1 = this.importList$1;
20717
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "import enum");
20701
20718
  var jsx$1 = this.out$1;
20702
- var this$1 = enumSpec.name$1;
20703
- jsx$1.puts__T__V((("def " + $f_sc_TraversableOnce__mkString__T__T__T__T(this$1, "", "__", "")) + "(subcon):"));
20704
- this.out$1.inc__V();
20705
- this.out$1.puts__T__V("return Enum(subcon,");
20719
+ var name = enumSpec.name$1;
20720
+ jsx$1.puts__T__V((("class " + $f_sc_TraversableOnce__mkString__T__T__T__T(name, "", "__", "")) + "(enum.IntEnum):"));
20706
20721
  this.out$1.inc__V();
20707
20722
  enumSpec.sortedSeq__sc_Seq().foreach__F1__V(new $c_sjsr_AnonFunction1().init___sjs_js_Function1((function($this) {
20708
20723
  return (function(x0$1$2) {
@@ -20712,17 +20727,20 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.compileEnum__Lio_kaitai_st
20712
20727
  var lo = t.lo$2;
20713
20728
  var hi = t.hi$2;
20714
20729
  var valueSpec = $as_Lio_kaitai_struct_format_EnumValueSpec(x0$1.$$und2__O());
20715
- $this.out$1.puts__T__V((((valueSpec.name$1 + "=") + new $c_sjsr_RuntimeLong().init___I__I(lo, hi)) + ","))
20730
+ var jsx$3 = $this.out$1;
20731
+ var jsx$2 = valueSpec.name$1;
20732
+ var this$3 = $m_s_math_BigInt$();
20733
+ var n = this$3.apply__J__s_math_BigInt(new $c_sjsr_RuntimeLong().init___I__I(lo, hi));
20734
+ var this$5 = n.bigInteger$3;
20735
+ jsx$3.puts__T__V(((jsx$2 + " = ") + $m_Ljava_math_Conversion$().toDecimalScaledString__Ljava_math_BigInteger__T(this$5)))
20716
20736
  } else {
20717
20737
  throw new $c_s_MatchError().init___O(x0$1)
20718
20738
  }
20719
20739
  })
20720
20740
  })(this)));
20721
20741
  this.out$1.dec__V();
20722
- this.out$1.puts__T__V(")");
20723
- this.out$1.dec__V();
20724
- var this$2 = this.out$1;
20725
- this$2.sb$2.append__T__scm_StringBuilder("\n")
20742
+ var this$6 = this.out$1;
20743
+ this$6.sb$2.append__T__scm_StringBuilder("\n")
20726
20744
  });
20727
20745
  $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.fixedEndianToStr__Lio_kaitai_struct_datatype_FixedEndian__T = (function(e) {
20728
20746
  var x = $m_Lio_kaitai_struct_datatype_LittleEndian$();
@@ -20738,29 +20756,31 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.fixedEndianToStr__Lio_kait
20738
20756
  }
20739
20757
  });
20740
20758
  $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.compile__Lio_kaitai_struct_CompileLog$SpecSuccess = (function() {
20741
- this.out$1.puts__T__V("from construct import *");
20742
- this.out$1.puts__T__V("from construct.lib import *");
20743
- var this$1 = this.out$1;
20744
- this$1.sb$2.append__T__scm_StringBuilder("\n");
20759
+ var this$1 = this.importList$1;
20760
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "from construct import *");
20761
+ var this$2 = this.importList$1;
20762
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "from construct.lib import *");
20745
20763
  this.compileClass__Lio_kaitai_struct_format_ClassSpec__V(this.topClass$1);
20746
20764
  var jsx$1 = this.out$1;
20747
- var cs = this.topClass$1;
20748
- var this$2 = cs.name$1;
20749
- jsx$1.puts__T__V(("_schema = " + $f_sc_TraversableOnce__mkString__T__T__T__T(this$2, "", "__", "")));
20765
+ var name = this.topClass$1.name$1;
20766
+ jsx$1.puts__T__V(("_schema = " + $f_sc_TraversableOnce__mkString__T__T__T__T(name, "", "__", "")));
20750
20767
  $m_sci_List$();
20751
- var this$3 = this.topClass$1;
20752
- var this$4 = this$3.name$1;
20753
- var jsx$2 = this.outFileName__T__T($f_sc_TraversableOnce__mkString__T__T__T__T(this$4, "", "::", ""));
20754
- var this$5 = this.out$1;
20755
- var this$6 = this$5.sb$2;
20756
- var array = [new $c_Lio_kaitai_struct_CompileLog$FileSuccess().init___T__T(jsx$2, this$6.underlying$5.java$lang$StringBuilder$$content$f)];
20768
+ var this$4 = this.topClass$1;
20769
+ var this$5 = this$4.name$1;
20770
+ var jsx$3 = this.outFileName__T__T($f_sc_TraversableOnce__mkString__T__T__T__T(this$5, "", "::", ""));
20771
+ var this$6 = this.importList$1;
20772
+ var this$7 = this$6.list$1.toList__sci_List();
20773
+ var jsx$2 = $f_sc_TraversableOnce__mkString__T__T__T__T(this$7, "", "\n", "");
20774
+ var this$8 = this.out$1;
20775
+ var this$9 = this$8.sb$2;
20776
+ var array = [new $c_Lio_kaitai_struct_CompileLog$FileSuccess().init___T__T(jsx$3, ((jsx$2 + "\n\n") + this$9.underlying$5.java$lang$StringBuilder$$content$f))];
20757
20777
  var i = (((-1) + $uI(array.length)) | 0);
20758
20778
  var result = $m_sci_Nil$();
20759
20779
  while ((i >= 0)) {
20760
- var this$10 = result;
20780
+ var this$13 = result;
20761
20781
  var index = i;
20762
20782
  var x = array[index];
20763
- result = new $c_sci_$colon$colon().init___O__sci_List(x, this$10);
20783
+ result = new $c_sci_$colon$colon().init___O__sci_List(x, this$13);
20764
20784
  i = (((-1) + i) | 0)
20765
20785
  };
20766
20786
  return new $c_Lio_kaitai_struct_CompileLog$SpecSuccess().init___T__sci_List("", result)
@@ -20916,31 +20936,31 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.attrBytesTerminatedType__L
20916
20936
  return (((((((("NullTerminated(" + subcon) + ", ") + ("term=b'" + termStr)) + "', ") + ("include=" + this.translator$1.doBoolLiteral__Z__T(btt.include$2))) + ", ") + ("consume=" + this.translator$1.doBoolLiteral__Z__T(btt.consume$2))) + ")")
20917
20937
  });
20918
20938
  $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.compileClass__Lio_kaitai_struct_format_ClassSpec__V = (function(cs) {
20919
- cs.types$1.foreach__F1__V(new $c_sjsr_AnonFunction1().init___sjs_js_Function1((function($this) {
20939
+ cs.enums$1.foreach__F1__V(new $c_sjsr_AnonFunction1().init___sjs_js_Function1((function($this) {
20920
20940
  return (function(x0$1$2) {
20921
20941
  var x0$1 = $as_T2(x0$1$2);
20922
20942
  if ((x0$1 !== null)) {
20923
- var typeSpec = $as_Lio_kaitai_struct_format_ClassSpec(x0$1.$$und2__O());
20924
- $this.compileClass__Lio_kaitai_struct_format_ClassSpec__V(typeSpec)
20943
+ var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec(x0$1.$$und2__O());
20944
+ $this.compileEnum__Lio_kaitai_struct_format_EnumSpec__V(enumSpec)
20925
20945
  } else {
20926
20946
  throw new $c_s_MatchError().init___O(x0$1)
20927
20947
  }
20928
20948
  })
20929
20949
  })(this)));
20930
- cs.enums$1.foreach__F1__V(new $c_sjsr_AnonFunction1().init___sjs_js_Function1((function(this$2) {
20950
+ cs.types$1.foreach__F1__V(new $c_sjsr_AnonFunction1().init___sjs_js_Function1((function(this$2) {
20931
20951
  return (function(x0$2$2) {
20932
20952
  var x0$2 = $as_T2(x0$2$2);
20933
20953
  if ((x0$2 !== null)) {
20934
- var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec(x0$2.$$und2__O());
20935
- this$2.compileEnum__Lio_kaitai_struct_format_EnumSpec__V(enumSpec)
20954
+ var typeSpec = $as_Lio_kaitai_struct_format_ClassSpec(x0$2.$$und2__O());
20955
+ this$2.compileClass__Lio_kaitai_struct_format_ClassSpec__V(typeSpec)
20936
20956
  } else {
20937
20957
  throw new $c_s_MatchError().init___O(x0$2)
20938
20958
  }
20939
20959
  })
20940
20960
  })(this)));
20941
20961
  var jsx$1 = this.out$1;
20942
- var this$1 = cs.name$1;
20943
- jsx$1.puts__T__V(($f_sc_TraversableOnce__mkString__T__T__T__T(this$1, "", "__", "") + " = Struct("));
20962
+ var name = cs.name$1;
20963
+ jsx$1.puts__T__V(($f_sc_TraversableOnce__mkString__T__T__T__T(name, "", "__", "") + " = Struct("));
20944
20964
  this.out$1.inc__V();
20945
20965
  this.provider$1.nowClass$1 = cs;
20946
20966
  var this$3 = cs.seq$1;
@@ -21118,9 +21138,8 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.typeToStr__Lio_kaitai_stru
21118
21138
  }
21119
21139
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserTypeInstream)) {
21120
21140
  var x9 = $as_Lio_kaitai_struct_datatype_DataType$UserTypeInstream(dataType);
21121
- var cs = $as_Lio_kaitai_struct_format_ClassSpec(x9.classSpec$3.get__O());
21122
- var this$1 = cs.name$1;
21123
- return (("LazyBound(lambda: " + $f_sc_TraversableOnce__mkString__T__T__T__T(this$1, "", "__", "")) + ")")
21141
+ var name = $as_Lio_kaitai_struct_format_ClassSpec(x9.classSpec$3.get__O()).name$1;
21142
+ return (("LazyBound(lambda: " + $f_sc_TraversableOnce__mkString__T__T__T__T(name, "", "__", "")) + ")")
21124
21143
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserTypeFromBytes)) {
21125
21144
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserTypeFromBytes(dataType);
21126
21145
  var x1$3 = x10.bytes$4;
@@ -21128,17 +21147,16 @@ $c_Lio_kaitai_struct_ConstructClassCompiler.prototype.typeToStr__Lio_kaitai_stru
21128
21147
  var x2$2 = $as_Lio_kaitai_struct_datatype_DataType$BytesLimitType(x1$3);
21129
21148
  var size = x2$2.size$2;
21130
21149
  var jsx$1 = this.translator$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__T(size);
21131
- var cs$1 = $as_Lio_kaitai_struct_format_ClassSpec(x10.classSpec$3.get__O());
21132
- var this$2 = cs$1.name$1;
21133
- return (((("FixedSized(" + jsx$1) + ", LazyBound(lambda: ") + $f_sc_TraversableOnce__mkString__T__T__T__T(this$2, "", "__", "")) + "))")
21150
+ var name$1 = $as_Lio_kaitai_struct_format_ClassSpec(x10.classSpec$3.get__O()).name$1;
21151
+ return (((("FixedSized(" + jsx$1) + ", LazyBound(lambda: ") + $f_sc_TraversableOnce__mkString__T__T__T__T(name$1, "", "__", "")) + "))")
21134
21152
  } else {
21135
21153
  return "???"
21136
21154
  }
21137
21155
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$EnumType)) {
21138
21156
  var x11 = $as_Lio_kaitai_struct_datatype_DataType$EnumType(dataType);
21139
- var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec(x11.enumSpec$1.get__O());
21140
- var this$3 = enumSpec.name$1;
21141
- return ((($f_sc_TraversableOnce__mkString__T__T__T__T(this$3, "", "__", "") + "(") + this.typeToStr__Lio_kaitai_struct_datatype_DataType__T(x11.basedOn$1)) + ")")
21157
+ var jsx$2 = this.typeToStr__Lio_kaitai_struct_datatype_DataType__T(x11.basedOn$1);
21158
+ var name$2 = $as_Lio_kaitai_struct_format_EnumSpec(x11.enumSpec$1.get__O()).name$1;
21159
+ return (((("Enum(" + jsx$2) + ", ") + $f_sc_TraversableOnce__mkString__T__T__T__T(name$2, "", "__", "")) + ")")
21142
21160
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$SwitchType)) {
21143
21161
  var x12 = $as_Lio_kaitai_struct_datatype_DataType$SwitchType(dataType);
21144
21162
  return this.attrSwitchType__Lio_kaitai_struct_datatype_DataType$SwitchType__T(x12)
@@ -34561,7 +34579,7 @@ function $f_Lio_kaitai_struct_languages_components_GoReads__handleAssignment__Li
34561
34579
  if ((x === rep)) {
34562
34580
  $thiz.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__V(id, expr)
34563
34581
  } else if ((rep instanceof $c_Lio_kaitai_struct_format_RepeatExpr)) {
34564
- $thiz.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__V(id, expr)
34582
+ $thiz.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__V(id, expr)
34565
34583
  } else if ((rep instanceof $c_Lio_kaitai_struct_format_RepeatUntil)) {
34566
34584
  $thiz.handleAssignmentRepeatUntil__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__Z__V(id, expr, isRaw)
34567
34585
  } else {
@@ -63218,29 +63236,33 @@ $c_Lio_kaitai_struct_translators_GoTranslator.prototype.init___Lio_kaitai_struct
63218
63236
  this.returnRes$2 = $m_s_None$();
63219
63237
  this.IMPORT$undCHARMAP$2 = "golang.org/x/text/encoding/charmap";
63220
63238
  var y = new $c_T2().init___O__O("charmap.CodePage437", this.IMPORT$undCHARMAP$2);
63221
- var jsx$6 = new $c_T2().init___O__O("cp437", y);
63239
+ var jsx$8 = new $c_T2().init___O__O("cp437", y);
63222
63240
  var y$1 = new $c_T2().init___O__O("charmap.ISO8859_1", this.IMPORT$undCHARMAP$2);
63223
- var jsx$5 = new $c_T2().init___O__O("iso8859-1", y$1);
63241
+ var jsx$7 = new $c_T2().init___O__O("iso8859-1", y$1);
63224
63242
  var y$2 = new $c_T2().init___O__O("charmap.ISO8859_2", this.IMPORT$undCHARMAP$2);
63225
- var jsx$4 = new $c_T2().init___O__O("iso8859-2", y$2);
63243
+ var jsx$6 = new $c_T2().init___O__O("iso8859-2", y$2);
63226
63244
  var y$3 = new $c_T2().init___O__O("charmap.ISO8859_3", this.IMPORT$undCHARMAP$2);
63227
- var jsx$3 = new $c_T2().init___O__O("iso8859-3", y$3);
63245
+ var jsx$5 = new $c_T2().init___O__O("iso8859-3", y$3);
63228
63246
  var y$4 = new $c_T2().init___O__O("charmap.ISO8859_4", this.IMPORT$undCHARMAP$2);
63229
- var jsx$2 = new $c_T2().init___O__O("iso8859-4", y$4);
63247
+ var jsx$4 = new $c_T2().init___O__O("iso8859-4", y$4);
63230
63248
  var y$5 = new $c_T2().init___O__O("japanese.ShiftJIS", "golang.org/x/text/encoding/japanese");
63231
- var jsx$1 = new $c_T2().init___O__O("sjis", y$5);
63249
+ var jsx$3 = new $c_T2().init___O__O("sjis", y$5);
63232
63250
  var y$6 = new $c_T2().init___O__O("traditionalchinese.Big5", "golang.org/x/text/encoding/traditionalchinese");
63233
- var array = [jsx$6, jsx$5, jsx$4, jsx$3, jsx$2, jsx$1, new $c_T2().init___O__O("big5", y$6)];
63234
- var this$18 = new $c_scm_MapBuilder().init___sc_GenMap($m_sci_Map$EmptyMap$());
63251
+ var jsx$2 = new $c_T2().init___O__O("big5", y$6);
63252
+ var y$7 = new $c_T2().init___O__O("unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)", "golang.org/x/text/encoding/unicode");
63253
+ var jsx$1 = new $c_T2().init___O__O("utf-16le", y$7);
63254
+ var y$8 = new $c_T2().init___O__O("unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)", "golang.org/x/text/encoding/unicode");
63255
+ var array = [jsx$8, jsx$7, jsx$6, jsx$5, jsx$4, jsx$3, jsx$2, jsx$1, new $c_T2().init___O__O("utf-16be", y$8)];
63256
+ var this$22 = new $c_scm_MapBuilder().init___sc_GenMap($m_sci_Map$EmptyMap$());
63235
63257
  var i = 0;
63236
63258
  var len = $uI(array.length);
63237
63259
  while ((i < len)) {
63238
63260
  var index = i;
63239
63261
  var arg1 = array[index];
63240
- this$18.$$plus$eq__T2__scm_MapBuilder($as_T2(arg1));
63262
+ this$22.$$plus$eq__T2__scm_MapBuilder($as_T2(arg1));
63241
63263
  i = ((1 + i) | 0)
63242
63264
  };
63243
- this.ENCODINGS$2 = $as_sci_Map(this$18.elems$1);
63265
+ this.ENCODINGS$2 = $as_sci_Map(this$22.elems$1);
63244
63266
  this.localVarNum$2 = 0;
63245
63267
  return this
63246
63268
  });
@@ -66952,6 +66974,9 @@ $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.floatToInt__Lio_kaitai
66952
66974
  $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.arrayLast__Lio_kaitai_struct_exprlang_Ast$expr__T = (function(a) {
66953
66975
  return (("@{" + this.translate__Lio_kaitai_struct_exprlang_Ast$expr__T(a)) + "}[-1]")
66954
66976
  });
66977
+ $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.bytesLength__Lio_kaitai_struct_exprlang_Ast$expr__O = (function(b) {
66978
+ return this.strLength__Lio_kaitai_struct_exprlang_Ast$expr__T(b)
66979
+ });
66955
66980
  $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.arrayMax__Lio_kaitai_struct_exprlang_Ast$expr__O = (function(a) {
66956
66981
  return this.arrayMax__Lio_kaitai_struct_exprlang_Ast$expr__T(a)
66957
66982
  });
@@ -67030,7 +67055,7 @@ $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.doArrayLiteral__Lio_ka
67030
67055
  })
67031
67056
  })(this));
67032
67057
  var this$1 = $m_sc_Seq$();
67033
- return (("(" + $as_sc_TraversableOnce(value.map__F1__scg_CanBuildFrom__O(jsx$1, this$1.ReusableCBFInstance$2)).mkString__T__T(", ")) + ")")
67058
+ return (("[" + $as_sc_TraversableOnce(value.map__F1__scg_CanBuildFrom__O(jsx$1, this$1.ReusableCBFInstance$2)).mkString__T__T(", ")) + "]")
67034
67059
  });
67035
67060
  $c_Lio_kaitai_struct_translators_PerlTranslator.prototype.boolToInt__Lio_kaitai_struct_exprlang_Ast$expr__T = (function(v) {
67036
67061
  return this.translate__Lio_kaitai_struct_exprlang_Ast$expr__T(v)
@@ -69969,6 +69994,9 @@ $c_Lio_kaitai_struct_translators_ConstructTranslator.prototype.init___Lio_kaitai
69969
69994
  $c_Lio_kaitai_struct_translators_PythonTranslator.prototype.init___Lio_kaitai_struct_translators_TypeProvider__Lio_kaitai_struct_ImportList.call(this, provider, importList);
69970
69995
  return this
69971
69996
  });
69997
+ $c_Lio_kaitai_struct_translators_ConstructTranslator.prototype.doEnumByLabel__sci_List__T__T = (function(enumTypeAbs, label) {
69998
+ return (("'" + label) + "'")
69999
+ });
69972
70000
  var $d_Lio_kaitai_struct_translators_ConstructTranslator = new $TypeData().initClass({
69973
70001
  Lio_kaitai_struct_translators_ConstructTranslator: 0
69974
70002
  }, false, "io.kaitai.struct.translators.ConstructTranslator", {
@@ -72347,6 +72375,14 @@ function $h_Lio_kaitai_struct_languages_CppCompiler() {
72347
72375
  /*<skip>*/
72348
72376
  }
72349
72377
  $h_Lio_kaitai_struct_languages_CppCompiler.prototype = $c_Lio_kaitai_struct_languages_CppCompiler.prototype;
72378
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
72379
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
72380
+ this.outSrc$2.puts__T__V("i++;");
72381
+ this.outSrc$2.dec__V();
72382
+ this.outSrc$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
72383
+ this.outSrc$2.dec__V();
72384
+ this.outSrc$2.puts__T__V("}")
72385
+ });
72350
72386
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.instanceDeclaration__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
72351
72387
  this.ensureMode__Lio_kaitai_struct_languages_CppCompiler$AccessMode__V(this.PrivateAccess__Lio_kaitai_struct_languages_CppCompiler$PrivateAccess$());
72352
72388
  this.outHdr$2.puts__T__V((("bool " + this.calculatedFlagForName__Lio_kaitai_struct_format_Identifier__T(attrName)) + ";"));
@@ -72365,23 +72401,11 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.stdMoveWrap__T__T = (functi
72365
72401
  return expr
72366
72402
  }
72367
72403
  });
72368
- $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
72369
- this.importListHdr$2.addSystem__T__V("vector");
72370
- if ((needRaw.level__I() >= 1)) {
72371
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"));
72372
- if (needRaw.hasIO__Z()) {
72373
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_IoStorageIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$OwnedKaitaiStreamType$())) + ";"))
72374
- }
72375
- };
72376
- if ((needRaw.level__I() >= 2)) {
72377
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"))
72378
- };
72379
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T(dataType)) + ";"));
72404
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
72380
72405
  this.outSrc$2.puts__T__V("{");
72381
72406
  this.outSrc$2.inc__V();
72382
72407
  this.outSrc$2.puts__T__V("int i = 0;");
72383
- this.outSrc$2.puts__T__V((((this.kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__Z__T(dataType.asNonOwning__Lio_kaitai_struct_datatype_DataType(), false) + " ") + this.translator$2.doName__T__T("_")) + ";"));
72384
- this.outSrc$2.puts__T__V("do {");
72408
+ this.outSrc$2.puts__T__V((("while (!" + io) + "->is_eof()) {"));
72385
72409
  this.outSrc$2.inc__V()
72386
72410
  });
72387
72411
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.needsDestruction__Lio_kaitai_struct_datatype_DataType__Z = (function(t) {
@@ -72429,6 +72453,19 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.switchIfElseStart__V = (fun
72429
72453
  this.outSrc$2.puts__T__V("else {");
72430
72454
  this.outSrc$2.inc__V()
72431
72455
  });
72456
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
72457
+ this.importListHdr$2.addSystem__T__V("vector");
72458
+ if ((needRaw.level__I() >= 1)) {
72459
+ this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"));
72460
+ if (needRaw.hasIO__Z()) {
72461
+ this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_IoStorageIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$OwnedKaitaiStreamType$())) + ";"))
72462
+ }
72463
+ };
72464
+ if ((needRaw.level__I() >= 2)) {
72465
+ this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"))
72466
+ };
72467
+ this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T(dataType)) + ";"))
72468
+ });
72432
72469
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.importDataType__Lio_kaitai_struct_datatype_DataType__V = (function(dt) {
72433
72470
  if ((dt instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
72434
72471
  var x2 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dt);
@@ -72506,24 +72543,6 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.destructVector__T__T__V = (
72506
72543
  this.outSrc$2.dec__V();
72507
72544
  this.outSrc$2.puts__T__V("}")
72508
72545
  });
72509
- $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
72510
- this.importListHdr$2.addSystem__T__V("vector");
72511
- if ((needRaw.level__I() >= 1)) {
72512
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"));
72513
- if (needRaw.hasIO__Z()) {
72514
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_IoStorageIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$OwnedKaitaiStreamType$())) + ";"))
72515
- }
72516
- };
72517
- if ((needRaw.level__I() >= 2)) {
72518
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"))
72519
- };
72520
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T(dataType)) + ";"));
72521
- this.outSrc$2.puts__T__V("{");
72522
- this.outSrc$2.inc__V();
72523
- this.outSrc$2.puts__T__V("int i = 0;");
72524
- this.outSrc$2.puts__T__V((("while (!" + io) + "->is_eof()) {"));
72525
- this.outSrc$2.inc__V()
72526
- });
72527
72546
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
72528
72547
  return ("m_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
72529
72548
  });
@@ -73082,6 +73101,12 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.destructWithSafeguardHeader
73082
73101
  this.outSrc$2.puts__T__V((("if (" + ptr) + ") {"));
73083
73102
  this.outSrc$2.inc__V()
73084
73103
  });
73104
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
73105
+ var lenVar = ("l_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id));
73106
+ this.outSrc$2.puts__T__V((((("const int " + lenVar) + " = ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
73107
+ this.outSrc$2.puts__T__V((("for (int i = 0; i < " + lenVar) + "; i++) {"));
73108
+ this.outSrc$2.inc__V()
73109
+ });
73085
73110
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.localTemporaryName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
73086
73111
  return ("_t_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
73087
73112
  });
@@ -73176,7 +73201,7 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.handleAssignmentRepeatEos__
73176
73201
  this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "->push_back(") + this.stdMoveWrap__T__T(expr)) + ");"))
73177
73202
  });
73178
73203
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
73179
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "->push_back(") + this.stdMoveWrap__T__T(expr)) + ");"))
73204
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
73180
73205
  });
73181
73206
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.classHeader__sci_List__V = (function(name) {
73182
73207
  var jsx$1 = $m_Lio_kaitai_struct_languages_CppCompiler$();
@@ -73290,6 +73315,14 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.classConstructorFooter__V =
73290
73315
  this.outSrc$2.dec__V();
73291
73316
  this.outSrc$2.puts__T__V("}")
73292
73317
  });
73318
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
73319
+ this.outSrc$2.puts__T__V("{");
73320
+ this.outSrc$2.inc__V();
73321
+ this.outSrc$2.puts__T__V("int i = 0;");
73322
+ this.outSrc$2.puts__T__V((((this.kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__Z__T(dataType.asNonOwning__Lio_kaitai_struct_datatype_DataType(), false) + " ") + this.translator$2.doName__T__T("_")) + ";"));
73323
+ this.outSrc$2.puts__T__V("do {");
73324
+ this.outSrc$2.inc__V()
73325
+ });
73293
73326
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
73294
73327
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
73295
73328
  });
@@ -73344,30 +73377,6 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.readFooter__V = (function()
73344
73377
  this.outSrc$2.dec__V();
73345
73378
  this.outSrc$2.puts__T__V("}")
73346
73379
  });
73347
- $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
73348
- this.importListHdr$2.addSystem__T__V("vector");
73349
- var lenVar = ("l_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id));
73350
- this.outSrc$2.puts__T__V((((("int " + lenVar) + " = ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
73351
- if ((needRaw.level__I() >= 1)) {
73352
- var rawId = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id));
73353
- this.outSrc$2.puts__T__V((((rawId + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"));
73354
- this.outSrc$2.puts__T__V((((rawId + "->reserve(") + lenVar) + ");"));
73355
- if (needRaw.hasIO__Z()) {
73356
- var ioId = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_IoStorageIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)));
73357
- this.outSrc$2.puts__T__V((((ioId + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$OwnedKaitaiStreamType$())) + ";"));
73358
- this.outSrc$2.puts__T__V((((ioId + "->reserve(") + lenVar) + ");"))
73359
- }
73360
- };
73361
- if ((needRaw.level__I() >= 2)) {
73362
- var rawId$2 = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)));
73363
- this.outSrc$2.puts__T__V((((rawId$2 + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T($m_Lio_kaitai_struct_datatype_DataType$CalcBytesType$())) + ";"));
73364
- this.outSrc$2.puts__T__V((((rawId$2 + "->reserve(") + lenVar) + ");"))
73365
- };
73366
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ") + this.newVector__Lio_kaitai_struct_datatype_DataType__T(dataType)) + ";"));
73367
- this.outSrc$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "->reserve(") + lenVar) + ");"));
73368
- this.outSrc$2.puts__T__V((("for (int i = 0; i < " + lenVar) + "; i++) {"));
73369
- this.outSrc$2.inc__V()
73370
- });
73371
73380
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.ksErrorName__Lio_kaitai_struct_datatype_KSError__T = (function(err) {
73372
73381
  var x = $m_Lio_kaitai_struct_datatype_EndOfStreamError$();
73373
73382
  if ((x === err)) {
@@ -73750,14 +73759,6 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.translator__Lio_kaitai_stru
73750
73759
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.classDestructorFooter__V = (function() {
73751
73760
  this.classConstructorFooter__V()
73752
73761
  });
73753
- $c_Lio_kaitai_struct_languages_CppCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
73754
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
73755
- this.outSrc$2.puts__T__V("i++;");
73756
- this.outSrc$2.dec__V();
73757
- this.outSrc$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
73758
- this.outSrc$2.dec__V();
73759
- this.outSrc$2.puts__T__V("}")
73760
- });
73761
73762
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.instanceCalculate__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(instName, dataType, value) {
73762
73763
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__instanceCalculate__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V(this, instName, dataType, value)
73763
73764
  });
@@ -74397,6 +74398,16 @@ function $h_Lio_kaitai_struct_languages_GoCompiler() {
74397
74398
  /*<skip>*/
74398
74399
  }
74399
74400
  $h_Lio_kaitai_struct_languages_GoCompiler.prototype = $c_Lio_kaitai_struct_languages_GoCompiler.prototype;
74401
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
74402
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
74403
+ this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + " {"));
74404
+ this.out$2.inc__V();
74405
+ this.out$2.puts__T__V("break");
74406
+ this.out$2.dec__V();
74407
+ this.out$2.puts__T__V("}");
74408
+ this.out$2.dec__V();
74409
+ this.out$2.puts__T__V("}")
74410
+ });
74400
74411
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.switchEnd__V = (function() {
74401
74412
  this.out$2.puts__T__V("}")
74402
74413
  });
@@ -74404,15 +74415,17 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.instanceDeclaration__Lio_kai
74404
74415
  this.out$2.puts__T__V((this.calculatedFlagForName__Lio_kaitai_struct_format_Identifier__T(attrName) + " bool"));
74405
74416
  this.out$2.puts__T__V(((this.idToStr__Lio_kaitai_struct_format_Identifier__T(attrName) + " ") + $m_Lio_kaitai_struct_languages_GoCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(attrType)))
74406
74417
  });
74407
- $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
74408
- if ((needRaw.level__I() >= 1)) {
74409
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = make([][]byte, 0);"))
74410
- };
74411
- if ((needRaw.level__I() >= 2)) {
74412
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = make([][]byte, 0);"))
74413
- };
74418
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
74414
74419
  this.out$2.puts__T__V("for i := 1;; i++ {");
74415
- this.out$2.inc__V()
74420
+ this.out$2.inc__V();
74421
+ var eofVar = this.translator$2.allocateLocalVar__I();
74422
+ this.out$2.puts__T__V((this.translator$2.localVarName__I__T(eofVar) + ", err := this._io.EOF()"));
74423
+ this.translator$2.outAddErrCheck__V();
74424
+ this.out$2.puts__T__V((("if " + this.translator$2.localVarName__I__T(eofVar)) + " {"));
74425
+ this.out$2.inc__V();
74426
+ this.out$2.puts__T__V("break");
74427
+ this.out$2.dec__V();
74428
+ this.out$2.puts__T__V("}")
74416
74429
  });
74417
74430
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.switchCaseStartCompareFn__T__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(compareFn, switchOn, condition) {
74418
74431
  this.out$2.puts__T__V((((((("case " + compareFn) + "(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, switchOn)) + ", ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, condition)) + "):"));
@@ -74421,6 +74434,9 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.switchCaseStartCompareFn__T_
74421
74434
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
74422
74435
  this.outHeader$2 = x$1
74423
74436
  });
74437
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
74438
+ /*<skip>*/
74439
+ });
74424
74440
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
74425
74441
  this.out$2.puts__T__V((("switch " + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T($m_Lio_kaitai_struct_format_EndianIdentifier$())) + " {"));
74426
74442
  this.out$2.puts__T__V("case 0:");
@@ -74442,24 +74458,6 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.instanceHeader__sci_List__Li
74442
74458
  this.out$2.inc__V();
74443
74459
  this.translator$2.returnRes$2 = new $c_s_Some().init___O(((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$NumericType) ? "0" : ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BooleanType) ? "false" : ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$StrType) ? "\"\"" : "nil"))))
74444
74460
  });
74445
- $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
74446
- if ((needRaw.level__I() >= 1)) {
74447
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = make([][]byte, 0);"))
74448
- };
74449
- if ((needRaw.level__I() >= 2)) {
74450
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = make([][]byte, 0);"))
74451
- };
74452
- this.out$2.puts__T__V("for i := 1;; i++ {");
74453
- this.out$2.inc__V();
74454
- var eofVar = this.translator$2.allocateLocalVar__I();
74455
- this.out$2.puts__T__V((this.translator$2.localVarName__I__T(eofVar) + ", err := this._io.EOF()"));
74456
- this.translator$2.outAddErrCheck__V();
74457
- this.out$2.puts__T__V((("if " + this.translator$2.localVarName__I__T(eofVar)) + " {"));
74458
- this.out$2.inc__V();
74459
- this.out$2.puts__T__V("break");
74460
- this.out$2.dec__V();
74461
- this.out$2.puts__T__V("}")
74462
- });
74463
74461
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
74464
74462
  return ("this." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
74465
74463
  });
@@ -74708,10 +74706,10 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.idToStr__Lio_kaitai_struct_f
74708
74706
  throw new $c_s_MatchError().init___O(id)
74709
74707
  }
74710
74708
  });
74711
- $c_Lio_kaitai_struct_languages_GoCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__V = (function(id, r) {
74712
- var name = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id);
74713
- var expr = this.translator$2.resToStr__Lio_kaitai_struct_translators_TranslatorResult__T(r);
74714
- this.out$2.puts__T__V(((name + "[i] = ") + expr))
74709
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
74710
+ this.out$2.puts__T__V((("for i := 0; i < int(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "); i++ {"));
74711
+ this.out$2.inc__V();
74712
+ this.out$2.puts__T__V("_ = i")
74715
74713
  });
74716
74714
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.alignToByte__T__V = (function(io) {
74717
74715
  this.out$2.puts__T__V((io + ".AlignToByte()"))
@@ -74814,6 +74812,10 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.switchCaseStart__Lio_kaitai_
74814
74812
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.classConstructorFooter__V = (function() {
74815
74813
  /*<skip>*/
74816
74814
  });
74815
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
74816
+ this.out$2.puts__T__V("for i := 1;; i++ {");
74817
+ this.out$2.inc__V()
74818
+ });
74817
74819
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignType) {
74818
74820
  $f_Lio_kaitai_struct_languages_components_GoReads__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignType)
74819
74821
  });
@@ -74864,17 +74866,6 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.readFooter__V = (function()
74864
74866
  this.out$2.puts__T__V("return err");
74865
74867
  this.universalFooter__V()
74866
74868
  });
74867
- $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
74868
- if ((needRaw.level__I() >= 1)) {
74869
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = make([][]byte, ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
74870
- };
74871
- if ((needRaw.level__I() >= 2)) {
74872
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = make([][]byte, ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
74873
- };
74874
- this.out$2.puts__T__V((((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = make(") + $m_Lio_kaitai_struct_languages_GoCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType))) + ", ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"));
74875
- this.out$2.puts__T__V((("for i := range " + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id)) + " {"));
74876
- this.out$2.inc__V()
74877
- });
74878
74869
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
74879
74870
  this.out$2.puts__T__V((("switch (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ") {"))
74880
74871
  });
@@ -75003,7 +74994,7 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.normalIO__T = (function() {
75003
74994
  });
75004
74995
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.handleAssignmentRepeatUntil__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_translators_TranslatorResult__Z__V = (function(id, r, isRaw) {
75005
74996
  var expr = this.translator$2.resToStr__Lio_kaitai_struct_translators_TranslatorResult__T(r);
75006
- var tempVar = this.translator$2.specialName__T__T($m_Lio_kaitai_struct_format_Identifier$().ITERATOR$1);
74997
+ var tempVar = this.translator$2.specialName__T__T((isRaw ? $m_Lio_kaitai_struct_format_Identifier$().ITERATOR2$1 : $m_Lio_kaitai_struct_format_Identifier$().ITERATOR$1));
75007
74998
  this.out$2.puts__T__V(((tempVar + " := ") + expr));
75008
74999
  this.out$2.puts__T__V((((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = append(") + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id)) + ", ") + tempVar) + ")"))
75009
75000
  });
@@ -75103,16 +75094,6 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.calculatedFlagForName__Lio_k
75103
75094
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
75104
75095
  return this.translator$2
75105
75096
  });
75106
- $c_Lio_kaitai_struct_languages_GoCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
75107
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
75108
- this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + " {"));
75109
- this.out$2.inc__V();
75110
- this.out$2.puts__T__V("break");
75111
- this.out$2.dec__V();
75112
- this.out$2.puts__T__V("}");
75113
- this.out$2.dec__V();
75114
- this.out$2.puts__T__V("}")
75115
- });
75116
75097
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.universalFooter__V = (function() {
75117
75098
  this.out$2.dec__V();
75118
75099
  this.out$2.puts__T__V("}")
@@ -75267,6 +75248,12 @@ function $h_Lio_kaitai_struct_languages_JavaScriptCompiler() {
75267
75248
  /*<skip>*/
75268
75249
  }
75269
75250
  $h_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype = $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype;
75251
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
75252
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
75253
+ this.out$2.puts__T__V("i++;");
75254
+ this.out$2.dec__V();
75255
+ this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"))
75256
+ });
75270
75257
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.switchEnd__V = (function() {
75271
75258
  this.out$2.puts__T__V("}")
75272
75259
  });
@@ -75285,19 +75272,9 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.classToString__Lio_k
75285
75272
  this.out$2.dec__V();
75286
75273
  this.out$2.puts__T__V("}")
75287
75274
  });
75288
- $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
75289
- if ((needRaw.level__I() >= 1)) {
75290
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
75291
- };
75292
- if ((needRaw.level__I() >= 2)) {
75293
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
75294
- };
75295
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"));
75296
- if (this.config$1.readStoresPos$1) {
75297
- this.out$2.puts__T__V((("this._debug." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id)) + ".arr = [];"))
75298
- };
75275
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
75299
75276
  this.out$2.puts__T__V("var i = 0;");
75300
- this.out$2.puts__T__V("do {");
75277
+ this.out$2.puts__T__V((("while (!" + io) + ".isEof()) {"));
75301
75278
  this.out$2.inc__V()
75302
75279
  });
75303
75280
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
@@ -75307,6 +75284,18 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.switchIfElseStart__V
75307
75284
  this.out$2.puts__T__V("else {");
75308
75285
  this.out$2.inc__V()
75309
75286
  });
75287
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
75288
+ if ((needRaw.level__I() >= 1)) {
75289
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
75290
+ };
75291
+ if ((needRaw.level__I() >= 2)) {
75292
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
75293
+ };
75294
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
75295
+ if (this.config$1.readStoresPos$1) {
75296
+ this.out$2.puts__T__V((("this._debug." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id)) + ".arr = [];"))
75297
+ }
75298
+ });
75310
75299
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
75311
75300
  this.out$2.puts__T__V("if (this._is_le) {");
75312
75301
  this.out$2.inc__V();
@@ -75329,21 +75318,6 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.instanceHeader__sci_
75329
75318
  this.out$2.puts__T__V("get: function() {");
75330
75319
  this.out$2.inc__V()
75331
75320
  });
75332
- $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
75333
- if ((needRaw.level__I() >= 1)) {
75334
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
75335
- };
75336
- if ((needRaw.level__I() >= 2)) {
75337
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
75338
- };
75339
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
75340
- if (this.config$1.readStoresPos$1) {
75341
- this.out$2.puts__T__V((("this._debug." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id)) + ".arr = [];"))
75342
- };
75343
- this.out$2.puts__T__V("var i = 0;");
75344
- this.out$2.puts__T__V((("while (!" + io) + ".isEof()) {"));
75345
- this.out$2.inc__V()
75346
- });
75347
75321
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
75348
75322
  return ("this." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
75349
75323
  });
@@ -75814,6 +75788,10 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.idToStr__Lio_kaitai_
75814
75788
  throw new $c_s_MatchError().init___O(id)
75815
75789
  }
75816
75790
  });
75791
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
75792
+ this.out$2.puts__T__V((("for (var i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++) {"));
75793
+ this.out$2.inc__V()
75794
+ });
75817
75795
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.localTemporaryName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
75818
75796
  return ("_t_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
75819
75797
  });
@@ -75859,7 +75837,7 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.handleAssignmentRepe
75859
75837
  this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".push(") + expr) + ");"))
75860
75838
  });
75861
75839
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
75862
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[i] = ") + expr) + ";"))
75840
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
75863
75841
  });
75864
75842
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.readHeader__s_Option__Z__V = (function(endian, isEmpty) {
75865
75843
  if ((endian instanceof $c_s_Some)) {
@@ -75914,6 +75892,11 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.classConstructorFoot
75914
75892
  this.out$2.dec__V();
75915
75893
  this.out$2.puts__T__V("}")
75916
75894
  });
75895
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
75896
+ this.out$2.puts__T__V("var i = 0;");
75897
+ this.out$2.puts__T__V("do {");
75898
+ this.out$2.inc__V()
75899
+ });
75917
75900
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
75918
75901
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
75919
75902
  });
@@ -75956,20 +75939,6 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.readFooter__V = (fun
75956
75939
  this.out$2.dec__V();
75957
75940
  this.out$2.puts__T__V("}")
75958
75941
  });
75959
- $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
75960
- if ((needRaw.level__I() >= 1)) {
75961
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new Array(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ");"))
75962
- };
75963
- if ((needRaw.level__I() >= 2)) {
75964
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new Array(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ");"))
75965
- };
75966
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = new Array(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ");"));
75967
- if (this.config$1.readStoresPos$1) {
75968
- this.out$2.puts__T__V((((("this._debug." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id)) + ".arr = new Array(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ");"))
75969
- };
75970
- this.out$2.puts__T__V((("for (var i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++) {"));
75971
- this.out$2.inc__V()
75972
- });
75973
75942
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
75974
75943
  this.out$2.puts__T__V((("switch (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ") {"))
75975
75944
  });
@@ -76227,12 +76196,6 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.translator__Lio_kait
76227
76196
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
76228
76197
  return this.translator$2
76229
76198
  });
76230
- $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
76231
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
76232
- this.out$2.puts__T__V("i++;");
76233
- this.out$2.dec__V();
76234
- this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"))
76235
- });
76236
76199
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrDebugName__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_format_RepeatSpec__Z__T = (function(attrId, rep, end) {
76237
76200
  var x = $m_Lio_kaitai_struct_format_NoRepeat$();
76238
76201
  if ((x === rep)) {
@@ -76343,19 +76306,18 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.classHeader__sci_List__s_Op
76343
76306
  jsx$1.puts__T__V(((("class " + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name$1)) + ext) + " {"));
76344
76307
  this.out$2.inc__V()
76345
76308
  });
76309
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
76310
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
76311
+ this.out$2.puts__T__V("$i++;");
76312
+ this.out$2.dec__V();
76313
+ this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"))
76314
+ });
76346
76315
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.switchEnd__V = (function() {
76347
76316
  this.universalFooter__V()
76348
76317
  });
76349
- $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
76350
- if ((needRaw.level__I() >= 1)) {
76351
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
76352
- };
76353
- if ((needRaw.level__I() >= 2)) {
76354
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
76355
- };
76356
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
76318
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
76357
76319
  this.out$2.puts__T__V("$i = 0;");
76358
- this.out$2.puts__T__V("do {");
76320
+ this.out$2.puts__T__V((("while (!" + io) + "->isEof()) {"));
76359
76321
  this.out$2.inc__V()
76360
76322
  });
76361
76323
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.paramName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
@@ -76419,6 +76381,15 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.kaitaiType2NativeType__Lio_
76419
76381
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
76420
76382
  this.outHeader$2 = x$1
76421
76383
  });
76384
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
76385
+ if ((needRaw.level__I() >= 1)) {
76386
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
76387
+ };
76388
+ if ((needRaw.level__I() >= 2)) {
76389
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
76390
+ };
76391
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"))
76392
+ });
76422
76393
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
76423
76394
  this.out$2.puts__T__V("if ($this->_m__is_le) {");
76424
76395
  this.out$2.inc__V();
@@ -76434,18 +76405,6 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.instanceHeader__sci_List__L
76434
76405
  this.out$2.puts__T__V((("public function " + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "() {"));
76435
76406
  this.out$2.inc__V()
76436
76407
  });
76437
- $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
76438
- if ((needRaw.level__I() >= 1)) {
76439
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
76440
- };
76441
- if ((needRaw.level__I() >= 2)) {
76442
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
76443
- };
76444
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
76445
- this.out$2.puts__T__V("$i = 0;");
76446
- this.out$2.puts__T__V((("while (!" + io) + "->isEof()) {"));
76447
- this.out$2.inc__V()
76448
- });
76449
76408
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
76450
76409
  var x = $m_Lio_kaitai_struct_format_IoIdentifier$();
76451
76410
  if (x.equals__O__Z(id)) {
@@ -76754,6 +76713,11 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.idToStr__Lio_kaitai_struct_
76754
76713
  throw new $c_s_MatchError().init___O(id)
76755
76714
  }
76756
76715
  });
76716
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
76717
+ this.out$2.puts__T__V((("$n = " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
76718
+ this.out$2.puts__T__V("for ($i = 0; $i < $n; $i++) {");
76719
+ this.out$2.inc__V()
76720
+ });
76757
76721
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.alignToByte__T__V = (function(io) {
76758
76722
  this.out$2.puts__T__V((io + "->alignToByte();"))
76759
76723
  });
@@ -76809,7 +76773,7 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.handleAssignmentRepeatEos__
76809
76773
  this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[] = ") + expr) + ";"))
76810
76774
  });
76811
76775
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
76812
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[] = ") + expr) + ";"))
76776
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
76813
76777
  });
76814
76778
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.readHeader__s_Option__Z__V = (function(endian, isEmpty) {
76815
76779
  if ((endian instanceof $c_s_Some)) {
@@ -76847,6 +76811,11 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.switchCaseStart__Lio_kaitai
76847
76811
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.classConstructorFooter__V = (function() {
76848
76812
  this.universalFooter__V()
76849
76813
  });
76814
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
76815
+ this.out$2.puts__T__V("$i = 0;");
76816
+ this.out$2.puts__T__V("do {");
76817
+ this.out$2.inc__V()
76818
+ });
76850
76819
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
76851
76820
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
76852
76821
  });
@@ -76888,18 +76857,6 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.io$kaitai$struct$languages$
76888
76857
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.readFooter__V = (function() {
76889
76858
  this.universalFooter__V()
76890
76859
  });
76891
- $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
76892
- if ((needRaw.level__I() >= 1)) {
76893
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
76894
- };
76895
- if ((needRaw.level__I() >= 2)) {
76896
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
76897
- };
76898
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
76899
- this.out$2.puts__T__V((("$n = " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
76900
- this.out$2.puts__T__V("for ($i = 0; $i < $n; $i++) {");
76901
- this.out$2.inc__V()
76902
- });
76903
76860
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
76904
76861
  this.translator$2.detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(on);
76905
76862
  this.out$2.puts__T__V((("switch (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ") {"));
@@ -77112,12 +77069,6 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.translator__Lio_kaitai_stru
77112
77069
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
77113
77070
  return this.translator$2
77114
77071
  });
77115
- $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
77116
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
77117
- this.out$2.puts__T__V("$i++;");
77118
- this.out$2.dec__V();
77119
- this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"))
77120
- });
77121
77072
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.universalFooter__V = (function() {
77122
77073
  this.out$2.dec__V();
77123
77074
  this.out$2.puts__T__V("}")
@@ -77187,18 +77138,16 @@ function $h_Lio_kaitai_struct_languages_PerlCompiler() {
77187
77138
  /*<skip>*/
77188
77139
  }
77189
77140
  $h_Lio_kaitai_struct_languages_PerlCompiler.prototype = $c_Lio_kaitai_struct_languages_PerlCompiler.prototype;
77141
+ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
77142
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
77143
+ this.out$2.dec__V();
77144
+ this.out$2.puts__T__V((("} until (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ");"))
77145
+ });
77190
77146
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.switchEnd__V = (function() {
77191
77147
  /*<skip>*/
77192
77148
  });
77193
- $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
77194
- if ((needRaw.level__I() >= 1)) {
77195
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ();"))
77196
- };
77197
- if ((needRaw.level__I() >= 2)) {
77198
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ();"))
77199
- };
77200
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ();"));
77201
- this.out$2.puts__T__V("do {");
77149
+ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
77150
+ this.out$2.puts__T__V((("while (!" + io) + "->is_eof()) {"));
77202
77151
  this.out$2.inc__V()
77203
77152
  });
77204
77153
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
@@ -77208,6 +77157,15 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.switchIfElseStart__V = (fu
77208
77157
  this.out$2.puts__T__V("else {");
77209
77158
  this.out$2.inc__V()
77210
77159
  });
77160
+ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
77161
+ if ((needRaw.level__I() >= 1)) {
77162
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ();"))
77163
+ };
77164
+ if ((needRaw.level__I() >= 2)) {
77165
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ();"))
77166
+ };
77167
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ();"))
77168
+ });
77211
77169
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
77212
77170
  this.out$2.puts__T__V((("if (" + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T($m_Lio_kaitai_struct_format_EndianIdentifier$())) + ") {"));
77213
77171
  this.out$2.inc__V();
@@ -77229,17 +77187,6 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.instanceHeader__sci_List__
77229
77187
  this.out$2.inc__V();
77230
77188
  this.out$2.puts__T__V("my ($self) = @_;")
77231
77189
  });
77232
- $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
77233
- if ((needRaw.level__I() >= 1)) {
77234
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ();"))
77235
- };
77236
- if ((needRaw.level__I() >= 2)) {
77237
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ();"))
77238
- };
77239
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ();"));
77240
- this.out$2.puts__T__V((("while (!" + io) + "->is_eof()) {"));
77241
- this.out$2.inc__V()
77242
- });
77243
77190
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.switchIfStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType__V = (function(id, on, onType) {
77244
77191
  this.typeProvider$1.$$undcurrentSwitchType$1 = new $c_s_Some().init___O(this.translator$2.detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(on));
77245
77192
  this.out$2.puts__T__V((("my $_on = " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ";"))
@@ -77436,6 +77383,12 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.idToStr__Lio_kaitai_struct
77436
77383
  throw new $c_s_MatchError().init___O(id)
77437
77384
  }
77438
77385
  });
77386
+ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
77387
+ var nVar = ("$n_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id));
77388
+ this.out$2.puts__T__V((((("my " + nVar) + " = ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
77389
+ this.out$2.puts__T__V((("for (my $i = 0; $i < " + nVar) + "; $i++) {"));
77390
+ this.out$2.inc__V()
77391
+ });
77439
77392
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.alignToByte__T__V = (function(io) {
77440
77393
  this.out$2.puts__T__V((io + "->align_to_byte();"))
77441
77394
  });
@@ -77488,7 +77441,7 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.handleAssignmentRepeatEos_
77488
77441
  this.out$2.puts__T__V((((("push @{" + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id)) + "}, ") + expr) + ";"))
77489
77442
  });
77490
77443
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
77491
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[$i] = ") + expr) + ";"))
77444
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
77492
77445
  });
77493
77446
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.classHeader__sci_List__V = (function(name) {
77494
77447
  var this$1 = this.out$2;
@@ -77546,6 +77499,10 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.classConstructorFooter__V
77546
77499
  this.out$2.puts__T__V("return $self;");
77547
77500
  this.universalFooter__V()
77548
77501
  });
77502
+ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
77503
+ this.out$2.puts__T__V("do {");
77504
+ this.out$2.inc__V()
77505
+ });
77549
77506
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.onComparisonExpr__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_exprlang_Ast$expr$Compare = (function(condition) {
77550
77507
  return new $c_Lio_kaitai_struct_exprlang_Ast$expr$Compare().init___Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_exprlang_Ast$cmpop__Lio_kaitai_struct_exprlang_Ast$expr(new $c_Lio_kaitai_struct_exprlang_Ast$expr$Name().init___Lio_kaitai_struct_exprlang_Ast$identifier(new $c_Lio_kaitai_struct_exprlang_Ast$identifier().init___T("_on")), $m_Lio_kaitai_struct_exprlang_Ast$cmpop$Eq$(), condition)
77551
77508
  });
@@ -77589,19 +77546,6 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.io$kaitai$struct$languages
77589
77546
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.readFooter__V = (function() {
77590
77547
  this.universalFooter__V()
77591
77548
  });
77592
- $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
77593
- if ((needRaw.level__I() >= 1)) {
77594
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = ();"))
77595
- };
77596
- if ((needRaw.level__I() >= 2)) {
77597
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = ();"))
77598
- };
77599
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = ();"));
77600
- var nVar = ("$n_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id));
77601
- this.out$2.puts__T__V((((("my " + nVar) + " = ") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ";"));
77602
- this.out$2.puts__T__V((("for (my $i = 0; $i < " + nVar) + "; $i++) {"));
77603
- this.out$2.inc__V()
77604
- });
77605
77549
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
77606
77550
  /*<skip>*/
77607
77551
  });
@@ -77749,11 +77693,6 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.translator__Lio_kaitai_str
77749
77693
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
77750
77694
  return this.translator$2
77751
77695
  });
77752
- $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
77753
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
77754
- this.out$2.dec__V();
77755
- this.out$2.puts__T__V((("} until (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ");"))
77756
- });
77757
77696
  $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.universalFooter__V = (function() {
77758
77697
  this.out$2.dec__V();
77759
77698
  this.out$2.puts__T__V("}")
@@ -77858,21 +77797,20 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.classHeader__sci_List__s_O
77858
77797
  this.out$2.puts__T__V("#[derive(Default)]");
77859
77798
  this.out$2.puts__T__V((("pub struct " + $m_Lio_kaitai_struct_languages_RustCompiler$().types2classRel__sci_List__T(name)) + " {"))
77860
77799
  });
77800
+ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
77801
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
77802
+ this.out$2.puts__T__V((("!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ")"));
77803
+ this.out$2.dec__V();
77804
+ this.out$2.puts__T__V("} { }")
77805
+ });
77861
77806
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.switchEnd__V = (function() {
77862
77807
  this.universalFooter__V()
77863
77808
  });
77864
77809
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.instanceDeclaration__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
77865
77810
  this.out$2.puts__T__V(((((" pub " + this.idToStr__Lio_kaitai_struct_format_Identifier__T(attrName)) + ": Option<") + this.kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(attrType)) + ">,"))
77866
77811
  });
77867
- $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
77868
- if ((needRaw.level__I() >= 1)) {
77869
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = vec!();"))
77870
- };
77871
- if ((needRaw.level__I() >= 2)) {
77872
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = vec!();"))
77873
- };
77874
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = vec!();"));
77875
- this.out$2.puts__T__V("while {");
77812
+ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
77813
+ this.out$2.puts__T__V((("while !" + io) + ".isEof() {"));
77876
77814
  this.out$2.inc__V()
77877
77815
  });
77878
77816
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.paramName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
@@ -78084,6 +78022,15 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.kaitaiType2NativeType__Lio
78084
78022
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
78085
78023
  this.outHeader$2 = x$1
78086
78024
  });
78025
+ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
78026
+ if ((needRaw.level__I() >= 1)) {
78027
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = vec!();"))
78028
+ };
78029
+ if ((needRaw.level__I() >= 2)) {
78030
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = vec!();"))
78031
+ };
78032
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = vec!();"))
78033
+ });
78087
78034
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
78088
78035
  this.out$2.puts__T__V("if ($this->_m__is_le) {");
78089
78036
  this.out$2.inc__V();
@@ -78099,17 +78046,6 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.instanceHeader__sci_List__
78099
78046
  this.out$2.puts__T__V((((("fn " + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "(&mut self) -> ") + this.kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(dataType)) + " {"));
78100
78047
  this.out$2.inc__V()
78101
78048
  });
78102
- $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
78103
- if ((needRaw.level__I() >= 1)) {
78104
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [];"))
78105
- };
78106
- if ((needRaw.level__I() >= 2)) {
78107
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [];"))
78108
- };
78109
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [];"));
78110
- this.out$2.puts__T__V((("while !" + io) + ".isEof() {"));
78111
- this.out$2.inc__V()
78112
- });
78113
78049
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
78114
78050
  var x = $m_Lio_kaitai_struct_format_IoIdentifier$();
78115
78051
  if (x.equals__O__Z(id)) {
@@ -78364,6 +78300,10 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.idToStr__Lio_kaitai_struct
78364
78300
  throw new $c_s_MatchError().init___O(id)
78365
78301
  }
78366
78302
  });
78303
+ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
78304
+ this.out$2.puts__T__V((("for i in 0.." + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + " {"));
78305
+ this.out$2.inc__V()
78306
+ });
78367
78307
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.alignToByte__T__V = (function(io) {
78368
78308
  this.out$2.puts__T__V((io + ".alignToByte();"))
78369
78309
  });
@@ -78388,7 +78328,7 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.switchCaseEnd__V = (functi
78388
78328
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.handleAssignmentRepeatUntil__Lio_kaitai_struct_format_Identifier__T__Z__V = (function(id, expr, isRaw) {
78389
78329
  var tempVar = (isRaw ? this.translator$2.doLocalName__T__T($m_Lio_kaitai_struct_format_Identifier$().ITERATOR2$1) : this.translator$2.doLocalName__T__T($m_Lio_kaitai_struct_format_Identifier$().ITERATOR$1));
78390
78330
  this.out$2.puts__T__V((((("let " + tempVar) + " = ") + expr) + ";"));
78391
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".append(") + expr) + ");"))
78331
+ this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".append(") + tempVar) + ");"))
78392
78332
  });
78393
78333
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.opaqueClassDeclaration__Lio_kaitai_struct_format_ClassSpec__V = (function(classSpec) {
78394
78334
  var this$1 = classSpec.name$1;
@@ -78436,10 +78376,10 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condIfHeader__Lio_kaitai_s
78436
78376
  this.out$2.inc__V()
78437
78377
  });
78438
78378
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
78439
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".push(") + expr) + ");"))
78379
+ this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".append(") + expr) + ");"))
78440
78380
  });
78441
78381
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
78442
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".push(") + expr) + ");"))
78382
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
78443
78383
  });
78444
78384
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.classHeader__sci_List__V = (function(name) {
78445
78385
  this.classHeader__sci_List__s_Option__V(name, new $c_s_Some().init___O("&Option<Box<KaitaiStruct>>"))
@@ -78473,6 +78413,10 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.switchCaseStart__Lio_kaita
78473
78413
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.classConstructorFooter__V = (function() {
78474
78414
  this.universalFooter__V()
78475
78415
  });
78416
+ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
78417
+ this.out$2.puts__T__V("while {");
78418
+ this.out$2.inc__V()
78419
+ });
78476
78420
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
78477
78421
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
78478
78422
  });
@@ -78512,17 +78456,6 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.readFooter__V = (function(
78512
78456
  this.out$2.dec__V();
78513
78457
  this.out$2.puts__T__V("}")
78514
78458
  });
78515
- $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
78516
- if ((needRaw.level__I() >= 1)) {
78517
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = vec!();"))
78518
- };
78519
- if ((needRaw.level__I() >= 2)) {
78520
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = vec!();"))
78521
- };
78522
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = vec!();"));
78523
- this.out$2.puts__T__V((("for i in 0.." + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + " {"));
78524
- this.out$2.inc__V()
78525
- });
78526
78459
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
78527
78460
  var onType = this.translator$2.detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(on);
78528
78461
  this.switchIfs$2 = ((onType instanceof $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream) || (onType instanceof $c_Lio_kaitai_struct_datatype_DataType$BytesType));
@@ -78722,12 +78655,6 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.translator__Lio_kaitai_str
78722
78655
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
78723
78656
  return this.translator$2
78724
78657
  });
78725
- $c_Lio_kaitai_struct_languages_RustCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
78726
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
78727
- this.out$2.puts__T__V((("!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ")"));
78728
- this.out$2.dec__V();
78729
- this.out$2.puts__T__V("} { }")
78730
- });
78731
78658
  $c_Lio_kaitai_struct_languages_RustCompiler.prototype.universalFooter__V = (function() {
78732
78659
  this.out$2.dec__V();
78733
78660
  this.out$2.puts__T__V("}")
@@ -78817,13 +78744,21 @@ function $h_Lio_kaitai_struct_languages_CSharpCompiler() {
78817
78744
  /*<skip>*/
78818
78745
  }
78819
78746
  $h_Lio_kaitai_struct_languages_CSharpCompiler.prototype = $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype;
78820
- $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchEnd__V = (function() {
78747
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
78748
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
78749
+ this.out$2.puts__T__V("i++;");
78750
+ this.out$2.dec__V();
78751
+ this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
78752
+ this.out$2.dec__V();
78821
78753
  this.out$2.puts__T__V("}")
78822
78754
  });
78823
78755
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.instanceDeclaration__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
78824
78756
  this.out$2.puts__T__V((("private bool " + this.flagForInstName__Lio_kaitai_struct_format_Identifier__T(attrName)) + ";"));
78825
78757
  this.out$2.puts__T__V((((("private " + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeTypeNullable__Lio_kaitai_struct_datatype_DataType__Z__T(attrType, isNullable)) + " ") + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(attrName)) + ";"))
78826
78758
  });
78759
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchEnd__V = (function() {
78760
+ this.out$2.puts__T__V("}")
78761
+ });
78827
78762
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.instanceHeader__T__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(className, instName, dataType, isNullable) {
78828
78763
  this.out$2.puts__T__V(((("public " + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeTypeNullable__Lio_kaitai_struct_datatype_DataType__Z__T(dataType, isNullable)) + " ") + this.publicMemberName__Lio_kaitai_struct_format_Identifier__T(instName)));
78829
78764
  this.out$2.puts__T__V("{");
@@ -78832,21 +78767,11 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.instanceHeader__T__Lio_k
78832
78767
  this.out$2.puts__T__V("{");
78833
78768
  this.out$2.inc__V()
78834
78769
  });
78835
- $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
78836
- var this$1 = this.importList$2;
78837
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "System.Collections.Generic");
78838
- if ((needRaw.level__I() >= 1)) {
78839
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new List<byte[]>();"))
78840
- };
78841
- if ((needRaw.level__I() >= 2)) {
78842
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new List<byte[]>();"))
78843
- };
78844
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = new ") + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType))) + "();"));
78770
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
78845
78771
  this.out$2.puts__T__V("{");
78846
78772
  this.out$2.inc__V();
78847
78773
  this.out$2.puts__T__V("var i = 0;");
78848
- this.out$2.puts__T__V(((($m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(dataType) + " ") + this.translator$2.doName__T__T("_")) + ";"));
78849
- this.out$2.puts__T__V("do {");
78774
+ this.out$2.puts__T__V((("while (!" + io) + ".IsEof) {"));
78850
78775
  this.out$2.inc__V()
78851
78776
  });
78852
78777
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.paramName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
@@ -78860,6 +78785,17 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchIfElseStart__V = (
78860
78785
  this.out$2.puts__T__V("{");
78861
78786
  this.out$2.inc__V()
78862
78787
  });
78788
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
78789
+ var this$1 = this.importList$2;
78790
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "System.Collections.Generic");
78791
+ if ((needRaw.level__I() >= 1)) {
78792
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new List<byte[]>();"))
78793
+ };
78794
+ if ((needRaw.level__I() >= 2)) {
78795
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new List<byte[]>();"))
78796
+ };
78797
+ this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = new ") + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType))) + "();"))
78798
+ });
78863
78799
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.classHeader__T__V = (function(name) {
78864
78800
  this.out$2.puts__T__V((("public partial class " + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name)) + " : KaitaiStruct"));
78865
78801
  this.out$2.puts__T__V("{");
@@ -78892,22 +78828,6 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchCasesUsingIf__Lio_
78892
78828
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.instanceHeader__sci_List__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(className, instName, dataType, isNullable) {
78893
78829
  this.instanceHeader__T__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V($as_T($f_sc_LinearSeqOptimized__last__O(className)), instName, dataType, isNullable)
78894
78830
  });
78895
- $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
78896
- var this$1 = this.importList$2;
78897
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "System.Collections.Generic");
78898
- if ((needRaw.level__I() >= 1)) {
78899
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new List<byte[]>();"))
78900
- };
78901
- if ((needRaw.level__I() >= 2)) {
78902
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new List<byte[]>();"))
78903
- };
78904
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = new ") + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType))) + "();"));
78905
- this.out$2.puts__T__V("{");
78906
- this.out$2.inc__V();
78907
- this.out$2.puts__T__V("var i = 0;");
78908
- this.out$2.puts__T__V((("while (!" + io) + ".IsEof) {"));
78909
- this.out$2.inc__V()
78910
- });
78911
78831
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
78912
78832
  if ((id instanceof $c_Lio_kaitai_struct_format_SpecialIdentifier)) {
78913
78833
  var x2 = $as_Lio_kaitai_struct_format_SpecialIdentifier(id);
@@ -79189,6 +79109,11 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.idToStr__Lio_kaitai_stru
79189
79109
  throw new $c_s_MatchError().init___O(id)
79190
79110
  }
79191
79111
  });
79112
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
79113
+ this.out$2.puts__T__V((("for (var i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++)"));
79114
+ this.out$2.puts__T__V("{");
79115
+ this.out$2.inc__V()
79116
+ });
79192
79117
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.localTemporaryName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
79193
79118
  return ("_t_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
79194
79119
  });
@@ -79238,7 +79163,7 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.handleAssignmentRepeatEo
79238
79163
  this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".Add(") + expr) + ");"))
79239
79164
  });
79240
79165
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
79241
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".Add(") + expr) + ");"))
79166
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
79242
79167
  });
79243
79168
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.readHeader__s_Option__Z__V = (function(endian, isEmpty) {
79244
79169
  var readAccessAndType = ((!this.config$1.autoRead$1) ? "public" : "private");
@@ -79272,6 +79197,14 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchCaseStart__Lio_kai
79272
79197
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.classConstructorFooter__V = (function() {
79273
79198
  this.fileFooter__T__V(null)
79274
79199
  });
79200
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
79201
+ this.out$2.puts__T__V("{");
79202
+ this.out$2.inc__V();
79203
+ this.out$2.puts__T__V("var i = 0;");
79204
+ this.out$2.puts__T__V(((($m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(dataType) + " ") + this.translator$2.doName__T__T("_")) + ";"));
79205
+ this.out$2.puts__T__V("do {");
79206
+ this.out$2.inc__V()
79207
+ });
79275
79208
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
79276
79209
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
79277
79210
  });
@@ -79317,20 +79250,6 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.io$kaitai$struct$languag
79317
79250
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.readFooter__V = (function() {
79318
79251
  this.fileFooter__T__V("")
79319
79252
  });
79320
- $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
79321
- var this$1 = this.importList$2;
79322
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "System.Collections.Generic");
79323
- if ((needRaw.level__I() >= 1)) {
79324
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new List<byte[]>((int) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "));"))
79325
- };
79326
- if ((needRaw.level__I() >= 2)) {
79327
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new List<byte[]>((int) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "));"))
79328
- };
79329
- this.out$2.puts__T__V((((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = new ") + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType))) + "((int) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "));"));
79330
- this.out$2.puts__T__V((("for (var i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++)"));
79331
- this.out$2.puts__T__V("{");
79332
- this.out$2.inc__V()
79333
- });
79334
79253
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
79335
79254
  this.out$2.puts__T__V((("switch (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ") {"))
79336
79255
  });
@@ -79659,14 +79578,6 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.classConstructorHeader__
79659
79578
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.flagForInstName__Lio_kaitai_struct_format_Identifier__T = (function(ksName) {
79660
79579
  return ("f_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(ksName))
79661
79580
  });
79662
- $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
79663
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
79664
- this.out$2.puts__T__V("i++;");
79665
- this.out$2.dec__V();
79666
- this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
79667
- this.out$2.dec__V();
79668
- this.out$2.puts__T__V("}")
79669
- });
79670
79581
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.instanceCalculate__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(instName, dataType, value) {
79671
79582
  this.handleAssignmentSimple__Lio_kaitai_struct_format_Identifier__T__V(instName, (((("(" + $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_datatype_DataType__T(dataType)) + ") (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, value)) + ")"))
79672
79583
  });
@@ -79745,19 +79656,24 @@ function $h_Lio_kaitai_struct_languages_LuaCompiler() {
79745
79656
  /*<skip>*/
79746
79657
  }
79747
79658
  $h_Lio_kaitai_struct_languages_LuaCompiler.prototype = $c_Lio_kaitai_struct_languages_LuaCompiler.prototype;
79659
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
79660
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
79661
+ this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + " then"));
79662
+ this.out$2.inc__V();
79663
+ this.out$2.puts__T__V("break");
79664
+ this.out$2.dec__V();
79665
+ this.out$2.puts__T__V("end");
79666
+ this.out$2.puts__T__V("i = i + 1");
79667
+ this.out$2.dec__V();
79668
+ this.out$2.puts__T__V("end");
79669
+ this.out$2.dec__V()
79670
+ });
79748
79671
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.switchEnd__V = (function() {
79749
79672
  /*<skip>*/
79750
79673
  });
79751
- $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, datatype, needRaw, repeatExpr) {
79752
- if ((needRaw.level__I() >= 1)) {
79753
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = {}"))
79754
- };
79755
- if ((needRaw.level__I() >= 2)) {
79756
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = {}"))
79757
- };
79758
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = {}"));
79674
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
79759
79675
  this.out$2.puts__T__V("local i = 0");
79760
- this.out$2.puts__T__V("while true do");
79676
+ this.out$2.puts__T__V((("while not " + io) + ":is_eof() do"));
79761
79677
  this.out$2.inc__V()
79762
79678
  });
79763
79679
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
@@ -79767,6 +79683,15 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.switchIfElseStart__V = (fun
79767
79683
  this.out$2.puts__T__V("else");
79768
79684
  this.out$2.inc__V()
79769
79685
  });
79686
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
79687
+ if ((needRaw.level__I() >= 1)) {
79688
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = {}"))
79689
+ };
79690
+ if ((needRaw.level__I() >= 2)) {
79691
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = {}"))
79692
+ };
79693
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = {}"))
79694
+ });
79770
79695
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.attrParseHybrid__F0__F0__V = (function(leProc, beProc) {
79771
79696
  this.out$2.puts__T__V("if self._is_le then");
79772
79697
  this.out$2.inc__V();
@@ -79786,18 +79711,6 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.instanceHeader__sci_List__L
79786
79711
  this.out$2.puts__T__V((((("function " + $m_Lio_kaitai_struct_languages_LuaCompiler$().types2class__sci_List__T(className)) + ".property.") + this.publicMemberName__Lio_kaitai_struct_format_Identifier__T(instName)) + ":get()"));
79787
79712
  this.out$2.inc__V()
79788
79713
  });
79789
- $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
79790
- if ((needRaw.level__I() >= 1)) {
79791
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = {}"))
79792
- };
79793
- if ((needRaw.level__I() >= 2)) {
79794
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = {}"))
79795
- };
79796
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = {}"));
79797
- this.out$2.puts__T__V("local i = 0");
79798
- this.out$2.puts__T__V((("while not " + io) + ":is_eof() do"));
79799
- this.out$2.inc__V()
79800
- });
79801
79714
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
79802
79715
  return ("self." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
79803
79716
  });
@@ -80088,6 +80001,10 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.idToStr__Lio_kaitai_struct_
80088
80001
  throw new $c_s_MatchError().init___O(id)
80089
80002
  }
80090
80003
  });
80004
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
80005
+ this.out$2.puts__T__V((("for i = 0, " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + " - 1 do"));
80006
+ this.out$2.inc__V()
80007
+ });
80091
80008
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.alignToByte__T__V = (function(io) {
80092
80009
  this.out$2.puts__T__V((io + ":align_to_byte()"))
80093
80010
  });
@@ -80168,6 +80085,11 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.classConstructorFooter__V =
80168
80085
  var this$1 = this.out$2;
80169
80086
  this$1.sb$2.append__T__scm_StringBuilder("\n")
80170
80087
  });
80088
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
80089
+ this.out$2.puts__T__V("local i = 0");
80090
+ this.out$2.puts__T__V("while true do");
80091
+ this.out$2.inc__V()
80092
+ });
80171
80093
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
80172
80094
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
80173
80095
  });
@@ -80186,11 +80108,11 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.getRawIdExpr__Lio_kaitai_st
80186
80108
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.runReadCalc__V = (function() {
80187
80109
  var this$1 = this.out$2;
80188
80110
  this$1.sb$2.append__T__scm_StringBuilder("\n");
80189
- this.out$2.puts__T__V("if self._is_le then");
80111
+ this.out$2.puts__T__V("if self._is_le == true then");
80190
80112
  this.out$2.inc__V();
80191
80113
  this.out$2.puts__T__V("self:_read_le()");
80192
80114
  this.out$2.dec__V();
80193
- this.out$2.puts__T__V("elseif not self._is_le then");
80115
+ this.out$2.puts__T__V("elseif self._is_le == false then");
80194
80116
  this.out$2.inc__V();
80195
80117
  this.out$2.puts__T__V("self:_read_be()");
80196
80118
  this.out$2.dec__V();
@@ -80212,17 +80134,6 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.readFooter__V = (function()
80212
80134
  var this$1 = this.out$2;
80213
80135
  this$1.sb$2.append__T__scm_StringBuilder("\n")
80214
80136
  });
80215
- $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
80216
- if ((needRaw.level__I() >= 1)) {
80217
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = {}"))
80218
- };
80219
- if ((needRaw.level__I() >= 2)) {
80220
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = {}"))
80221
- };
80222
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = {}"));
80223
- this.out$2.puts__T__V((("for i = 0, " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + " - 1 do"));
80224
- this.out$2.inc__V()
80225
- });
80226
80137
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
80227
80138
  /*<skip>*/
80228
80139
  });
@@ -80513,18 +80424,6 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.translator__Lio_kaitai_stru
80513
80424
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
80514
80425
  return this.translator$2
80515
80426
  });
80516
- $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
80517
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
80518
- this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + " then"));
80519
- this.out$2.inc__V();
80520
- this.out$2.puts__T__V("break");
80521
- this.out$2.dec__V();
80522
- this.out$2.puts__T__V("end");
80523
- this.out$2.puts__T__V("i = i + 1");
80524
- this.out$2.dec__V();
80525
- this.out$2.puts__T__V("end");
80526
- this.out$2.dec__V()
80527
- });
80528
80427
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.outHeader__Lio_kaitai_struct_StringLanguageOutputWriter = (function() {
80529
80428
  return this.outHeader$2
80530
80429
  });
@@ -80592,6 +80491,16 @@ function $h_Lio_kaitai_struct_languages_NimCompiler() {
80592
80491
  /*<skip>*/
80593
80492
  }
80594
80493
  $h_Lio_kaitai_struct_languages_NimCompiler.prototype = $c_Lio_kaitai_struct_languages_NimCompiler.prototype;
80494
+ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
80495
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
80496
+ this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ":"));
80497
+ this.out$2.inc__V();
80498
+ this.out$2.puts__T__V("break");
80499
+ this.out$2.dec__V();
80500
+ this.out$2.puts__T__V("inc i");
80501
+ this.out$2.dec__V();
80502
+ this.out$2.dec__V()
80503
+ });
80595
80504
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.instanceDeclaration__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
80596
80505
  this.out$2.puts__T__V(((("`" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(attrName)) + "`: ") + $m_Lio_kaitai_struct_languages_NimCompiler$().ksToNim__Lio_kaitai_struct_datatype_DataType__T(attrType)));
80597
80506
  this.out$2.puts__T__V((("`" + this.instanceFlagIdentifier__Lio_kaitai_struct_format_InstanceIdentifier__T(attrName)) + "`: bool"))
@@ -80599,11 +80508,11 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.instanceDeclaration__Lio_ka
80599
80508
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.switchEnd__V = (function() {
80600
80509
  /*<skip>*/
80601
80510
  });
80602
- $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
80511
+ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
80603
80512
  this.out$2.puts__T__V("block:");
80604
80513
  this.out$2.inc__V();
80605
80514
  this.out$2.puts__T__V("var i: int");
80606
- this.out$2.puts__T__V("while true:");
80515
+ this.out$2.puts__T__V((("while not " + io) + ".isEof:"));
80607
80516
  this.out$2.inc__V()
80608
80517
  });
80609
80518
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.switchIfElseStart__V = (function() {
@@ -80613,6 +80522,9 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.switchIfElseStart__V = (fun
80613
80522
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
80614
80523
  this.outHeader$2 = x$1
80615
80524
  });
80525
+ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
80526
+ /*<skip>*/
80527
+ });
80616
80528
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.instanceForwardDeclaration__sci_List__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__V = (function(className, instName, dataType) {
80617
80529
  var jsx$1 = this.out$2;
80618
80530
  var x = this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName);
@@ -80676,13 +80588,6 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.instanceHeader__sci_List__L
80676
80588
  jsx$1.puts__T__V((((((("proc " + $f_sc_IndexedSeqOptimized__dropRight__I__O(this$2, 4)) + "(this: ") + this.namespaced__sci_List__T(className)) + "): ") + $m_Lio_kaitai_struct_languages_NimCompiler$().ksToNim__Lio_kaitai_struct_datatype_DataType__T(dataType)) + " = "));
80677
80589
  this.out$2.inc__V()
80678
80590
  });
80679
- $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
80680
- this.out$2.puts__T__V("block:");
80681
- this.out$2.inc__V();
80682
- this.out$2.puts__T__V("var i: int");
80683
- this.out$2.puts__T__V((("while not " + io) + ".isEof:"));
80684
- this.out$2.inc__V()
80685
- });
80686
80591
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.switchIfStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType__V = (function(id, on, onType) {
80687
80592
  this.out$2.puts__T__V("block:");
80688
80593
  this.out$2.inc__V();
@@ -80964,6 +80869,10 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.classForwardDeclaration__sc
80964
80869
  var paramsArg = jsx$3.join__sc_TraversableOnce__T__T__T__T($as_sc_TraversableOnce(jsx$2), ", ", ", ", "");
80965
80870
  this.out$2.puts__T__V((((((("proc read*(_: typedesc[" + t) + "], io: KaitaiStream, root: KaitaiStruct, parent: ") + p) + paramsArg) + "): ") + t))
80966
80871
  });
80872
+ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
80873
+ this.out$2.puts__T__V((("for i in 0 ..< int(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "):"));
80874
+ this.out$2.inc__V()
80875
+ });
80967
80876
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.alignToByte__T__V = (function(io) {
80968
80877
  this.out$2.puts__T__V((("alignToByte(" + io) + ")"))
80969
80878
  });
@@ -81172,6 +81081,13 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.switchCaseStart__Lio_kaitai
81172
81081
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.classConstructorFooter__V = (function() {
81173
81082
  this.out$2.dec__V()
81174
81083
  });
81084
+ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
81085
+ this.out$2.puts__T__V("block:");
81086
+ this.out$2.inc__V();
81087
+ this.out$2.puts__T__V("var i: int");
81088
+ this.out$2.puts__T__V("while true:");
81089
+ this.out$2.inc__V()
81090
+ });
81175
81091
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
81176
81092
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
81177
81093
  });
@@ -81199,10 +81115,6 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.outFileName__T__T = (functi
81199
81115
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$importList$und$eq__Lio_kaitai_struct_ImportList__V = (function(x$1) {
81200
81116
  this.importList$2 = x$1
81201
81117
  });
81202
- $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
81203
- this.out$2.puts__T__V((("for i in 0 ..< int(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "):"));
81204
- this.out$2.inc__V()
81205
- });
81206
81118
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.readFooter__V = (function() {
81207
81119
  this.out$2.dec__V();
81208
81120
  var this$1 = this.out$2;
@@ -81420,16 +81332,6 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.translator__Lio_kaitai_stru
81420
81332
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
81421
81333
  return this.translator$2
81422
81334
  });
81423
- $c_Lio_kaitai_struct_languages_NimCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
81424
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
81425
- this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ":"));
81426
- this.out$2.inc__V();
81427
- this.out$2.puts__T__V("break");
81428
- this.out$2.dec__V();
81429
- this.out$2.puts__T__V("inc i");
81430
- this.out$2.dec__V();
81431
- this.out$2.dec__V()
81432
- });
81433
81335
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.outHeader__Lio_kaitai_struct_StringLanguageOutputWriter = (function() {
81434
81336
  return this.outHeader$2
81435
81337
  });
@@ -81509,6 +81411,12 @@ function $h_Lio_kaitai_struct_languages_RubyCompiler() {
81509
81411
  /*<skip>*/
81510
81412
  }
81511
81413
  $h_Lio_kaitai_struct_languages_RubyCompiler.prototype = $c_Lio_kaitai_struct_languages_RubyCompiler.prototype;
81414
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
81415
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
81416
+ this.out$2.puts__T__V("i += 1");
81417
+ this.out$2.dec__V();
81418
+ this.out$2.puts__T__V(("end until " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)))
81419
+ });
81512
81420
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.switchEnd__V = (function() {
81513
81421
  this.out$2.puts__T__V("end")
81514
81422
  });
@@ -81566,16 +81474,9 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.instanceHeader__T__Lio_kai
81566
81474
  this.out$2.puts__T__V(("def " + instName.name$2));
81567
81475
  this.out$2.inc__V()
81568
81476
  });
81569
- $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
81570
- if ((needRaw.level__I() >= 1)) {
81571
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
81572
- };
81573
- if ((needRaw.level__I() >= 2)) {
81574
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
81575
- };
81576
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"));
81477
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
81577
81478
  this.out$2.puts__T__V("i = 0");
81578
- this.out$2.puts__T__V("begin");
81479
+ this.out$2.puts__T__V((("while not " + io) + ".eof?"));
81579
81480
  this.out$2.inc__V()
81580
81481
  });
81581
81482
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.types2class__sci_List__T = (function(names) {
@@ -81621,6 +81522,15 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.types2class__sci_List__T =
81621
81522
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
81622
81523
  this.outHeader$2 = x$1
81623
81524
  });
81525
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
81526
+ if ((needRaw.level__I() >= 1)) {
81527
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
81528
+ };
81529
+ if ((needRaw.level__I() >= 2)) {
81530
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
81531
+ };
81532
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"))
81533
+ });
81624
81534
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.classHeader__T__V = (function(name) {
81625
81535
  this.out$2.puts__T__V((("class " + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name)) + " < Kaitai::Struct::Struct"));
81626
81536
  this.out$2.inc__V();
@@ -81642,18 +81552,6 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.attrParseHybrid__F0__F0__V
81642
81552
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.instanceHeader__sci_List__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(className, instName, dataType, isNullable) {
81643
81553
  this.instanceHeader__T__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V($as_T($f_sc_LinearSeqOptimized__last__O(className)), instName, dataType, isNullable)
81644
81554
  });
81645
- $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
81646
- if ((needRaw.level__I() >= 1)) {
81647
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
81648
- };
81649
- if ((needRaw.level__I() >= 2)) {
81650
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
81651
- };
81652
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"));
81653
- this.out$2.puts__T__V("i = 0");
81654
- this.out$2.puts__T__V((("while not " + io) + ".eof?"));
81655
- this.out$2.inc__V()
81656
- });
81657
81555
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
81658
81556
  return ("@" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
81659
81557
  });
@@ -81934,6 +81832,10 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.idToStr__Lio_kaitai_struct
81934
81832
  throw new $c_s_MatchError().init___O(id)
81935
81833
  }
81936
81834
  });
81835
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
81836
+ this.out$2.puts__T__V((("(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ").times { |i|"));
81837
+ this.out$2.inc__V()
81838
+ });
81937
81839
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.alignToByte__T__V = (function(io) {
81938
81840
  this.out$2.puts__T__V((io + ".align_to_byte"))
81939
81841
  });
@@ -81971,7 +81873,7 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.handleAssignmentRepeatEos_
81971
81873
  this.out$2.puts__T__V(((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " << ") + expr))
81972
81874
  });
81973
81875
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
81974
- this.out$2.puts__T__V(((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[i] = ") + expr))
81876
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
81975
81877
  });
81976
81878
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.readHeader__s_Option__Z__V = (function(endian, isEmpty) {
81977
81879
  if ((endian instanceof $c_s_Some)) {
@@ -82003,6 +81905,11 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.switchCaseStart__Lio_kaita
82003
81905
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.classConstructorFooter__V = (function() {
82004
81906
  this.universalFooter__V()
82005
81907
  });
81908
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
81909
+ this.out$2.puts__T__V("i = 0");
81910
+ this.out$2.puts__T__V("begin");
81911
+ this.out$2.inc__V()
81912
+ });
82006
81913
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
82007
81914
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
82008
81915
  });
@@ -82049,17 +81956,6 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.readFooter__V = (function(
82049
81956
  this.out$2.puts__T__V("self");
82050
81957
  this.universalFooter__V()
82051
81958
  });
82052
- $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
82053
- if ((needRaw.level__I() >= 1)) {
82054
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = Array.new(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
82055
- };
82056
- if ((needRaw.level__I() >= 2)) {
82057
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = Array.new(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
82058
- };
82059
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = Array.new(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"));
82060
- this.out$2.puts__T__V((("(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ").times { |i|"));
82061
- this.out$2.inc__V()
82062
- });
82063
81959
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
82064
81960
  this.out$2.puts__T__V(("case " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)))
82065
81961
  });
@@ -82356,12 +82252,6 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.classConstructorHeader__T_
82356
82252
  this.out$2.puts__T__V("@_debug = {}")
82357
82253
  }
82358
82254
  });
82359
- $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
82360
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
82361
- this.out$2.puts__T__V("i += 1");
82362
- this.out$2.dec__V();
82363
- this.out$2.puts__T__V(("end until " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)))
82364
- });
82365
82255
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.universalFooter__V = (function() {
82366
82256
  this.out$2.dec__V();
82367
82257
  this.out$2.puts__T__V("end")
@@ -82606,6 +82496,14 @@ function $h_Lio_kaitai_struct_languages_JavaCompiler() {
82606
82496
  /*<skip>*/
82607
82497
  }
82608
82498
  $h_Lio_kaitai_struct_languages_JavaCompiler.prototype = $c_Lio_kaitai_struct_languages_JavaCompiler.prototype;
82499
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
82500
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
82501
+ this.out$2.puts__T__V("i++;");
82502
+ this.out$2.dec__V();
82503
+ this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
82504
+ this.out$2.dec__V();
82505
+ this.out$2.puts__T__V("}")
82506
+ });
82609
82507
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.instanceDeclaration__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
82610
82508
  this.out$2.puts__T__V((((("private " + $m_Lio_kaitai_struct_languages_JavaCompiler$().kaitaiType2JavaTypeBoxed__Lio_kaitai_struct_datatype_DataType__T(attrType)) + " ") + this.idToStr__Lio_kaitai_struct_format_Identifier__T(attrName)) + ";"))
82611
82509
  });
@@ -82657,28 +82555,14 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.instanceHeader__T__Lio_kai
82657
82555
  this.out$2.puts__T__V((((("public " + $m_Lio_kaitai_struct_languages_JavaCompiler$().kaitaiType2JavaTypeBoxed__Lio_kaitai_struct_datatype_DataType__T(dataType)) + " ") + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "() {"));
82658
82556
  this.out$2.inc__V()
82659
82557
  });
82660
- $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
82661
- if ((needRaw.level__I() >= 1)) {
82662
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new ArrayList<byte[]>();"))
82663
- };
82664
- if ((needRaw.level__I() >= 2)) {
82665
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new ArrayList<byte[]>();"))
82666
- };
82667
- var jsx$2 = this.out$2;
82668
- var jsx$1 = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id);
82669
- var this$1 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
82670
- var attrType = new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType);
82671
- jsx$2.puts__T__V((((jsx$1 + " = new ") + this$1.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(attrType)) + "();"));
82558
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
82672
82559
  this.out$2.puts__T__V("{");
82673
82560
  this.out$2.inc__V();
82674
- var jsx$3 = this.out$2;
82675
- var this$2 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
82676
- jsx$3.puts__T__V((((this$2.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(dataType) + " ") + this.translator$2.doName__T__T("_")) + ";"));
82677
82561
  this.out$2.puts__T__V("int i = 0;");
82678
- this.out$2.puts__T__V("do {");
82562
+ this.out$2.puts__T__V((("while (!" + io) + ".isEof()) {"));
82679
82563
  this.out$2.inc__V();
82680
- var this$3 = this.importList$2;
82681
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$3.list$1, "java.util.ArrayList")
82564
+ var this$1 = this.importList$2;
82565
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "java.util.ArrayList")
82682
82566
  });
82683
82567
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchIfElseStart__V = (function() {
82684
82568
  this.out$2.puts__T__V("else {");
@@ -82687,6 +82571,19 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchIfElseStart__V = (fu
82687
82571
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
82688
82572
  this.outHeader$2 = x$1
82689
82573
  });
82574
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
82575
+ if ((needRaw.level__I() >= 1)) {
82576
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new ArrayList<byte[]>();"))
82577
+ };
82578
+ if ((needRaw.level__I() >= 2)) {
82579
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new ArrayList<byte[]>();"))
82580
+ };
82581
+ var jsx$2 = this.out$2;
82582
+ var jsx$1 = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id);
82583
+ var this$1 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
82584
+ var attrType = new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType);
82585
+ jsx$2.puts__T__V((((jsx$1 + " = new ") + this$1.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(attrType)) + "();"))
82586
+ });
82690
82587
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.classHeader__T__V = (function(name) {
82691
82588
  var staticStr = ((this.out$2.indentLevel$1 > 0) ? "static " : "");
82692
82589
  this.out$2.puts__T__V((((("public " + staticStr) + "class ") + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name)) + " extends KaitaiStruct {"));
@@ -82753,26 +82650,6 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchCasesUsingIf__Lio_ka
82753
82650
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.instanceHeader__sci_List__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(className, instName, dataType, isNullable) {
82754
82651
  this.instanceHeader__T__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V($as_T($f_sc_LinearSeqOptimized__last__O(className)), instName, dataType, isNullable)
82755
82652
  });
82756
- $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
82757
- if ((needRaw.level__I() >= 1)) {
82758
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new ArrayList<byte[]>();"))
82759
- };
82760
- if ((needRaw.level__I() >= 2)) {
82761
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new ArrayList<byte[]>();"))
82762
- };
82763
- var jsx$2 = this.out$2;
82764
- var jsx$1 = this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id);
82765
- var this$1 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
82766
- var attrType = new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType);
82767
- jsx$2.puts__T__V((((jsx$1 + " = new ") + this$1.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(attrType)) + "();"));
82768
- this.out$2.puts__T__V("{");
82769
- this.out$2.inc__V();
82770
- this.out$2.puts__T__V("int i = 0;");
82771
- this.out$2.puts__T__V((("while (!" + io) + ".isEof()) {"));
82772
- this.out$2.inc__V();
82773
- var this$2 = this.importList$2;
82774
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "java.util.ArrayList")
82775
- });
82776
82653
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
82777
82654
  return ("this." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
82778
82655
  });
@@ -83123,6 +83000,12 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.idToStr__Lio_kaitai_struct
83123
83000
  throw new $c_s_MatchError().init___O(id)
83124
83001
  }
83125
83002
  });
83003
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
83004
+ this.out$2.puts__T__V((("for (int i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++) {"));
83005
+ this.out$2.inc__V();
83006
+ var this$1 = this.importList$2;
83007
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.list$1, "java.util.ArrayList")
83008
+ });
83126
83009
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.localTemporaryName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
83127
83010
  return ("_t_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
83128
83011
  });
@@ -83172,7 +83055,7 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.handleAssignmentRepeatEos_
83172
83055
  this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".add(") + expr) + ");"))
83173
83056
  });
83174
83057
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
83175
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".add(") + expr) + ");"))
83058
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
83176
83059
  });
83177
83060
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.classHeader__sci_List__V = (function(name) {
83178
83061
  this.classHeader__T__V($as_T($f_sc_LinearSeqOptimized__last__O(name)))
@@ -83213,6 +83096,18 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchCaseStart__Lio_kaita
83213
83096
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.classConstructorFooter__V = (function() {
83214
83097
  this.universalFooter__V()
83215
83098
  });
83099
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
83100
+ this.out$2.puts__T__V("{");
83101
+ this.out$2.inc__V();
83102
+ var jsx$1 = this.out$2;
83103
+ var this$1 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
83104
+ jsx$1.puts__T__V((((this$1.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(dataType) + " ") + this.translator$2.doName__T__T("_")) + ";"));
83105
+ this.out$2.puts__T__V("int i = 0;");
83106
+ this.out$2.puts__T__V("do {");
83107
+ this.out$2.inc__V();
83108
+ var this$2 = this.importList$2;
83109
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "java.util.ArrayList")
83110
+ });
83216
83111
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
83217
83112
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
83218
83113
  });
@@ -83257,23 +83152,6 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.io$kaitai$struct$languages
83257
83152
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.readFooter__V = (function() {
83258
83153
  this.universalFooter__V()
83259
83154
  });
83260
- $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
83261
- if ((needRaw.level__I() >= 1)) {
83262
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = new ArrayList<byte[]>(((Number) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")).intValue());"))
83263
- };
83264
- if ((needRaw.level__I() >= 2)) {
83265
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = new ArrayList<byte[]>(((Number) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")).intValue());"))
83266
- };
83267
- var jsx$2 = this.out$2;
83268
- var jsx$1 = this.idToStr__Lio_kaitai_struct_format_Identifier__T(id);
83269
- var this$1 = $m_Lio_kaitai_struct_languages_JavaCompiler$();
83270
- var attrType = new $c_Lio_kaitai_struct_datatype_DataType$ArrayTypeInStream().init___Lio_kaitai_struct_datatype_DataType(dataType);
83271
- jsx$2.puts__T__V((((((jsx$1 + " = new ") + this$1.kaitaiType2JavaTypePrim__Lio_kaitai_struct_datatype_DataType__T(attrType)) + "(((Number) (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")).intValue());"));
83272
- this.out$2.puts__T__V((("for (int i = 0; i < " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "; i++) {"));
83273
- this.out$2.inc__V();
83274
- var this$2 = this.importList$2;
83275
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "java.util.ArrayList")
83276
- });
83277
83155
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
83278
83156
  this.out$2.puts__T__V((("switch (" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, on)) + ") {"))
83279
83157
  });
@@ -83754,14 +83632,6 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.switchCasesRender__Lio_kai
83754
83632
  $f_Lio_kaitai_struct_languages_components_SwitchOps__switchCasesRender__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__sci_Map__F1__F1__V(this, id, on, cases, normalCaseProc, elseCaseProc)
83755
83633
  }
83756
83634
  });
83757
- $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
83758
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
83759
- this.out$2.puts__T__V("i++;");
83760
- this.out$2.dec__V();
83761
- this.out$2.puts__T__V((("} while (!(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + "));"));
83762
- this.out$2.dec__V();
83763
- this.out$2.puts__T__V("}")
83764
- });
83765
83635
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.universalFooter__V = (function() {
83766
83636
  this.out$2.dec__V();
83767
83637
  this.out$2.puts__T__V("}")
@@ -83849,6 +83719,15 @@ function $h_Lio_kaitai_struct_languages_PythonCompiler() {
83849
83719
  /*<skip>*/
83850
83720
  }
83851
83721
  $h_Lio_kaitai_struct_languages_PythonCompiler.prototype = $c_Lio_kaitai_struct_languages_PythonCompiler.prototype;
83722
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
83723
+ this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
83724
+ this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ":"));
83725
+ this.out$2.inc__V();
83726
+ this.out$2.puts__T__V("break");
83727
+ this.out$2.dec__V();
83728
+ this.out$2.puts__T__V("i += 1");
83729
+ this.out$2.dec__V()
83730
+ });
83852
83731
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchEnd__V = (function() {
83853
83732
  /*<skip>*/
83854
83733
  });
@@ -83906,16 +83785,9 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.instanceHeader__T__Lio_k
83906
83785
  this.out$2.puts__T__V((("def " + this.publicMemberName__Lio_kaitai_struct_format_Identifier__T(instName)) + "(self):"));
83907
83786
  this.out$2.inc__V()
83908
83787
  });
83909
- $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
83910
- if ((needRaw.level__I() >= 1)) {
83911
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
83912
- };
83913
- if ((needRaw.level__I() >= 2)) {
83914
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
83915
- };
83916
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"));
83788
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__V = (function(id, io, dataType) {
83917
83789
  this.out$2.puts__T__V("i = 0");
83918
- this.out$2.puts__T__V("while True:");
83790
+ this.out$2.puts__T__V((("while not " + io) + ".is_eof():"));
83919
83791
  this.out$2.inc__V()
83920
83792
  });
83921
83793
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.io$kaitai$struct$languages$components$SingleOutputFile$$undsetter$und$outHeader$und$eq__Lio_kaitai_struct_StringLanguageOutputWriter__V = (function(x$1) {
@@ -83925,6 +83797,15 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchIfElseStart__V = (
83925
83797
  this.out$2.puts__T__V("else:");
83926
83798
  this.out$2.inc__V()
83927
83799
  });
83800
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatCommonInit__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, dataType, needRaw) {
83801
+ if ((needRaw.level__I() >= 1)) {
83802
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
83803
+ };
83804
+ if ((needRaw.level__I() >= 2)) {
83805
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
83806
+ };
83807
+ this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"))
83808
+ });
83928
83809
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.classHeader__T__V = (function(name) {
83929
83810
  this.out$2.puts__T__V((("class " + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name)) + "(KaitaiStruct):"));
83930
83811
  this.out$2.inc__V()
@@ -83945,18 +83826,6 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchCasesUsingIf__Lio_
83945
83826
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.instanceHeader__sci_List__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(className, instName, dataType, isNullable) {
83946
83827
  this.instanceHeader__T__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__Z__V($as_T($f_sc_LinearSeqOptimized__last__O(className)), instName, dataType, isNullable)
83947
83828
  });
83948
- $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatEosHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__V = (function(id, io, dataType, needRaw) {
83949
- if ((needRaw.level__I() >= 1)) {
83950
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = []"))
83951
- };
83952
- if ((needRaw.level__I() >= 2)) {
83953
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = []"))
83954
- };
83955
- this.out$2.puts__T__V((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = []"));
83956
- this.out$2.puts__T__V("i = 0");
83957
- this.out$2.puts__T__V((("while not " + io) + ".is_eof():"));
83958
- this.out$2.inc__V()
83959
- });
83960
83829
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.privateMemberName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
83961
83830
  return ("self." + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
83962
83831
  });
@@ -83967,7 +83836,7 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.seek__T__Lio_kaitai_stru
83967
83836
  this.out$2.puts__T__V((((io + ".seek(") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, pos)) + ")"))
83968
83837
  });
83969
83838
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.instanceReturn__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__V = (function(instName, attrType) {
83970
- this.out$2.puts__T__V((((("return " + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(instName)) + " if hasattr(self, '") + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "') else None"))
83839
+ this.out$2.puts__T__V((("return getattr(self, '" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "', None)"))
83971
83840
  });
83972
83841
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.bool2Py__Z__T = (function(b) {
83973
83842
  return (b ? "True" : "False")
@@ -84227,6 +84096,10 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.userType2class__Lio_kait
84227
84096
  var prefix = ((t.isOpaque__Z() && (firstName !== this.translator$2.provider$2.nowClass$1.name$1.head__O())) ? (firstName + ".") : "");
84228
84097
  return (prefix + $m_Lio_kaitai_struct_languages_PythonCompiler$().types2class__sci_List__T(name))
84229
84098
  });
84099
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, repeatExpr) {
84100
+ this.out$2.puts__T__V((("for i in range(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "):"));
84101
+ this.out$2.inc__V()
84102
+ });
84230
84103
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.localTemporaryName__Lio_kaitai_struct_format_Identifier__T = (function(id) {
84231
84104
  return ("_t_" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(id))
84232
84105
  });
@@ -84271,7 +84144,7 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.handleAssignmentRepeatEo
84271
84144
  this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + ".append(") + expr) + ")"))
84272
84145
  });
84273
84146
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.handleAssignmentRepeatExpr__Lio_kaitai_struct_format_Identifier__T__V = (function(id, expr) {
84274
- this.out$2.puts__T__V(((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + "[i] = ") + expr))
84147
+ this.handleAssignmentRepeatEos__Lio_kaitai_struct_format_Identifier__T__V(id, expr)
84275
84148
  });
84276
84149
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.classHeader__sci_List__V = (function(name) {
84277
84150
  this.classHeader__T__V($as_T($f_sc_LinearSeqOptimized__last__O(name)))
@@ -84303,6 +84176,11 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchCaseStart__Lio_kai
84303
84176
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.classConstructorFooter__V = (function() {
84304
84177
  this.universalFooter__V()
84305
84178
  });
84179
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatUntilHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, untilExpr) {
84180
+ this.out$2.puts__T__V("i = 0");
84181
+ this.out$2.puts__T__V("while True:");
84182
+ this.out$2.inc__V()
84183
+ });
84306
84184
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V = (function(id, dataType, io, rep, isRaw, defEndian, assignTypeOpt) {
84307
84185
  $f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrParse2__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__T__Lio_kaitai_struct_format_RepeatSpec__Z__s_Option__s_Option__V(this, id, dataType, io, rep, isRaw, defEndian, assignTypeOpt)
84308
84186
  });
@@ -84345,17 +84223,6 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.io$kaitai$struct$languag
84345
84223
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.readFooter__V = (function() {
84346
84224
  this.universalFooter__V()
84347
84225
  });
84348
- $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatExprHeader__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, repeatExpr) {
84349
- if ((needRaw.level__I() >= 1)) {
84350
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id)) + " = [None] * (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
84351
- };
84352
- if ((needRaw.level__I() >= 2)) {
84353
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(new $c_Lio_kaitai_struct_format_RawIdentifier().init___Lio_kaitai_struct_format_Identifier(id))) + " = [None] * (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"))
84354
- };
84355
- this.out$2.puts__T__V((((this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(id) + " = [None] * (") + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + ")"));
84356
- this.out$2.puts__T__V((("for i in range(" + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, repeatExpr)) + "):"));
84357
- this.out$2.inc__V()
84358
- });
84359
84226
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchStart__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, on) {
84360
84227
  /*<skip>*/
84361
84228
  });
@@ -84594,7 +84461,7 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.switchIfCaseFirstStart__
84594
84461
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.instanceCheckCacheAndReturn__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__V = (function(instName, dataType) {
84595
84462
  this.out$2.puts__T__V((("if hasattr(self, '" + this.idToStr__Lio_kaitai_struct_format_Identifier__T(instName)) + "'):"));
84596
84463
  this.out$2.inc__V();
84597
- this.instanceReturn__Lio_kaitai_struct_format_InstanceIdentifier__Lio_kaitai_struct_datatype_DataType__V(instName, dataType);
84464
+ this.out$2.puts__T__V(("return " + this.privateMemberName__Lio_kaitai_struct_format_Identifier__T(instName)));
84598
84465
  this.out$2.dec__V();
84599
84466
  var this$1 = this.out$2;
84600
84467
  this$1.sb$2.append__T__scm_StringBuilder("\n")
@@ -84747,15 +84614,6 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.classConstructorHeader__
84747
84614
  this.out$2.puts__T__V("self._debug = collections.defaultdict(dict)")
84748
84615
  }
84749
84616
  });
84750
- $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.condRepeatUntilFooter__Lio_kaitai_struct_format_Identifier__T__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_datatype_NeedRaw__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(id, io, dataType, needRaw, untilExpr) {
84751
- this.typeProvider$1.$$undcurrentIteratorType$1 = new $c_s_Some().init___O(dataType);
84752
- this.out$2.puts__T__V((("if " + $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T(this, untilExpr)) + ":"));
84753
- this.out$2.inc__V();
84754
- this.out$2.puts__T__V("break");
84755
- this.out$2.dec__V();
84756
- this.out$2.puts__T__V("i += 1");
84757
- this.out$2.dec__V()
84758
- });
84759
84617
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.universalFooter__V = (function() {
84760
84618
  this.out$2.dec__V();
84761
84619
  var this$1 = this.out$2;
@@ -84779,21 +84637,22 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.fileHeader__T__V = (func
84779
84637
  var this$1 = this.outHeader$2;
84780
84638
  this$1.sb$2.append__T__scm_StringBuilder("\n");
84781
84639
  var this$2 = this.importList$2;
84782
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "from pkg_resources import parse_version");
84640
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$2.list$1, "import kaitaistruct");
84783
84641
  var this$3 = this.importList$2;
84784
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$3.list$1, "import kaitaistruct");
84785
- var this$4 = this.importList$2;
84786
- $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$4.list$1, "from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO");
84642
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$3.list$1, "from kaitaistruct import KaitaiStruct, KaitaiStream, BytesIO");
84643
+ var this$4 = this.out$2;
84644
+ this$4.sb$2.append__T__scm_StringBuilder("\n");
84787
84645
  var this$5 = this.out$2;
84788
84646
  this$5.sb$2.append__T__scm_StringBuilder("\n");
84789
- var this$6 = this.out$2;
84790
- this$6.sb$2.append__T__scm_StringBuilder("\n");
84791
- this.out$2.puts__T__V((("if parse_version(kaitaistruct.__version__) < parse_version('" + $m_Lio_kaitai_struct_format_KSVersion$().minimalRuntime$1) + "'):"));
84647
+ var jsx$1 = this.out$2;
84648
+ var this$6 = $m_Lio_kaitai_struct_format_KSVersion$().minimalRuntime$1;
84649
+ var this$7 = this$6.nums$1;
84650
+ jsx$1.puts__T__V((("if getattr(kaitaistruct, 'API_VERSION', (0, 9)) < " + $f_sc_TraversableOnce__mkString__T__T__T__T(this$7, "(", ", ", ")")) + ":"));
84792
84651
  this.out$2.inc__V();
84793
84652
  this.out$2.puts__T__V((("raise Exception(\"Incompatible Kaitai Struct Python API: " + $m_Lio_kaitai_struct_format_KSVersion$().minimalRuntime$1) + " or later is required, but you have %s\" % (kaitaistruct.__version__))"));
84794
84653
  this.out$2.dec__V();
84795
- var this$7 = this.out$2;
84796
- this$7.sb$2.append__T__scm_StringBuilder("\n")
84654
+ var this$8 = this.out$2;
84655
+ this$8.sb$2.append__T__scm_StringBuilder("\n")
84797
84656
  });
84798
84657
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.attributeReader__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Z__V = (function(attrName, attrType, isNullable) {
84799
84658
  /*<skip>*/