kaitai-struct-compiler 0.11.0-SNAPSHOT20240807.132950.9fb3a2f → 0.11.0-SNAPSHOT20240824.204755.5929d44

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.
@@ -2596,7 +2596,7 @@ $c_Lio_kaitai_struct_TypeProcessor$.prototype.getExternalTypes__Lio_kaitai_struc
2596
2596
  var attr = $as_Lio_kaitai_struct_format_AttrSpec(arg1);
2597
2597
  var this$2 = $n(res);
2598
2598
  var xs = $m_Lio_kaitai_struct_TypeProcessor$().getExternalTypesFromDataType__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_format_ClassSpec__sc_Iterable($n(attr).Lio_kaitai_struct_format_AttrSpec__f_dataType, curClass);
2599
- this$2.addAll__sc_IterableOnce__scm_HashSet(xs);
2599
+ $as_scm_Set(this$2.addAll__sc_IterableOnce__scm_Growable(xs));
2600
2600
  these = $as_sci_List($n(these).tail__O())
2601
2601
  };
2602
2602
  var this$3 = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_params);
@@ -2606,7 +2606,7 @@ $c_Lio_kaitai_struct_TypeProcessor$.prototype.getExternalTypes__Lio_kaitai_struc
2606
2606
  var param = $as_Lio_kaitai_struct_format_ParamDefSpec(arg1$1);
2607
2607
  var this$4 = $n(res);
2608
2608
  var xs$1 = $m_Lio_kaitai_struct_TypeProcessor$().getExternalTypesFromDataType__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_format_ClassSpec__sc_Iterable($n(param).Lio_kaitai_struct_format_ParamDefSpec__f_dataType, curClass);
2609
- this$4.addAll__sc_IterableOnce__scm_HashSet(xs$1);
2609
+ $as_scm_Set(this$4.addAll__sc_IterableOnce__scm_Growable(xs$1));
2610
2610
  these$1 = $as_sci_List($n(these$1).tail__O())
2611
2611
  };
2612
2612
  var this$6 = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_instances);
@@ -2618,7 +2618,7 @@ $c_Lio_kaitai_struct_TypeProcessor$.prototype.getExternalTypes__Lio_kaitai_struc
2618
2618
  var x2 = $as_Lio_kaitai_struct_format_ParseInstanceSpec(inst);
2619
2619
  var this$5 = $n(res);
2620
2620
  var xs$2 = $m_Lio_kaitai_struct_TypeProcessor$().getExternalTypesFromDataType__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_format_ClassSpec__sc_Iterable($n(x2).Lio_kaitai_struct_format_ParseInstanceSpec__f_dataType, curClass);
2621
- return this$5.addAll__sc_IterableOnce__scm_HashSet(xs$2)
2621
+ return this$5.addAll__sc_IterableOnce__scm_Growable(xs$2)
2622
2622
  } else {
2623
2623
  return $m_s_None$()
2624
2624
  }
@@ -2634,7 +2634,7 @@ $c_Lio_kaitai_struct_TypeProcessor$.prototype.getExternalTypes__Lio_kaitai_struc
2634
2634
  var nestedType = $as_Lio_kaitai_struct_format_ClassSpec($n(x0$2).T2__f__2);
2635
2635
  var this$7 = $n(res);
2636
2636
  var xs$3 = $m_Lio_kaitai_struct_TypeProcessor$().getExternalTypes__Lio_kaitai_struct_format_ClassSpec__sc_Iterable(nestedType);
2637
- return this$7.addAll__sc_IterableOnce__scm_HashSet(xs$3)
2637
+ return $as_scm_Set(this$7.addAll__sc_IterableOnce__scm_Growable(xs$3))
2638
2638
  } else {
2639
2639
  throw new $c_s_MatchError(x0$2)
2640
2640
  }
@@ -3012,8 +3012,8 @@ function $m_Lio_kaitai_struct_Utils$() {
3012
3012
  function $c_Lio_kaitai_struct_Version$() {
3013
3013
  this.Lio_kaitai_struct_Version$__f_version = null;
3014
3014
  this.Lio_kaitai_struct_Version$__f_gitTime = null;
3015
- this.Lio_kaitai_struct_Version$__f_version = "0.11-SNAPSHOT20240807.132950.9fb3a2f";
3016
- this.Lio_kaitai_struct_Version$__f_gitTime = "2024-08-07T13:29:50Z"
3015
+ this.Lio_kaitai_struct_Version$__f_version = "0.11-SNAPSHOT20240824.204755.5929d44";
3016
+ this.Lio_kaitai_struct_Version$__f_gitTime = "2024-08-24T20:47:55Z"
3017
3017
  }
3018
3018
  $c_Lio_kaitai_struct_Version$.prototype = new $h_O();
3019
3019
  $c_Lio_kaitai_struct_Version$.prototype.constructor = $c_Lio_kaitai_struct_Version$;
@@ -17951,8 +17951,10 @@ function $c_Lio_kaitai_struct_format_ValidationSpec$() {
17951
17951
  var this$2 = $n(this$1.concat__sc_IterableOnce__sc_SetOps(that));
17952
17952
  var that$1 = $m_Lio_kaitai_struct_format_ValidationAnyOf$().Lio_kaitai_struct_format_ValidationAnyOf$__f_LEGAL_KEYS;
17953
17953
  var this$3 = $n(this$2.concat__sc_IterableOnce__sc_SetOps(that$1));
17954
- var that$2 = $m_Lio_kaitai_struct_format_ValidationExpr$().Lio_kaitai_struct_format_ValidationExpr$__f_LEGAL_KEYS;
17955
- this.Lio_kaitai_struct_format_ValidationSpec$__f_LEGAL_KEYS = $as_sci_Set(this$3.concat__sc_IterableOnce__sc_SetOps(that$2))
17954
+ var that$2 = $m_Lio_kaitai_struct_format_ValidationInEnum$().Lio_kaitai_struct_format_ValidationInEnum$__f_LEGAL_KEYS;
17955
+ var this$4 = $n(this$3.concat__sc_IterableOnce__sc_SetOps(that$2));
17956
+ var that$3 = $m_Lio_kaitai_struct_format_ValidationExpr$().Lio_kaitai_struct_format_ValidationExpr$__f_LEGAL_KEYS;
17957
+ this.Lio_kaitai_struct_format_ValidationSpec$__f_LEGAL_KEYS = $as_sci_Set(this$4.concat__sc_IterableOnce__sc_SetOps(that$3))
17956
17958
  }
17957
17959
  $c_Lio_kaitai_struct_format_ValidationSpec$.prototype = new $h_O();
17958
17960
  $c_Lio_kaitai_struct_format_ValidationSpec$.prototype.constructor = $c_Lio_kaitai_struct_format_ValidationSpec$;
@@ -18002,11 +18004,16 @@ $c_Lio_kaitai_struct_format_ValidationSpec$.prototype.fromMap__sci_Map__sci_List
18002
18004
  if ((!this$3.isEmpty__Z())) {
18003
18005
  return $as_Lio_kaitai_struct_format_ValidationSpec($n(opt3).get__O())
18004
18006
  };
18005
- var opt4 = $m_Lio_kaitai_struct_format_ValidationExpr$().fromMap__sci_Map__sci_List__s_Option(src, path);
18007
+ var opt4 = $m_Lio_kaitai_struct_format_ValidationInEnum$().fromMap__sci_Map__sci_List__s_Option(src, path);
18006
18008
  var this$4 = $n(opt4);
18007
18009
  if ((!this$4.isEmpty__Z())) {
18008
18010
  return $as_Lio_kaitai_struct_format_ValidationSpec($n(opt4).get__O())
18009
18011
  };
18012
+ var opt5 = $m_Lio_kaitai_struct_format_ValidationExpr$().fromMap__sci_Map__sci_List__s_Option(src, path);
18013
+ var this$5 = $n(opt5);
18014
+ if ((!this$5.isEmpty__Z())) {
18015
+ return $as_Lio_kaitai_struct_format_ValidationSpec($n(opt5).get__O())
18016
+ };
18010
18017
  $m_Lio_kaitai_struct_format_ParseUtils$().ensureLegalKeys__sci_Map__sci_Set__sci_List__s_Option__V(src, this.Lio_kaitai_struct_format_ValidationSpec$__f_LEGAL_KEYS, path, $m_s_None$());
18011
18018
  throw $n($m_Lio_kaitai_struct_problems_KSYParseError$().noKeys__sci_List__sci_Set__Lio_kaitai_struct_problems_CompilationProblemException(path, this.Lio_kaitai_struct_format_ValidationSpec$__f_LEGAL_KEYS))
18012
18019
  });
@@ -25425,6 +25432,15 @@ $c_ju_Arrays$.prototype.equals__AF__AF__Z = (function(a, b) {
25425
25432
  };
25426
25433
  return true
25427
25434
  });
25435
+ $c_ju_Arrays$.prototype.fill__AI__I__V = (function(a, value) {
25436
+ var toIndex = $n(a).u.length;
25437
+ var i = 0;
25438
+ while ((i !== toIndex)) {
25439
+ var i$1 = i;
25440
+ $n(a).set(i$1, value);
25441
+ i = ((1 + i) | 0)
25442
+ }
25443
+ });
25428
25444
  $c_ju_Arrays$.prototype.fill__AO__O__V = (function(a, value) {
25429
25445
  var toIndex = $n(a).u.length;
25430
25446
  var i = 0;
@@ -30994,6 +31010,12 @@ function $m_sci_VectorStatics$() {
30994
31010
  };
30995
31011
  return $n_sci_VectorStatics$
30996
31012
  }
31013
+ var $d_scm_HashEntry = new $TypeData().initClass({
31014
+ scm_HashEntry: 0
31015
+ }, true, "scala.collection.mutable.HashEntry", {
31016
+ scm_HashEntry: 1,
31017
+ O: 1
31018
+ });
30997
31019
  /** @constructor */
30998
31020
  function $c_scm_HashMap$Node(_key, _hash, _value, _next) {
30999
31021
  this.scm_HashMap$Node__f__key = null;
@@ -31124,6 +31146,56 @@ var $d_scm_HashSet$Node = new $TypeData().initClass({
31124
31146
  });
31125
31147
  $c_scm_HashSet$Node.prototype.$classData = $d_scm_HashSet$Node;
31126
31148
  /** @constructor */
31149
+ function $c_scm_HashTable$() {
31150
+ /*<skip>*/
31151
+ }
31152
+ $c_scm_HashTable$.prototype = new $h_O();
31153
+ $c_scm_HashTable$.prototype.constructor = $c_scm_HashTable$;
31154
+ /** @constructor */
31155
+ function $h_scm_HashTable$() {
31156
+ /*<skip>*/
31157
+ }
31158
+ $h_scm_HashTable$.prototype = $c_scm_HashTable$.prototype;
31159
+ $c_scm_HashTable$.prototype.newThreshold__I__I__I = (function(_loadFactor, size) {
31160
+ var hi = (size >> 31);
31161
+ var hi$1 = (_loadFactor >> 31);
31162
+ var a0 = (65535 & size);
31163
+ var a1 = ((size >>> 16) | 0);
31164
+ var b0 = (65535 & _loadFactor);
31165
+ var b1 = ((_loadFactor >>> 16) | 0);
31166
+ var a0b0 = Math.imul(a0, b0);
31167
+ var a1b0 = Math.imul(a1, b0);
31168
+ var a0b1 = Math.imul(a0, b1);
31169
+ var lo = ((a0b0 + (((a1b0 + a0b1) | 0) << 16)) | 0);
31170
+ var c1part = ((((a0b0 >>> 16) | 0) + a0b1) | 0);
31171
+ var hi$2 = ((((((((Math.imul(size, hi$1) + Math.imul(hi, _loadFactor)) | 0) + Math.imul(a1, b1)) | 0) + ((c1part >>> 16) | 0)) | 0) + (((((65535 & c1part) + a1b0) | 0) >>> 16) | 0)) | 0);
31172
+ var this$3 = $m_RTLong$();
31173
+ var lo$1 = this$3.divideImpl__I__I__I__I__I(lo, hi$2, 1000, 0);
31174
+ return lo$1
31175
+ });
31176
+ $c_scm_HashTable$.prototype.nextPositivePowerOfTwo__I__I = (function(target) {
31177
+ var i = (((-1) + target) | 0);
31178
+ return (1 << ((-$uI(Math.clz32(i))) | 0))
31179
+ });
31180
+ var $d_scm_HashTable$ = new $TypeData().initClass({
31181
+ scm_HashTable$: 0
31182
+ }, false, "scala.collection.mutable.HashTable$", {
31183
+ scm_HashTable$: 1,
31184
+ O: 1
31185
+ });
31186
+ $c_scm_HashTable$.prototype.$classData = $d_scm_HashTable$;
31187
+ var $n_scm_HashTable$;
31188
+ function $m_scm_HashTable$() {
31189
+ if ((!$n_scm_HashTable$)) {
31190
+ $n_scm_HashTable$ = new $c_scm_HashTable$()
31191
+ };
31192
+ return $n_scm_HashTable$
31193
+ }
31194
+ function $f_scm_HashTable$HashUtils__improve__I__I__I($thiz, hcode, seed) {
31195
+ var i = $m_s_util_hashing_package$().byteswap32__I__I(hcode);
31196
+ return (((i >>> seed) | 0) | (i << ((-seed) | 0)))
31197
+ }
31198
+ /** @constructor */
31127
31199
  function $c_scm_MutationTracker$() {
31128
31200
  /*<skip>*/
31129
31201
  }
@@ -33254,6 +33326,37 @@ $c_s_util_hashing_MurmurHash3.prototype.arrayHash$mVc$sp__Ajl_Void__I__I = (func
33254
33326
  }
33255
33327
  });
33256
33328
  /** @constructor */
33329
+ function $c_s_util_hashing_package$() {
33330
+ /*<skip>*/
33331
+ }
33332
+ $c_s_util_hashing_package$.prototype = new $h_O();
33333
+ $c_s_util_hashing_package$.prototype.constructor = $c_s_util_hashing_package$;
33334
+ /** @constructor */
33335
+ function $h_s_util_hashing_package$() {
33336
+ /*<skip>*/
33337
+ }
33338
+ $h_s_util_hashing_package$.prototype = $c_s_util_hashing_package$.prototype;
33339
+ $c_s_util_hashing_package$.prototype.byteswap32__I__I = (function(v) {
33340
+ var hc = Math.imul((-1640532531), v);
33341
+ var i = hc;
33342
+ hc = $m_jl_Integer$().reverseBytes__I__I(i);
33343
+ return Math.imul((-1640532531), hc)
33344
+ });
33345
+ var $d_s_util_hashing_package$ = new $TypeData().initClass({
33346
+ s_util_hashing_package$: 0
33347
+ }, false, "scala.util.hashing.package$", {
33348
+ s_util_hashing_package$: 1,
33349
+ O: 1
33350
+ });
33351
+ $c_s_util_hashing_package$.prototype.$classData = $d_s_util_hashing_package$;
33352
+ var $n_s_util_hashing_package$;
33353
+ function $m_s_util_hashing_package$() {
33354
+ if ((!$n_s_util_hashing_package$)) {
33355
+ $n_s_util_hashing_package$ = new $c_s_util_hashing_package$()
33356
+ };
33357
+ return $n_s_util_hashing_package$
33358
+ }
33359
+ /** @constructor */
33257
33360
  function $c_Lsourcecode_SourceValue() {
33258
33361
  /*<skip>*/
33259
33362
  }
@@ -35079,7 +35182,9 @@ function $c_Lio_kaitai_struct_GraphvizClassCompiler(classSpecs, topClass) {
35079
35182
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC = null;
35080
35183
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_POS = null;
35081
35184
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_SIZE = null;
35185
+ this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID = null;
35082
35186
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_REPEAT = null;
35187
+ this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_IF = null;
35083
35188
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALUE = null;
35084
35189
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_END_OF_STREAM = null;
35085
35190
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_UNKNOWN = null;
@@ -35087,8 +35192,9 @@ function $c_Lio_kaitai_struct_GraphvizClassCompiler(classSpecs, topClass) {
35087
35192
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_out = new $c_Lio_kaitai_struct_StringLanguageOutputWriter("\t");
35088
35193
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider = new $c_Lio_kaitai_struct_ClassTypeProvider(classSpecs, topClass);
35089
35194
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_translator = new $c_Lio_kaitai_struct_translators_RubyTranslator(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider);
35195
+ var this$1 = $m_scm_LinkedHashSet$();
35090
35196
  var elems = $m_sci_Nil$();
35091
- this.Lio_kaitai_struct_GraphvizClassCompiler__f_links = new $c_scm_ListBuffer().scala$collection$mutable$ListBuffer$$freshFrom__sc_IterableOnce__scm_ListBuffer(elems);
35197
+ this.Lio_kaitai_struct_GraphvizClassCompiler__f_links = this$1.from__sc_IterableOnce__scm_LinkedHashSet(elems);
35092
35198
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_extraClusterLines = new $c_Lio_kaitai_struct_StringLanguageOutputWriter("\t");
35093
35199
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable = "";
35094
35200
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_HEADER_BGCOLOR = "#E0FFE0";
@@ -35099,7 +35205,9 @@ function $c_Lio_kaitai_struct_GraphvizClassCompiler(classSpecs, topClass) {
35099
35205
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC = "color=\"#404040\"";
35100
35206
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_POS = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35101
35207
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_SIZE = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35208
+ this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35102
35209
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_REPEAT = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35210
+ this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_IF = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35103
35211
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALUE = this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_MISC;
35104
35212
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_END_OF_STREAM = "\u21f2";
35105
35213
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_UNKNOWN = "..."
@@ -35121,9 +35229,9 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.compile__Lio_kaitai_struct_
35121
35229
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V("node [shape=plaintext];");
35122
35230
  this.compileClass__Lio_kaitai_struct_format_ClassSpec__V(this.Lio_kaitai_struct_GraphvizClassCompiler__f_topClass);
35123
35231
  var this$1 = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_links);
35124
- var it = this$1.iterator__sc_Iterator();
35125
- while ($n(it).hasNext__Z()) {
35126
- var arg1 = $n(it).next__O();
35232
+ var cur = this$1.scm_LinkedHashSet__f_firstEntry;
35233
+ while ((cur !== null)) {
35234
+ var arg1 = $n(cur).scm_LinkedHashSet$Entry__f_key;
35127
35235
  var x0$1 = $as_T3(arg1);
35128
35236
  if ((x0$1 !== null)) {
35129
35237
  var t1 = $as_T($n(x0$1).T3__f__1);
@@ -35132,7 +35240,8 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.compile__Lio_kaitai_struct_
35132
35240
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((((((t1 + " -> ") + t2) + " [") + style) + "];"))
35133
35241
  } else {
35134
35242
  throw new $c_s_MatchError(x0$1)
35135
- }
35243
+ };
35244
+ cur = $n(cur).scm_LinkedHashSet$Entry__f_later
35136
35245
  };
35137
35246
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).dec__V();
35138
35247
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V("}");
@@ -35280,7 +35389,7 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.tableRow__sci_List__s_Optio
35280
35389
  this.compileSwitch__T__Lio_kaitai_struct_datatype_DataType$SwitchType__V(name, x2);
35281
35390
  var dataTypeStr = (("switch (" + this.expressionType__Lio_kaitai_struct_exprlang_Ast$expr__T__T($n(x2).Lio_kaitai_struct_datatype_DataType$SwitchType__f_on, name)) + ")")
35282
35391
  } else {
35283
- var dataTypeStr = $m_Lio_kaitai_struct_GraphvizClassCompiler$().dataTypeName__Lio_kaitai_struct_datatype_DataType__T(dataType)
35392
+ var dataTypeStr = $m_Lio_kaitai_struct_GraphvizClassCompiler$().dataTypeName__Lio_kaitai_struct_datatype_DataType__s_Option__T(dataType, $n(attr).valid__s_Option())
35284
35393
  };
35285
35394
  var $$x1 = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out);
35286
35395
  var this$1 = $n(pos);
@@ -35291,31 +35400,125 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.tableRow__sci_List__s_Optio
35291
35400
  var $$x2 = this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable;
35292
35401
  var name$1 = $n(x2$2).Lio_kaitai_struct_datatype_DataType$UserType__f_name;
35293
35402
  var elem = new $c_T3(((($$x2 + ":") + name) + "_type"), ($as_T($n(name$1).last__O()) + "__seq"), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_TYPE);
35294
- this$3.addOne__O__scm_ListBuffer(elem)
35403
+ this$3.addOne__O__scm_LinkedHashSet(elem)
35404
+ };
35405
+ matchEnd4$3: {
35406
+ if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BytesLimitType)) {
35407
+ var x2$3 = $as_Lio_kaitai_struct_datatype_DataType$BytesLimitType(dataType);
35408
+ var this$4 = $n($m_Lio_kaitai_struct_GraphvizClassCompiler$().io$kaitai$struct$GraphvizClassCompiler$$fixedBytes__Lio_kaitai_struct_datatype_DataType$BytesLimitType__s_Option__s_Option(x2$3, $n(attr).valid__s_Option()));
35409
+ if ((!this$4.isEmpty__Z())) {
35410
+ break matchEnd4$3
35411
+ }
35412
+ };
35413
+ this.validTableRow__Lio_kaitai_struct_datatype_DataType__s_Option__T__V(dataType, $n(attr).valid__s_Option(), name)
35295
35414
  };
35415
+ this.repeatTableRow__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_format_RepeatSpec__T__V(dataType, $n($n(attr).cond__Lio_kaitai_struct_format_ConditionalSpec()).Lio_kaitai_struct_format_ConditionalSpec__f_repeat, name);
35416
+ this.ifTableRow__s_Option__T__V($n($n(attr).cond__Lio_kaitai_struct_format_ConditionalSpec()).Lio_kaitai_struct_format_ConditionalSpec__f_ifExpr, name)
35417
+ });
35418
+ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.validTableRow__Lio_kaitai_struct_datatype_DataType__s_Option__T__V = (function(dataType, valid, name) {
35419
+ var portName = (name + "__valid");
35420
+ var fullPortName = ((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + ":") + portName);
35421
+ if ((!(valid instanceof $c_s_Some))) {
35422
+ var x = $m_s_None$();
35423
+ if ((x === valid)) {
35424
+ return (void 0)
35425
+ };
35426
+ throw new $c_s_MatchError(valid)
35427
+ };
35428
+ var x2 = $as_s_Some(valid);
35429
+ var v = $as_Lio_kaitai_struct_format_ValidationSpec($n(x2).s_Some__f_value);
35430
+ if ((v instanceof $c_Lio_kaitai_struct_format_ValidationEq)) {
35431
+ var x2$2 = $as_Lio_kaitai_struct_format_ValidationEq(v);
35432
+ var expected = $n(x2$2).Lio_kaitai_struct_format_ValidationEq__f_value;
35433
+ var text = ("must be equal to " + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(expected, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID))
35434
+ } else if ((v instanceof $c_Lio_kaitai_struct_format_ValidationMin)) {
35435
+ var x3 = $as_Lio_kaitai_struct_format_ValidationMin(v);
35436
+ var min = $n(x3).Lio_kaitai_struct_format_ValidationMin__f_min;
35437
+ var text = ("must be at least " + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(min, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID))
35438
+ } else if ((v instanceof $c_Lio_kaitai_struct_format_ValidationMax)) {
35439
+ var x4 = $as_Lio_kaitai_struct_format_ValidationMax(v);
35440
+ var max = $n(x4).Lio_kaitai_struct_format_ValidationMax__f_max;
35441
+ var text = ("must be at most " + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(max, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID))
35442
+ } else if ((v instanceof $c_Lio_kaitai_struct_format_ValidationRange)) {
35443
+ var x5 = $as_Lio_kaitai_struct_format_ValidationRange(v);
35444
+ var min$2 = $n(x5).Lio_kaitai_struct_format_ValidationRange__f_min;
35445
+ var max$2 = $n(x5).Lio_kaitai_struct_format_ValidationRange__f_max;
35446
+ var text = (((("must be between " + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(min$2, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID)) + " ") + "and ") + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(max$2, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID))
35447
+ } else if ((v instanceof $c_Lio_kaitai_struct_format_ValidationAnyOf)) {
35448
+ var x6 = $as_Lio_kaitai_struct_format_ValidationAnyOf(v);
35449
+ var values = $n(x6).Lio_kaitai_struct_format_ValidationAnyOf__f_values;
35450
+ var this$2 = $n(values);
35451
+ var f = ((x$3$2) => {
35452
+ var x$3 = $as_Lio_kaitai_struct_exprlang_Ast$expr(x$3$2);
35453
+ return this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(x$3, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID)
35454
+ });
35455
+ if ((this$2 === $m_sci_Nil$())) {
35456
+ var $$x1 = $m_sci_Nil$()
35457
+ } else {
35458
+ var arg1 = this$2.head__O();
35459
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
35460
+ var t = h;
35461
+ var rest = $as_sci_List(this$2.tail__O());
35462
+ while ((rest !== $m_sci_Nil$())) {
35463
+ var arg1$1 = $n(rest).head__O();
35464
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
35465
+ $n(t).sci_$colon$colon__f_next = nx;
35466
+ t = nx;
35467
+ rest = $as_sci_List($n(rest).tail__O())
35468
+ };
35469
+ var $$x1 = h
35470
+ };
35471
+ var this$3 = $n($$x1);
35472
+ var text = ("must be any of " + $f_sc_IterableOnceOps__mkString__T__T__T__T(this$3, "", ", ", ""))
35473
+ } else if ((v instanceof $c_Lio_kaitai_struct_format_ValidationInEnum)) {
35474
+ var text = "must be defined in the enum"
35475
+ } else {
35476
+ if ((!(v instanceof $c_Lio_kaitai_struct_format_ValidationExpr))) {
35477
+ throw new $c_s_MatchError(v)
35478
+ };
35479
+ var x8 = $as_Lio_kaitai_struct_format_ValidationExpr(v);
35480
+ var expr = $n(x8).Lio_kaitai_struct_format_ValidationExpr__f_checkExpr;
35481
+ $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider).Lio_kaitai_struct_ClassTypeProvider__f__currentIteratorType = new $c_s_Some(dataType);
35482
+ var text = ("must satisfy " + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(expr, fullPortName, this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_VALID))
35483
+ };
35484
+ $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((((("<TR><TD COLSPAN=\"4\" PORT=\"" + portName) + "\">") + text) + "</TD></TR>"))
35485
+ });
35486
+ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.repeatTableRow__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_format_RepeatSpec__T__V = (function(dataType, rep, name) {
35296
35487
  var portName = (name + "__repeat");
35297
- var x1$3 = $n($n(attr).cond__Lio_kaitai_struct_format_ConditionalSpec()).Lio_kaitai_struct_format_ConditionalSpec__f_repeat;
35298
- if ((x1$3 instanceof $c_Lio_kaitai_struct_format_RepeatExpr)) {
35299
- var x2$3 = $as_Lio_kaitai_struct_format_RepeatExpr(x1$3);
35300
- var ex = $n(x2$3).Lio_kaitai_struct_format_RepeatExpr__f_expr;
35488
+ if ((rep instanceof $c_Lio_kaitai_struct_format_RepeatExpr)) {
35489
+ var x2 = $as_Lio_kaitai_struct_format_RepeatExpr(rep);
35490
+ var ex = $n(x2).Lio_kaitai_struct_format_RepeatExpr__f_expr;
35301
35491
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((((("<TR><TD COLSPAN=\"4\" PORT=\"" + portName) + "\">repeat ") + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(ex, ((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + ":") + portName), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_REPEAT)) + " times</TD></TR>"))
35302
- } else if ((x1$3 instanceof $c_Lio_kaitai_struct_format_RepeatUntil)) {
35303
- var x3 = $as_Lio_kaitai_struct_format_RepeatUntil(x1$3);
35492
+ } else if ((rep instanceof $c_Lio_kaitai_struct_format_RepeatUntil)) {
35493
+ var x3 = $as_Lio_kaitai_struct_format_RepeatUntil(rep);
35304
35494
  var ex$2 = $n(x3).Lio_kaitai_struct_format_RepeatUntil__f_expr;
35305
35495
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider).Lio_kaitai_struct_ClassTypeProvider__f__currentIteratorType = new $c_s_Some(dataType);
35306
35496
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((((("<TR><TD COLSPAN=\"4\" PORT=\"" + portName) + "\">repeat until ") + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(ex$2, ((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + ":") + portName), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_REPEAT)) + "</TD></TR>"))
35307
35497
  } else {
35308
35498
  var x = $m_Lio_kaitai_struct_format_RepeatEos$();
35309
- if ((x === x1$3)) {
35499
+ if ((x === rep)) {
35310
35500
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((("<TR><TD COLSPAN=\"4\" PORT=\"" + portName) + "\">repeat to end of stream</TD></TR>"))
35311
35501
  } else {
35312
35502
  var x$3 = $m_Lio_kaitai_struct_format_NoRepeat$();
35313
- if ((!(x$3 === x1$3))) {
35314
- throw new $c_s_MatchError(x1$3)
35503
+ if ((!(x$3 === rep))) {
35504
+ throw new $c_s_MatchError(rep)
35315
35505
  }
35316
35506
  }
35317
35507
  }
35318
35508
  });
35509
+ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.ifTableRow__s_Option__T__V = (function(ifExpr, name) {
35510
+ var portName = (name + "__if");
35511
+ if ((ifExpr instanceof $c_s_Some)) {
35512
+ var x2 = $as_s_Some(ifExpr);
35513
+ var e = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2).s_Some__f_value);
35514
+ $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((((("<TR><TD COLSPAN=\"4\" PORT=\"" + portName) + "\">if ") + this.expression__Lio_kaitai_struct_exprlang_Ast$expr__T__T__T(e, ((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + ":") + portName), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_IF)) + "</TD></TR>"))
35515
+ } else {
35516
+ var x = $m_s_None$();
35517
+ if ((!(x === ifExpr))) {
35518
+ throw new $c_s_MatchError(ifExpr)
35519
+ }
35520
+ }
35521
+ });
35319
35522
  $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.tableValueInstance__sci_List__T__Lio_kaitai_struct_format_ValueInstanceSpec__V = (function(curClass, name, inst) {
35320
35523
  this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable = (($as_T($n(curClass).last__O()) + "__inst__") + name);
35321
35524
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_out).puts__T__V((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + " [label=<<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLSPACING=\"0\">"));
@@ -35327,7 +35530,7 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.tableValueInstance__sci_Lis
35327
35530
  $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.compileSwitch__T__Lio_kaitai_struct_datatype_DataType$SwitchType__V = (function(attrName, st) {
35328
35531
  var this$1 = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_links);
35329
35532
  var elem = new $c_T3((((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + ":") + attrName) + "_type"), (((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + "_") + attrName) + "_switch"), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_TYPE);
35330
- this$1.addOne__O__scm_ListBuffer(elem);
35533
+ this$1.addOne__O__scm_LinkedHashSet(elem);
35331
35534
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_extraClusterLines).puts__T__V((((this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable + "_") + attrName) + "_switch [label=<<TABLE BORDER=\"0\" CELLBORDER=\"1\" CELLSPACING=\"0\">"));
35332
35535
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_extraClusterLines).inc__V();
35333
35536
  $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_extraClusterLines).puts__T__V((((("<TR>" + this.Lio_kaitai_struct_GraphvizClassCompiler__f_SWITCH_TH_START) + "case</TD>") + this.Lio_kaitai_struct_GraphvizClassCompiler__f_SWITCH_TH_START) + "type</TD></TR>"));
@@ -35350,7 +35553,7 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.compileSwitch__T__Lio_kaita
35350
35553
  var $$x2 = this.Lio_kaitai_struct_GraphvizClassCompiler__f_currentTable;
35351
35554
  var name = $n(x2).Lio_kaitai_struct_datatype_DataType$UserType__f_name;
35352
35555
  var elem$1 = new $c_T3((((($$x2 + "_") + attrName) + "_switch:") + portName), ($as_T($n(name).last__O()) + "__seq"), this.Lio_kaitai_struct_GraphvizClassCompiler__f_STYLE_EDGE_TYPE);
35353
- return this$6.addOne__O__scm_ListBuffer(elem$1)
35556
+ return this$6.addOne__O__scm_LinkedHashSet(elem$1)
35354
35557
  } else {
35355
35558
  return (void 0)
35356
35559
  }
@@ -35423,7 +35626,7 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.expression__Lio_kaitai_stru
35423
35626
  var v = $as_T(arg1);
35424
35627
  var this$2 = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_links);
35425
35628
  var elem = new $c_T3(v, portName, style);
35426
- this$2.addOne__O__scm_ListBuffer(elem);
35629
+ this$2.addOne__O__scm_LinkedHashSet(elem);
35427
35630
  these = $as_sci_List($n(these).tail__O())
35428
35631
  };
35429
35632
  var $$x1 = $m_Lio_kaitai_struct_GraphvizClassCompiler$();
@@ -35478,13 +35681,58 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.affectedVars__Lio_kaitai_st
35478
35681
  var x19 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Attribute(e);
35479
35682
  var value = $n(x19).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_value;
35480
35683
  var attr = $n(x19).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_attr;
35481
- var targetClass = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_translator).detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(value);
35482
- if ((targetClass instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
35483
- var x2$2 = $as_Lio_kaitai_struct_datatype_DataType$UserType(targetClass);
35684
+ if (($n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name === $m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_SIZEOF)) {
35685
+ matchEnd5: {
35686
+ var vars;
35687
+ if ((value instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$Name)) {
35688
+ var x2$2 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Name(value);
35689
+ var id$2 = $n(x2$2).Lio_kaitai_struct_exprlang_Ast$expr$Name__f_id;
35690
+ var this$6 = $n($n(id$2).Lio_kaitai_struct_exprlang_Ast$identifier__f_name);
35691
+ if ((!((this$6.length >= 0) && ($as_T(this$6.substring(0, 1)) === "_")))) {
35692
+ $n($m_s_package$().s_package$__f_List);
35693
+ var array = [((this.getGraphvizNode__sci_List__Lio_kaitai_struct_format_ClassSpec__T__T(this.nowClassName__sci_List(), $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass, $n(id$2).Lio_kaitai_struct_exprlang_Ast$identifier__f_name) + (":" + $n(id$2).Lio_kaitai_struct_exprlang_Ast$identifier__f_name)) + "_size")];
35694
+ var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
35695
+ var vars = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems);
35696
+ break matchEnd5
35697
+ }
35698
+ };
35699
+ if ((value instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$Attribute)) {
35700
+ var x3$2 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Attribute(value);
35701
+ var valueNested = $n(x3$2).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_value;
35702
+ var attrNested = $n(x3$2).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_attr;
35703
+ var this$11 = $n($n(attrNested).Lio_kaitai_struct_exprlang_Ast$identifier__f_name);
35704
+ if ((!((this$11.length >= 0) && ($as_T(this$11.substring(0, 1)) === "_")))) {
35705
+ var targetClass = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_translator).detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(valueNested);
35706
+ if ((targetClass instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
35707
+ var x2$3 = $as_Lio_kaitai_struct_datatype_DataType$UserType(targetClass);
35708
+ var className = $n(x2$3).Lio_kaitai_struct_datatype_DataType$UserType__f_name;
35709
+ var classSpec = $as_Lio_kaitai_struct_format_ClassSpec($n($n(x2$3).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O());
35710
+ $n($m_s_package$().s_package$__f_List);
35711
+ var array$1 = [((this.getGraphvizNode__sci_List__Lio_kaitai_struct_format_ClassSpec__T__T(className, classSpec, $n(attrNested).Lio_kaitai_struct_exprlang_Ast$identifier__f_name) + (":" + $n(attrNested).Lio_kaitai_struct_exprlang_Ast$identifier__f_name)) + "_size")];
35712
+ var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
35713
+ var vars = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1);
35714
+ break matchEnd5
35715
+ } else {
35716
+ var vars = this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value);
35717
+ break matchEnd5
35718
+ }
35719
+ }
35720
+ };
35721
+ var vars = this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value)
35722
+ };
35723
+ return vars
35724
+ };
35725
+ var this$16 = $n($n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name);
35726
+ if (((this$16.length >= 0) && ($as_T(this$16.substring(0, 1)) === "_"))) {
35727
+ return this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value)
35728
+ };
35729
+ var targetClass$2 = $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_translator).detectType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_DataType(value);
35730
+ if ((targetClass$2 instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
35731
+ var x2$4 = $as_Lio_kaitai_struct_datatype_DataType$UserType(targetClass$2);
35484
35732
  $n($m_s_package$().s_package$__f_List);
35485
- var array = [this.resolveTypedNode__Lio_kaitai_struct_datatype_DataType$UserType__T__T(x2$2, $n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name)];
35486
- var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
35487
- return $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems)
35733
+ var array$2 = [this.resolveTypedNode__Lio_kaitai_struct_datatype_DataType$UserType__T__T(x2$4, $n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name)];
35734
+ var elems$2 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$2);
35735
+ return $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$2)
35488
35736
  } else {
35489
35737
  return this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value)
35490
35738
  }
@@ -35495,9 +35743,9 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.affectedVars__Lio_kaitai_st
35495
35743
  matchEnd6: {
35496
35744
  var fromFunc;
35497
35745
  if ((func instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$Attribute)) {
35498
- var x2$3 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Attribute(func);
35499
- var obj = $n(x2$3).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_value;
35500
- var methodName = $n(x2$3).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_attr;
35746
+ var x2$5 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Attribute(func);
35747
+ var obj = $n(x2$5).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_value;
35748
+ var methodName = $n(x2$5).Lio_kaitai_struct_exprlang_Ast$expr$Attribute__f_attr;
35501
35749
  if ((obj !== null)) {
35502
35750
  if ((methodName !== null)) {
35503
35751
  var fromFunc = this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(obj);
@@ -35512,36 +35760,39 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.affectedVars__Lio_kaitai_st
35512
35760
  var x21 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Subscript(e);
35513
35761
  var value$2 = $n(x21).Lio_kaitai_struct_exprlang_Ast$expr$Subscript__f_value;
35514
35762
  var idx = $n(x21).Lio_kaitai_struct_exprlang_Ast$expr$Subscript__f_idx;
35515
- var this$10 = $n(this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value$2));
35763
+ var this$21 = $n(this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(value$2));
35516
35764
  var suffix$4 = this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(idx);
35517
- return this$10.appendedAll__sc_IterableOnce__sci_List(suffix$4)
35518
- } else {
35519
- var x = $m_Lio_kaitai_struct_datatype_DataType$SwitchType$().Lio_kaitai_struct_datatype_DataType$SwitchType$__f_ELSE_CONST;
35520
- if (((x === null) ? (e === null) : $n(x).equals__O__Z(e))) {
35765
+ return this$21.appendedAll__sc_IterableOnce__sci_List(suffix$4)
35766
+ } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$Name)) {
35767
+ var x22 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Name(e);
35768
+ var id$3 = $n(x22).Lio_kaitai_struct_exprlang_Ast$expr$Name__f_id;
35769
+ var this$22 = $n($n(id$3).Lio_kaitai_struct_exprlang_Ast$identifier__f_name);
35770
+ if (((this$22.length >= 0) && ($as_T(this$22.substring(0, 1)) === "_"))) {
35521
35771
  return $m_sci_Nil$()
35522
- } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$Name)) {
35523
- var x23 = $as_Lio_kaitai_struct_exprlang_Ast$expr$Name(e);
35524
- var id$2 = $n(x23).Lio_kaitai_struct_exprlang_Ast$expr$Name__f_id;
35525
- var this$11 = $n($n(id$2).Lio_kaitai_struct_exprlang_Ast$identifier__f_name);
35526
- if (($charAt(this$11, 0) === 95)) {
35527
- return $m_sci_Nil$()
35528
- } else {
35529
- $n($m_s_package$().s_package$__f_List);
35530
- var s = $n(id$2).Lio_kaitai_struct_exprlang_Ast$identifier__f_name;
35531
- var array$1 = [this.resolveNodeForClass__sci_List__Lio_kaitai_struct_format_ClassSpec__T__T(this.nowClassName__sci_List(), $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass, s)];
35532
- var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
35533
- return $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1)
35534
- }
35535
- } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$List)) {
35536
- var x24 = $as_Lio_kaitai_struct_exprlang_Ast$expr$List(e);
35537
- var elts = $n(x24).Lio_kaitai_struct_exprlang_Ast$expr$List__f_elts;
35538
- return $n($as_sc_IterableOnceOps($n(elts).flatMap__F1__O(new $c_sjsr_AnonFunction1(((e$3$2) => {
35539
- var e$3 = $as_Lio_kaitai_struct_exprlang_Ast$expr(e$3$2);
35540
- return this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(e$3)
35541
- }))))).toList__sci_List()
35542
35772
  } else {
35543
- throw new $c_s_MatchError(e)
35544
- }
35773
+ $n($m_s_package$().s_package$__f_List);
35774
+ var s = $n(id$3).Lio_kaitai_struct_exprlang_Ast$identifier__f_name;
35775
+ var array$3 = [this.resolveNodeForClass__sci_List__Lio_kaitai_struct_format_ClassSpec__T__T(this.nowClassName__sci_List(), $n(this.Lio_kaitai_struct_GraphvizClassCompiler__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass, s)];
35776
+ var elems$3 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$3);
35777
+ return $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$3)
35778
+ }
35779
+ } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$List)) {
35780
+ var x23 = $as_Lio_kaitai_struct_exprlang_Ast$expr$List(e);
35781
+ var elts = $n(x23).Lio_kaitai_struct_exprlang_Ast$expr$List__f_elts;
35782
+ return $n($as_sc_IterableOnceOps($n(elts).flatMap__F1__O(new $c_sjsr_AnonFunction1(((e$3$2) => {
35783
+ var e$3 = $as_Lio_kaitai_struct_exprlang_Ast$expr(e$3$2);
35784
+ return this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(e$3)
35785
+ }))))).toList__sci_List()
35786
+ } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$CastToType)) {
35787
+ var x24 = $as_Lio_kaitai_struct_exprlang_Ast$expr$CastToType(e);
35788
+ var expr = $n(x24).Lio_kaitai_struct_exprlang_Ast$expr$CastToType__f_value;
35789
+ return this.affectedVars__Lio_kaitai_struct_exprlang_Ast$expr__sci_List(expr)
35790
+ } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$ByteSizeOfType)) {
35791
+ return $m_sci_Nil$()
35792
+ } else if ((e instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$BitSizeOfType)) {
35793
+ return $m_sci_Nil$()
35794
+ } else {
35795
+ throw new $c_s_MatchError(e)
35545
35796
  }
35546
35797
  });
35547
35798
  $c_Lio_kaitai_struct_GraphvizClassCompiler.prototype.resolveTypedNode__Lio_kaitai_struct_datatype_DataType$UserType__T__T = (function(t, s) {
@@ -35673,7 +35924,7 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.type2display__sci_List__T
35673
35924
  var this$3 = $n($$x1);
35674
35925
  return $f_sc_IterableOnceOps__mkString__T__T__T__T(this$3, "", "::", "")
35675
35926
  });
35676
- $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.dataTypeName__Lio_kaitai_struct_datatype_DataType__T = (function(dataType) {
35927
+ $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.dataTypeName__Lio_kaitai_struct_datatype_DataType__s_Option__T = (function(dataType, valid) {
35677
35928
  if ($is_Lio_kaitai_struct_datatype_DataType$ReadableType(dataType)) {
35678
35929
  var x2 = $as_Lio_kaitai_struct_datatype_DataType$ReadableType(dataType);
35679
35930
  return $n(x2).apiCall__s_Option__T($m_s_None$())
@@ -35688,9 +35939,9 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.dataTypeName__Lio_kaitai_s
35688
35939
  var eosError = $n(x4).Lio_kaitai_struct_datatype_DataType$BytesTerminatedType__f_eosError;
35689
35940
  var elems = $m_sci_Nil$();
35690
35941
  var args = new $c_scm_ListBuffer().scala$collection$mutable$ListBuffer$$freshFrom__sc_IterableOnce__scm_ListBuffer(elems);
35691
- var this$3 = $n($as_sc_IterableOnceOps($n(terminator).map__F1__O(new $c_sjsr_AnonFunction1(((x$3$2) => {
35692
- var x$3 = $uB(x$3$2);
35693
- return (255 & x$3)
35942
+ var this$3 = $n($as_sc_IterableOnceOps($n(terminator).map__F1__O(new $c_sjsr_AnonFunction1(((x$4$2) => {
35943
+ var x$4 = $uB(x$4$2);
35944
+ return (255 & x$4)
35694
35945
  })))));
35695
35946
  var termStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$3, "", ", ", "");
35696
35947
  var this$4 = $n(args);
@@ -35710,33 +35961,102 @@ $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.dataTypeName__Lio_kaitai_s
35710
35961
  };
35711
35962
  var this$8 = $n(args);
35712
35963
  return $f_sc_IterableOnceOps__mkString__T__T__T__T(this$8, "", ", ", "")
35964
+ } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BytesLimitType)) {
35965
+ var x6 = $as_Lio_kaitai_struct_datatype_DataType$BytesLimitType(dataType);
35966
+ var this$9 = $n(this.io$kaitai$struct$GraphvizClassCompiler$$fixedBytes__Lio_kaitai_struct_datatype_DataType$BytesLimitType__s_Option__s_Option(x6, valid));
35967
+ return $as_T((this$9.isEmpty__Z() ? "" : this$9.get__O()))
35713
35968
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BytesType)) {
35714
35969
  return ""
35715
35970
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$StrFromBytesType)) {
35716
- var x7 = $as_Lio_kaitai_struct_datatype_DataType$StrFromBytesType(dataType);
35717
- var basedOn = $n(x7).Lio_kaitai_struct_datatype_DataType$StrFromBytesType__f_bytes;
35718
- var encoding = $n(x7).Lio_kaitai_struct_datatype_DataType$StrFromBytesType__f_encoding;
35719
- var bytesStr = this.dataTypeName__Lio_kaitai_struct_datatype_DataType__T(basedOn);
35720
- var this$9 = $n(bytesStr);
35721
- if ((this$9 === "")) {
35971
+ var x8 = $as_Lio_kaitai_struct_datatype_DataType$StrFromBytesType(dataType);
35972
+ var basedOn = $n(x8).Lio_kaitai_struct_datatype_DataType$StrFromBytesType__f_bytes;
35973
+ var encoding = $n(x8).Lio_kaitai_struct_datatype_DataType$StrFromBytesType__f_encoding;
35974
+ var bytesStr = this.dataTypeName__Lio_kaitai_struct_datatype_DataType__s_Option__T(basedOn, valid);
35975
+ var this$10 = $n(bytesStr);
35976
+ if ((this$10 === "")) {
35722
35977
  var comma = ""
35723
35978
  } else {
35724
35979
  var comma = ", "
35725
35980
  };
35726
35981
  return (((("str(" + bytesStr) + comma) + encoding) + ")")
35727
35982
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$EnumType)) {
35728
- var x9 = $as_Lio_kaitai_struct_datatype_DataType$EnumType(dataType);
35729
- var name = $n(x9).Lio_kaitai_struct_datatype_DataType$EnumType__f_name;
35730
- var basedOn$2 = $n(x9).Lio_kaitai_struct_datatype_DataType$EnumType__f_basedOn;
35731
- return ((this.dataTypeName__Lio_kaitai_struct_datatype_DataType__T(basedOn$2) + "\u2192") + this.type2display__sci_List__T(name))
35983
+ var x10 = $as_Lio_kaitai_struct_datatype_DataType$EnumType(dataType);
35984
+ var name = $n(x10).Lio_kaitai_struct_datatype_DataType$EnumType__f_name;
35985
+ var basedOn$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$EnumType__f_basedOn;
35986
+ return ((this.dataTypeName__Lio_kaitai_struct_datatype_DataType__s_Option__T(basedOn$2, valid) + "\u2192") + this.type2display__sci_List__T(name))
35732
35987
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BitsType)) {
35733
- var x10 = $as_Lio_kaitai_struct_datatype_DataType$BitsType(dataType);
35734
- var width = $n(x10).Lio_kaitai_struct_datatype_DataType$BitsType__f_width;
35735
- return ("b" + width)
35988
+ var x11 = $as_Lio_kaitai_struct_datatype_DataType$BitsType(dataType);
35989
+ var width = $n(x11).Lio_kaitai_struct_datatype_DataType$BitsType__f_width;
35990
+ var bitEndian = $n(x11).Lio_kaitai_struct_datatype_DataType$BitsType__f_bitEndian;
35991
+ return (("b" + width) + $n(bitEndian).toSuffix__T())
35992
+ } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$BitsType1)) {
35993
+ var x12 = $as_Lio_kaitai_struct_datatype_DataType$BitsType1(dataType);
35994
+ var bitEndian$2 = $n(x12).Lio_kaitai_struct_datatype_DataType$BitsType1__f_bitEndian;
35995
+ return (("b1" + $n(bitEndian$2).toSuffix__T()) + "\u2192bool")
35736
35996
  } else {
35737
35997
  return $n(dataType).toString__T()
35738
35998
  }
35739
35999
  });
36000
+ $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.io$kaitai$struct$GraphvizClassCompiler$$fixedBytes__Lio_kaitai_struct_datatype_DataType$BytesLimitType__s_Option__s_Option = (function(blt, valid) {
36001
+ var nonLocalReturnKey2 = $ct_O__(new $c_O());
36002
+ try {
36003
+ if ((valid instanceof $c_s_Some)) {
36004
+ var x2 = $as_s_Some(valid);
36005
+ var p3 = $as_Lio_kaitai_struct_format_ValidationSpec($n(x2).s_Some__f_value);
36006
+ if ((p3 instanceof $c_Lio_kaitai_struct_format_ValidationEq)) {
36007
+ var x4 = $as_Lio_kaitai_struct_format_ValidationEq(p3);
36008
+ var p5 = $n(x4).Lio_kaitai_struct_format_ValidationEq__f_value;
36009
+ if ((p5 instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$List)) {
36010
+ var x6 = $as_Lio_kaitai_struct_exprlang_Ast$expr$List(p5);
36011
+ var contents = $n(x6).Lio_kaitai_struct_exprlang_Ast$expr$List__f_elts;
36012
+ var x = $n(blt).Lio_kaitai_struct_datatype_DataType$BytesLimitType__f_size;
36013
+ var this$1 = $m_s_math_BigInt$();
36014
+ var i = $n(contents).length__I();
36015
+ var x$2 = new $c_Lio_kaitai_struct_exprlang_Ast$expr$IntNum(this$1.apply__I__s_math_BigInt(i));
36016
+ if (((x !== null) && $n(x).equals__O__Z(x$2))) {
36017
+ var this$11 = $n($as_sc_IterableOnceOps($n(contents).map__F1__O(new $c_sjsr_AnonFunction1(((x$5$2) => {
36018
+ var x$5 = $as_Lio_kaitai_struct_exprlang_Ast$expr(x$5$2);
36019
+ if ((x$5 instanceof $c_Lio_kaitai_struct_exprlang_Ast$expr$IntNum)) {
36020
+ var x2$1 = $as_Lio_kaitai_struct_exprlang_Ast$expr$IntNum(x$5);
36021
+ var byteVal = $n(x2$1).Lio_kaitai_struct_exprlang_Ast$expr$IntNum__f_n;
36022
+ var this$4 = $n(byteVal);
36023
+ var this$3 = $m_s_math_BigInt$();
36024
+ var that = this$3.apply__I__s_math_BigInt(0);
36025
+ if ($f_s_math_Ordered__$greater$eq__O__Z(this$4, that)) {
36026
+ var this$6 = $n(byteVal);
36027
+ var this$5 = $m_s_math_BigInt$();
36028
+ var that$1 = this$5.apply__I__s_math_BigInt(255);
36029
+ var $$x1 = $f_s_math_Ordered__$less$eq__O__Z(this$6, that$1)
36030
+ } else {
36031
+ var $$x1 = false
36032
+ };
36033
+ if ($$x1) {
36034
+ var $$x2 = $m_sc_StringOps$();
36035
+ var array = [byteVal];
36036
+ return $n($$x2).format$extension__T__sci_Seq__T("%02X", $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array))
36037
+ }
36038
+ };
36039
+ throw $ct_sr_NonLocalReturnControl__O__O__(new $c_sr_NonLocalReturnControl(), nonLocalReturnKey2, $m_s_None$())
36040
+ })))));
36041
+ return new $c_s_Some($f_sc_IterableOnceOps__mkString__T__T__T__T(this$11, "", " ", ""))
36042
+ }
36043
+ }
36044
+ }
36045
+ };
36046
+ return $m_s_None$()
36047
+ } catch (e) {
36048
+ if ((e instanceof $c_sr_NonLocalReturnControl)) {
36049
+ var ex = $as_sr_NonLocalReturnControl(e);
36050
+ if (($n(ex).sr_NonLocalReturnControl__f_key === nonLocalReturnKey2)) {
36051
+ return $as_s_Option($n(ex).value__O())
36052
+ } else {
36053
+ throw $n(ex)
36054
+ }
36055
+ } else {
36056
+ throw e
36057
+ }
36058
+ }
36059
+ });
35740
36060
  $c_Lio_kaitai_struct_GraphvizClassCompiler$.prototype.htmlEscape__T__T = (function(s) {
35741
36061
  return $f_T__replaceAll__T__T__T($n($f_T__replaceAll__T__T__T($n($f_T__replaceAll__T__T__T($n($f_T__replaceAll__T__T__T($n(s), "&", "&amp;")), "<", "&lt;")), ">", "&gt;")), "\"", "&quot;")
35742
36062
  });
@@ -35796,7 +36116,7 @@ $c_Lio_kaitai_struct_HtmlClassCompiler$.prototype.kaitaiType2NativeType__Lio_kai
35796
36116
  var name = $as_T($n($n(x2).Lio_kaitai_struct_datatype_DataType$UserType__f_name).last__O());
35797
36117
  return (((("<a href=\"#" + $$x1) + "\">") + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name)) + "</a>")
35798
36118
  } else {
35799
- return $m_Lio_kaitai_struct_GraphvizClassCompiler$().dataTypeName__Lio_kaitai_struct_datatype_DataType__T(attrType)
36119
+ return $m_Lio_kaitai_struct_GraphvizClassCompiler$().dataTypeName__Lio_kaitai_struct_datatype_DataType__s_Option__T(attrType, $m_s_None$())
35800
36120
  }
35801
36121
  });
35802
36122
  var $d_Lio_kaitai_struct_HtmlClassCompiler$ = new $TypeData().initClass({
@@ -37592,6 +37912,57 @@ function $m_Lio_kaitai_struct_format_ValidationExpr$() {
37592
37912
  return $n_Lio_kaitai_struct_format_ValidationExpr$
37593
37913
  }
37594
37914
  /** @constructor */
37915
+ function $c_Lio_kaitai_struct_format_ValidationInEnum$() {
37916
+ this.Lio_kaitai_struct_format_ValidationInEnum$__f_LEGAL_KEYS = null;
37917
+ $n_Lio_kaitai_struct_format_ValidationInEnum$ = this;
37918
+ var this$4 = $n($m_s_Predef$().s_Predef$__f_Set);
37919
+ var array = ["in-enum"];
37920
+ var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
37921
+ this.Lio_kaitai_struct_format_ValidationInEnum$__f_LEGAL_KEYS = this$4.from__sc_IterableOnce__sci_Set(elems)
37922
+ }
37923
+ $c_Lio_kaitai_struct_format_ValidationInEnum$.prototype = new $h_O();
37924
+ $c_Lio_kaitai_struct_format_ValidationInEnum$.prototype.constructor = $c_Lio_kaitai_struct_format_ValidationInEnum$;
37925
+ /** @constructor */
37926
+ function $h_Lio_kaitai_struct_format_ValidationInEnum$() {
37927
+ /*<skip>*/
37928
+ }
37929
+ $h_Lio_kaitai_struct_format_ValidationInEnum$.prototype = $c_Lio_kaitai_struct_format_ValidationInEnum$.prototype;
37930
+ $c_Lio_kaitai_struct_format_ValidationInEnum$.prototype.fromMap__sci_Map__sci_List__s_Option = (function(src, path) {
37931
+ var this$1 = $n($m_Lio_kaitai_struct_format_ParseUtils$().getOptValueBool__sci_Map__T__sci_List__s_Option(src, "in-enum", path));
37932
+ if (this$1.isEmpty__Z()) {
37933
+ return $m_s_None$()
37934
+ } else {
37935
+ var arg1 = this$1.get__O();
37936
+ var x0$1 = $uZ(arg1);
37937
+ $m_Lio_kaitai_struct_format_ParseUtils$().ensureLegalKeys__sci_Map__sci_Set__sci_List__s_Option__V(src, $m_Lio_kaitai_struct_format_ValidationInEnum$().Lio_kaitai_struct_format_ValidationInEnum$__f_LEGAL_KEYS, path, $m_s_None$());
37938
+ if ((!x0$1)) {
37939
+ var $$x1 = $m_Lio_kaitai_struct_problems_KSYParseError$();
37940
+ var this$7 = $n(path);
37941
+ $n($m_s_package$().s_package$__f_List);
37942
+ var array = ["in-enum"];
37943
+ var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
37944
+ var suffix = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems);
37945
+ throw $n($n($$x1).withText__T__sci_List__Lio_kaitai_struct_problems_CompilationProblemException("only `true` is supported as value, got `false` (if you don't want any validation, omit the `valid` key)", this$7.appendedAll__sc_IterableOnce__sci_List(suffix)))
37946
+ };
37947
+ return new $c_s_Some(new $c_Lio_kaitai_struct_format_ValidationInEnum())
37948
+ }
37949
+ });
37950
+ var $d_Lio_kaitai_struct_format_ValidationInEnum$ = new $TypeData().initClass({
37951
+ Lio_kaitai_struct_format_ValidationInEnum$: 0
37952
+ }, false, "io.kaitai.struct.format.ValidationInEnum$", {
37953
+ Lio_kaitai_struct_format_ValidationInEnum$: 1,
37954
+ O: 1,
37955
+ Ljava_io_Serializable: 1
37956
+ });
37957
+ $c_Lio_kaitai_struct_format_ValidationInEnum$.prototype.$classData = $d_Lio_kaitai_struct_format_ValidationInEnum$;
37958
+ var $n_Lio_kaitai_struct_format_ValidationInEnum$;
37959
+ function $m_Lio_kaitai_struct_format_ValidationInEnum$() {
37960
+ if ((!$n_Lio_kaitai_struct_format_ValidationInEnum$)) {
37961
+ $n_Lio_kaitai_struct_format_ValidationInEnum$ = new $c_Lio_kaitai_struct_format_ValidationInEnum$()
37962
+ };
37963
+ return $n_Lio_kaitai_struct_format_ValidationInEnum$
37964
+ }
37965
+ /** @constructor */
37595
37966
  function $c_Lio_kaitai_struct_format_ValidationRange$() {
37596
37967
  this.Lio_kaitai_struct_format_ValidationRange$__f_LEGAL_KEYS = null;
37597
37968
  $n_Lio_kaitai_struct_format_ValidationRange$ = this;
@@ -37881,25 +38252,34 @@ function $f_Lio_kaitai_struct_languages_components_ValidateOps__attrValidate__Li
37881
38252
  var array = [itemValue, $$x3, new $c_Lio_kaitai_struct_exprlang_Ast$expr$Str($f_sc_IterableOnceOps__mkString__T__T__T__T(this$3, "/", "/", ""))];
37882
38253
  var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
37883
38254
  $thiz.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V(attrId, $$x5, bigOrExpr, $$x4, $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems))
38255
+ } else if ((valid instanceof $c_Lio_kaitai_struct_format_ValidationInEnum)) {
38256
+ var $$x8 = $as_Lio_kaitai_struct_datatype_DataType$EnumType($n(attr).dataType__Lio_kaitai_struct_datatype_DataType());
38257
+ var $$x7 = new $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError($n(attr).dataType__Lio_kaitai_struct_datatype_DataType());
38258
+ $n($m_s_package$().s_package$__f_List);
38259
+ var $$x6 = new $c_Lio_kaitai_struct_exprlang_Ast$expr$InternalName($m_Lio_kaitai_struct_format_IoIdentifier$());
38260
+ var this$8 = $n($n(attr).path__sci_List());
38261
+ var array$1 = [itemValue, $$x6, new $c_Lio_kaitai_struct_exprlang_Ast$expr$Str($f_sc_IterableOnceOps__mkString__T__T__T__T(this$8, "/", "/", ""))];
38262
+ var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
38263
+ $thiz.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V(attrId, $$x8, itemValue, $$x7, $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1))
37884
38264
  } else if ((valid instanceof $c_Lio_kaitai_struct_format_ValidationExpr)) {
37885
- var x7 = $as_Lio_kaitai_struct_format_ValidationExpr(valid);
37886
- var expr = $n(x7).Lio_kaitai_struct_format_ValidationExpr__f_checkExpr;
38265
+ var x8 = $as_Lio_kaitai_struct_format_ValidationExpr(valid);
38266
+ var expr = $n(x8).Lio_kaitai_struct_format_ValidationExpr__f_checkExpr;
37887
38267
  $thiz.blockScopeHeader__V();
37888
38268
  $n($thiz.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f__currentIteratorType = new $c_s_Some($n(attr).dataType__Lio_kaitai_struct_datatype_DataType());
37889
- var $$x7 = $n(attr).dataType__Lio_kaitai_struct_datatype_DataType();
37890
- var this$8 = $n($thiz.translator__Lio_kaitai_struct_translators_AbstractTranslator());
37891
- var v = new $c_Lio_kaitai_struct_exprlang_Ast$expr$Name(new $c_Lio_kaitai_struct_exprlang_Ast$identifier($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_ITERATOR));
37892
- var $$x6 = this$8.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0);
37893
- var this$9 = $n($thiz.translator__Lio_kaitai_struct_translators_AbstractTranslator());
37894
- $thiz.handleAssignmentTempVar__Lio_kaitai_struct_datatype_DataType__T__T__V($$x7, $$x6, this$9.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(itemValue, 0));
37895
38269
  var $$x10 = $n(attr).dataType__Lio_kaitai_struct_datatype_DataType();
37896
- var $$x9 = new $c_Lio_kaitai_struct_datatype_ValidationExprError($n(attr).dataType__Lio_kaitai_struct_datatype_DataType());
38270
+ var this$13 = $n($thiz.translator__Lio_kaitai_struct_translators_AbstractTranslator());
38271
+ var v = new $c_Lio_kaitai_struct_exprlang_Ast$expr$Name(new $c_Lio_kaitai_struct_exprlang_Ast$identifier($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_ITERATOR));
38272
+ var $$x9 = this$13.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0);
38273
+ var this$14 = $n($thiz.translator__Lio_kaitai_struct_translators_AbstractTranslator());
38274
+ $thiz.handleAssignmentTempVar__Lio_kaitai_struct_datatype_DataType__T__T__V($$x10, $$x9, this$14.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(itemValue, 0));
38275
+ var $$x13 = $n(attr).dataType__Lio_kaitai_struct_datatype_DataType();
38276
+ var $$x12 = new $c_Lio_kaitai_struct_datatype_ValidationExprError($n(attr).dataType__Lio_kaitai_struct_datatype_DataType());
37897
38277
  $n($m_s_package$().s_package$__f_List);
37898
- var $$x8 = new $c_Lio_kaitai_struct_exprlang_Ast$expr$InternalName($m_Lio_kaitai_struct_format_IoIdentifier$());
37899
- var this$10 = $n($n(attr).path__sci_List());
37900
- var array$1 = [itemValue, $$x8, new $c_Lio_kaitai_struct_exprlang_Ast$expr$Str($f_sc_IterableOnceOps__mkString__T__T__T__T(this$10, "/", "/", ""))];
37901
- var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
37902
- $thiz.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V(attrId, $$x10, expr, $$x9, $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1));
38278
+ var $$x11 = new $c_Lio_kaitai_struct_exprlang_Ast$expr$InternalName($m_Lio_kaitai_struct_format_IoIdentifier$());
38279
+ var this$15 = $n($n(attr).path__sci_List());
38280
+ var array$2 = [itemValue, $$x11, new $c_Lio_kaitai_struct_exprlang_Ast$expr$Str($f_sc_IterableOnceOps__mkString__T__T__T__T(this$15, "/", "/", ""))];
38281
+ var elems$2 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$2);
38282
+ $thiz.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V(attrId, $$x13, expr, $$x12, $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$2));
37903
38283
  $thiz.blockScopeFooter__V()
37904
38284
  } else {
37905
38285
  throw new $c_s_MatchError(valid)
@@ -40223,6 +40603,13 @@ $c_jl_Integer$.prototype.bitCount__I__I = (function(i) {
40223
40603
  var t2 = (((858993459 & t1) + (858993459 & (t1 >> 2))) | 0);
40224
40604
  return (Math.imul(16843009, (252645135 & ((t2 + (t2 >> 4)) | 0))) >> 24)
40225
40605
  });
40606
+ $c_jl_Integer$.prototype.reverseBytes__I__I = (function(i) {
40607
+ var byte3 = ((i >>> 24) | 0);
40608
+ var byte2 = (65280 & ((i >>> 8) | 0));
40609
+ var byte1 = (16711680 & (i << 8));
40610
+ var byte0 = (i << 24);
40611
+ return (((byte0 | byte1) | byte2) | byte3)
40612
+ });
40226
40613
  var $d_jl_Integer$ = new $TypeData().initClass({
40227
40614
  jl_Integer$: 0
40228
40615
  }, false, "java.lang.Integer$", {
@@ -42703,6 +43090,152 @@ function $f_scm_Growable__addAll__sc_IterableOnce__scm_Growable($thiz, xs) {
42703
43090
  };
42704
43091
  return $thiz
42705
43092
  }
43093
+ function $f_scm_HashTable__tableSizeSeed__I($thiz) {
43094
+ var i = (((-1) + $n($thiz.scm_LinkedHashSet$$anon$1__f_table).u.length) | 0);
43095
+ return $m_jl_Integer$().bitCount__I__I(i)
43096
+ }
43097
+ function $f_scm_HashTable__findEntry__O__scm_HashEntry($thiz, key) {
43098
+ var hcode = $m_sr_Statics$().anyHash__O__I(key);
43099
+ var h = $f_scm_HashTable__index__I__I($thiz, hcode);
43100
+ return $f_scm_HashTable__findEntry0__O__I__scm_HashEntry($thiz, key, h)
43101
+ }
43102
+ function $f_scm_HashTable__findEntry0__O__I__scm_HashEntry($thiz, key, h) {
43103
+ var e = $n($thiz.scm_LinkedHashSet$$anon$1__f_table).get(h);
43104
+ while (true) {
43105
+ if ((e !== null)) {
43106
+ var key1 = $n(e).scm_LinkedHashSet$Entry__f_key;
43107
+ var $$x1 = (!$m_sr_BoxesRunTime$().equals__O__O__Z(key1, key))
43108
+ } else {
43109
+ var $$x1 = false
43110
+ };
43111
+ if ($$x1) {
43112
+ var this$1 = $n(e);
43113
+ e = this$1.scm_LinkedHashSet$Entry__f_next
43114
+ } else {
43115
+ break
43116
+ }
43117
+ };
43118
+ return e
43119
+ }
43120
+ function $f_scm_HashTable__addEntry0__scm_HashEntry__I__V($thiz, e, h) {
43121
+ var this$1 = $n(e);
43122
+ var x$1 = $n($thiz.scm_LinkedHashSet$$anon$1__f_table).get(h);
43123
+ this$1.scm_LinkedHashSet$Entry__f_next = $as_scm_LinkedHashSet$Entry(x$1);
43124
+ $n($thiz.scm_LinkedHashSet$$anon$1__f_table).set(h, e);
43125
+ $thiz.scm_LinkedHashSet$$anon$1__f_tableSize = ((1 + $thiz.scm_LinkedHashSet$$anon$1__f_tableSize) | 0);
43126
+ $f_scm_HashTable__nnSizeMapAdd__I__V($thiz, h);
43127
+ if (($thiz.scm_LinkedHashSet$$anon$1__f_tableSize > $thiz.scm_LinkedHashSet$$anon$1__f_threshold)) {
43128
+ $p_scm_HashTable__resize__I__V($thiz, ($n($thiz.scm_LinkedHashSet$$anon$1__f_table).u.length << 1))
43129
+ }
43130
+ }
43131
+ function $f_scm_HashTable__findOrAddEntry__O__O__scm_HashEntry($thiz, key, value) {
43132
+ var hcode = $m_sr_Statics$().anyHash__O__I(key);
43133
+ var h = $f_scm_HashTable__index__I__I($thiz, hcode);
43134
+ var e = $f_scm_HashTable__findEntry0__O__I__scm_HashEntry($thiz, key, h);
43135
+ if ((e !== null)) {
43136
+ return e
43137
+ } else {
43138
+ var e$1 = $thiz.createNewEntry__O__O__scm_LinkedHashSet$Entry(key, value);
43139
+ $f_scm_HashTable__addEntry0__scm_HashEntry__I__V($thiz, e$1, h);
43140
+ return null
43141
+ }
43142
+ }
43143
+ function $p_scm_HashTable__resize__I__V($thiz, newSize) {
43144
+ var oldTable = $thiz.scm_LinkedHashSet$$anon$1__f_table;
43145
+ $thiz.scm_LinkedHashSet$$anon$1__f_table = new ($d_scm_HashEntry.getArrayOf().constr)(newSize);
43146
+ var tableLength = $n($thiz.scm_LinkedHashSet$$anon$1__f_table).u.length;
43147
+ $f_scm_HashTable__nnSizeMapReset__I__V($thiz, tableLength);
43148
+ var i = (((-1) + $n(oldTable).u.length) | 0);
43149
+ while ((i >= 0)) {
43150
+ var e = $n(oldTable).get(i);
43151
+ while ((e !== null)) {
43152
+ var key = $n(e).scm_LinkedHashSet$Entry__f_key;
43153
+ var hcode = $m_sr_Statics$().anyHash__O__I(key);
43154
+ var h = $f_scm_HashTable__index__I__I($thiz, hcode);
43155
+ var this$1 = $n(e);
43156
+ var e1 = this$1.scm_LinkedHashSet$Entry__f_next;
43157
+ var this$2 = $n(e);
43158
+ var x$1 = $n($thiz.scm_LinkedHashSet$$anon$1__f_table).get(h);
43159
+ this$2.scm_LinkedHashSet$Entry__f_next = $as_scm_LinkedHashSet$Entry(x$1);
43160
+ $n($thiz.scm_LinkedHashSet$$anon$1__f_table).set(h, e);
43161
+ e = e1;
43162
+ $f_scm_HashTable__nnSizeMapAdd__I__V($thiz, h)
43163
+ };
43164
+ i = (((-1) + i) | 0)
43165
+ };
43166
+ $thiz.scm_LinkedHashSet$$anon$1__f_threshold = $m_scm_HashTable$().newThreshold__I__I__I($thiz.scm_LinkedHashSet$$anon$1__f__loadFactor, newSize)
43167
+ }
43168
+ function $f_scm_HashTable__nnSizeMapAdd__I__V($thiz, h) {
43169
+ if (($thiz.scm_LinkedHashSet$$anon$1__f_sizemap !== null)) {
43170
+ var ev$1 = $thiz.scm_LinkedHashSet$$anon$1__f_sizemap;
43171
+ var ev$2 = (h >> 5);
43172
+ $n(ev$1).set(ev$2, ((1 + $n(ev$1).get(ev$2)) | 0))
43173
+ }
43174
+ }
43175
+ function $f_scm_HashTable__nnSizeMapReset__I__V($thiz, tableLength) {
43176
+ if (($thiz.scm_LinkedHashSet$$anon$1__f_sizemap !== null)) {
43177
+ var nsize = $f_scm_HashTable__calcSizeMapSize__I__I($thiz, tableLength);
43178
+ if (($n($thiz.scm_LinkedHashSet$$anon$1__f_sizemap).u.length !== nsize)) {
43179
+ $thiz.scm_LinkedHashSet$$anon$1__f_sizemap = new $ac_I(nsize)
43180
+ } else {
43181
+ var a = $thiz.scm_LinkedHashSet$$anon$1__f_sizemap;
43182
+ $m_ju_Arrays$().fill__AI__I__V(a, 0)
43183
+ }
43184
+ }
43185
+ }
43186
+ function $f_scm_HashTable__calcSizeMapSize__I__I($thiz, tableLength) {
43187
+ return ((1 + (tableLength >> 5)) | 0)
43188
+ }
43189
+ function $f_scm_HashTable__index__I__I($thiz, hcode) {
43190
+ var ones = (((-1) + $n($thiz.scm_LinkedHashSet$$anon$1__f_table).u.length) | 0);
43191
+ var exponent = $uI(Math.clz32(ones));
43192
+ var seed = $thiz.scm_LinkedHashSet$$anon$1__f_seedvalue;
43193
+ return ((($f_scm_HashTable$HashUtils__improve__I__I__I($thiz, hcode, seed) >>> exponent) | 0) & ones)
43194
+ }
43195
+ function $f_scm_HashTable__$init$__V($thiz) {
43196
+ $thiz.scm_LinkedHashSet$$anon$1__f__loadFactor = 750;
43197
+ var this$1 = $m_scm_HashTable$();
43198
+ $thiz.scm_LinkedHashSet$$anon$1__f_table = new ($d_scm_HashEntry.getArrayOf().constr)(this$1.nextPositivePowerOfTwo__I__I(16));
43199
+ $thiz.scm_LinkedHashSet$$anon$1__f_tableSize = 0;
43200
+ var _loadFactor = $thiz.scm_LinkedHashSet$$anon$1__f__loadFactor;
43201
+ var $$x1 = $m_scm_HashTable$();
43202
+ var this$2 = $m_scm_HashTable$();
43203
+ $thiz.scm_LinkedHashSet$$anon$1__f_threshold = $n($$x1).newThreshold__I__I__I(_loadFactor, this$2.nextPositivePowerOfTwo__I__I(16));
43204
+ $thiz.scm_LinkedHashSet$$anon$1__f_sizemap = null;
43205
+ $thiz.scm_LinkedHashSet$$anon$1__f_seedvalue = $f_scm_HashTable__tableSizeSeed__I($thiz)
43206
+ }
43207
+ /** @constructor */
43208
+ function $c_scm_LinkedHashSet$Entry(key) {
43209
+ this.scm_LinkedHashSet$Entry__f_key = null;
43210
+ this.scm_LinkedHashSet$Entry__f_later = null;
43211
+ this.scm_LinkedHashSet$Entry__f_next = null;
43212
+ this.scm_LinkedHashSet$Entry__f_key = key;
43213
+ this.scm_LinkedHashSet$Entry__f_later = null
43214
+ }
43215
+ $c_scm_LinkedHashSet$Entry.prototype = new $h_O();
43216
+ $c_scm_LinkedHashSet$Entry.prototype.constructor = $c_scm_LinkedHashSet$Entry;
43217
+ /** @constructor */
43218
+ function $h_scm_LinkedHashSet$Entry() {
43219
+ /*<skip>*/
43220
+ }
43221
+ $h_scm_LinkedHashSet$Entry.prototype = $c_scm_LinkedHashSet$Entry.prototype;
43222
+ function $as_scm_LinkedHashSet$Entry(obj) {
43223
+ return (((obj instanceof $c_scm_LinkedHashSet$Entry) || (obj === null)) ? obj : $throwClassCastException(obj, "scala.collection.mutable.LinkedHashSet$Entry"))
43224
+ }
43225
+ function $isArrayOf_scm_LinkedHashSet$Entry(obj, depth) {
43226
+ return (!(!(((obj && obj.$classData) && (obj.$classData.arrayDepth === depth)) && obj.$classData.arrayBase.ancestors.scm_LinkedHashSet$Entry)))
43227
+ }
43228
+ function $asArrayOf_scm_LinkedHashSet$Entry(obj, depth) {
43229
+ return (($isArrayOf_scm_LinkedHashSet$Entry(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lscala.collection.mutable.LinkedHashSet$Entry;", depth))
43230
+ }
43231
+ var $d_scm_LinkedHashSet$Entry = new $TypeData().initClass({
43232
+ scm_LinkedHashSet$Entry: 0
43233
+ }, false, "scala.collection.mutable.LinkedHashSet$Entry", {
43234
+ scm_LinkedHashSet$Entry: 1,
43235
+ O: 1,
43236
+ scm_HashEntry: 1
43237
+ });
43238
+ $c_scm_LinkedHashSet$Entry.prototype.$classData = $d_scm_LinkedHashSet$Entry;
42706
43239
  function $f_s_concurrent_BatchingExecutor__submitSyncBatched__jl_Runnable__V($thiz, runnable) {
42707
43240
  if ((runnable === null)) {
42708
43241
  throw $ct_jl_NullPointerException__T__(new $c_jl_NullPointerException(), "runnable is null")
@@ -44940,7 +45473,7 @@ $c_s_Predef$.prototype.require__Z__V = (function(requirement) {
44940
45473
  }
44941
45474
  });
44942
45475
  $c_s_Predef$.prototype.$qmark$qmark$qmark__E = (function() {
44943
- throw new $c_s_NotImplementedError()
45476
+ throw $ct_s_NotImplementedError__(new $c_s_NotImplementedError())
44944
45477
  });
44945
45478
  var $d_s_Predef$ = new $TypeData().initClass({
44946
45479
  s_Predef$: 0
@@ -48746,6 +49279,97 @@ function $m_scm_HashSet$() {
48746
49279
  return $n_scm_HashSet$
48747
49280
  }
48748
49281
  /** @constructor */
49282
+ function $c_scm_LinkedHashSet$() {
49283
+ /*<skip>*/
49284
+ }
49285
+ $c_scm_LinkedHashSet$.prototype = new $h_O();
49286
+ $c_scm_LinkedHashSet$.prototype.constructor = $c_scm_LinkedHashSet$;
49287
+ /** @constructor */
49288
+ function $h_scm_LinkedHashSet$() {
49289
+ /*<skip>*/
49290
+ }
49291
+ $h_scm_LinkedHashSet$.prototype = $c_scm_LinkedHashSet$.prototype;
49292
+ $c_scm_LinkedHashSet$.prototype.apply__sci_Seq__O = (function(elems) {
49293
+ return this.from__sc_IterableOnce__scm_LinkedHashSet(elems)
49294
+ });
49295
+ $c_scm_LinkedHashSet$.prototype.from__sc_IterableOnce__scm_LinkedHashSet = (function(it) {
49296
+ if ((it instanceof $c_scm_LinkedHashSet)) {
49297
+ var x2 = $as_scm_LinkedHashSet(it);
49298
+ return x2
49299
+ } else {
49300
+ var empty = new $c_scm_LinkedHashSet();
49301
+ return $as_scm_LinkedHashSet($f_scm_Growable__addAll__sc_IterableOnce__scm_Growable(empty, it))
49302
+ }
49303
+ });
49304
+ $c_scm_LinkedHashSet$.prototype.newBuilder__scm_Builder = (function() {
49305
+ return $ct_scm_GrowableBuilder__scm_Growable__(new $c_scm_GrowableBuilder(), new $c_scm_LinkedHashSet())
49306
+ });
49307
+ $c_scm_LinkedHashSet$.prototype.from__sc_IterableOnce__O = (function(source) {
49308
+ return this.from__sc_IterableOnce__scm_LinkedHashSet(source)
49309
+ });
49310
+ $c_scm_LinkedHashSet$.prototype.empty__O = (function() {
49311
+ return new $c_scm_LinkedHashSet()
49312
+ });
49313
+ var $d_scm_LinkedHashSet$ = new $TypeData().initClass({
49314
+ scm_LinkedHashSet$: 0
49315
+ }, false, "scala.collection.mutable.LinkedHashSet$", {
49316
+ scm_LinkedHashSet$: 1,
49317
+ O: 1,
49318
+ sc_IterableFactory: 1,
49319
+ Ljava_io_Serializable: 1
49320
+ });
49321
+ $c_scm_LinkedHashSet$.prototype.$classData = $d_scm_LinkedHashSet$;
49322
+ var $n_scm_LinkedHashSet$;
49323
+ function $m_scm_LinkedHashSet$() {
49324
+ if ((!$n_scm_LinkedHashSet$)) {
49325
+ $n_scm_LinkedHashSet$ = new $c_scm_LinkedHashSet$()
49326
+ };
49327
+ return $n_scm_LinkedHashSet$
49328
+ }
49329
+ /** @constructor */
49330
+ function $c_scm_LinkedHashSet$$anon$1(outer) {
49331
+ this.scm_LinkedHashSet$$anon$1__f__loadFactor = 0;
49332
+ this.scm_LinkedHashSet$$anon$1__f_table = null;
49333
+ this.scm_LinkedHashSet$$anon$1__f_tableSize = 0;
49334
+ this.scm_LinkedHashSet$$anon$1__f_threshold = 0;
49335
+ this.scm_LinkedHashSet$$anon$1__f_sizemap = null;
49336
+ this.scm_LinkedHashSet$$anon$1__f_seedvalue = 0;
49337
+ this.scm_LinkedHashSet$$anon$1__f_$outer = null;
49338
+ if ((outer === null)) {
49339
+ $n(null)
49340
+ } else {
49341
+ this.scm_LinkedHashSet$$anon$1__f_$outer = outer
49342
+ };
49343
+ $f_scm_HashTable__$init$__V(this)
49344
+ }
49345
+ $c_scm_LinkedHashSet$$anon$1.prototype = new $h_O();
49346
+ $c_scm_LinkedHashSet$$anon$1.prototype.constructor = $c_scm_LinkedHashSet$$anon$1;
49347
+ /** @constructor */
49348
+ function $h_scm_LinkedHashSet$$anon$1() {
49349
+ /*<skip>*/
49350
+ }
49351
+ $h_scm_LinkedHashSet$$anon$1.prototype = $c_scm_LinkedHashSet$$anon$1.prototype;
49352
+ $c_scm_LinkedHashSet$$anon$1.prototype.createNewEntry__O__O__scm_LinkedHashSet$Entry = (function(key, value) {
49353
+ var e = new $c_scm_LinkedHashSet$Entry(key);
49354
+ if (($n(this.scm_LinkedHashSet$$anon$1__f_$outer).scm_LinkedHashSet__f_firstEntry === null)) {
49355
+ $n(this.scm_LinkedHashSet$$anon$1__f_$outer).scm_LinkedHashSet__f_firstEntry = e
49356
+ } else {
49357
+ $n($n(this.scm_LinkedHashSet$$anon$1__f_$outer).scm_LinkedHashSet__f_lastEntry).scm_LinkedHashSet$Entry__f_later = e;
49358
+ $n(this.scm_LinkedHashSet$$anon$1__f_$outer)
49359
+ };
49360
+ $n(this.scm_LinkedHashSet$$anon$1__f_$outer).scm_LinkedHashSet__f_lastEntry = e;
49361
+ return e
49362
+ });
49363
+ var $d_scm_LinkedHashSet$$anon$1 = new $TypeData().initClass({
49364
+ scm_LinkedHashSet$$anon$1: 0
49365
+ }, false, "scala.collection.mutable.LinkedHashSet$$anon$1", {
49366
+ scm_LinkedHashSet$$anon$1: 1,
49367
+ O: 1,
49368
+ scm_HashTable: 1,
49369
+ scm_HashTable$HashUtils: 1
49370
+ });
49371
+ $c_scm_LinkedHashSet$$anon$1.prototype.$classData = $d_scm_LinkedHashSet$$anon$1;
49372
+ /** @constructor */
48749
49373
  function $c_s_concurrent_BatchingExecutor$SyncBatch(outer, runnable) {
48750
49374
  this.s_concurrent_BatchingExecutor$AbstractBatch__f_first = null;
48751
49375
  this.s_concurrent_BatchingExecutor$AbstractBatch__f_other = null;
@@ -54709,11 +55333,15 @@ function $h_s_$eq$colon$eq() {
54709
55333
  /*<skip>*/
54710
55334
  }
54711
55335
  $h_s_$eq$colon$eq.prototype = $c_s_$eq$colon$eq.prototype;
55336
+ function $ct_s_NotImplementedError__T__($thiz, msg) {
55337
+ $ct_jl_Throwable__T__jl_Throwable__Z__Z__($thiz, msg, null, true, true);
55338
+ return $thiz
55339
+ }
55340
+ function $ct_s_NotImplementedError__($thiz) {
55341
+ $ct_jl_Throwable__T__jl_Throwable__Z__Z__($thiz, "an implementation is missing", null, true, true);
55342
+ return $thiz
55343
+ }
54712
55344
  class $c_s_NotImplementedError extends $c_jl_Error {
54713
- constructor() {
54714
- super();
54715
- $ct_jl_Throwable__T__jl_Throwable__Z__Z__(this, "an implementation is missing", null, true, true)
54716
- };
54717
55345
  }
54718
55346
  var $d_s_NotImplementedError = new $TypeData().initClass({
54719
55347
  s_NotImplementedError: 0
@@ -62365,6 +62993,59 @@ var $d_Lio_kaitai_struct_format_ValidationExpr = new $TypeData().initClass({
62365
62993
  });
62366
62994
  $c_Lio_kaitai_struct_format_ValidationExpr.prototype.$classData = $d_Lio_kaitai_struct_format_ValidationExpr;
62367
62995
  /** @constructor */
62996
+ function $c_Lio_kaitai_struct_format_ValidationInEnum() {
62997
+ /*<skip>*/
62998
+ }
62999
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype = new $h_O();
63000
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.constructor = $c_Lio_kaitai_struct_format_ValidationInEnum;
63001
+ /** @constructor */
63002
+ function $h_Lio_kaitai_struct_format_ValidationInEnum() {
63003
+ /*<skip>*/
63004
+ }
63005
+ $h_Lio_kaitai_struct_format_ValidationInEnum.prototype = $c_Lio_kaitai_struct_format_ValidationInEnum.prototype;
63006
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.productPrefix__T = (function() {
63007
+ return "ValidationInEnum"
63008
+ });
63009
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.productArity__I = (function() {
63010
+ return 0
63011
+ });
63012
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.productElement__I__O = (function(x$1) {
63013
+ return $m_sr_Statics$().ioobe__I__O(x$1)
63014
+ });
63015
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.productIterator__sc_Iterator = (function() {
63016
+ return new $c_sr_ScalaRunTime$$anon$1(this)
63017
+ });
63018
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.hashCode__I = (function() {
63019
+ var this$2 = $m_s_util_hashing_MurmurHash3$();
63020
+ return this$2.productHash__s_Product__I__Z__I(this, (-889275714), false)
63021
+ });
63022
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.toString__T = (function() {
63023
+ return $m_sr_ScalaRunTime$()._toString__s_Product__T(this)
63024
+ });
63025
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.equals__O__Z = (function(x$1) {
63026
+ return ((x$1 instanceof $c_Lio_kaitai_struct_format_ValidationInEnum) && ($n($as_Lio_kaitai_struct_format_ValidationInEnum(x$1)), true))
63027
+ });
63028
+ function $as_Lio_kaitai_struct_format_ValidationInEnum(obj) {
63029
+ return (((obj instanceof $c_Lio_kaitai_struct_format_ValidationInEnum) || (obj === null)) ? obj : $throwClassCastException(obj, "io.kaitai.struct.format.ValidationInEnum"))
63030
+ }
63031
+ function $isArrayOf_Lio_kaitai_struct_format_ValidationInEnum(obj, depth) {
63032
+ return (!(!(((obj && obj.$classData) && (obj.$classData.arrayDepth === depth)) && obj.$classData.arrayBase.ancestors.Lio_kaitai_struct_format_ValidationInEnum)))
63033
+ }
63034
+ function $asArrayOf_Lio_kaitai_struct_format_ValidationInEnum(obj, depth) {
63035
+ return (($isArrayOf_Lio_kaitai_struct_format_ValidationInEnum(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lio.kaitai.struct.format.ValidationInEnum;", depth))
63036
+ }
63037
+ var $d_Lio_kaitai_struct_format_ValidationInEnum = new $TypeData().initClass({
63038
+ Lio_kaitai_struct_format_ValidationInEnum: 0
63039
+ }, false, "io.kaitai.struct.format.ValidationInEnum", {
63040
+ Lio_kaitai_struct_format_ValidationInEnum: 1,
63041
+ O: 1,
63042
+ Lio_kaitai_struct_format_ValidationSpec: 1,
63043
+ s_Product: 1,
63044
+ s_Equals: 1,
63045
+ Ljava_io_Serializable: 1
63046
+ });
63047
+ $c_Lio_kaitai_struct_format_ValidationInEnum.prototype.$classData = $d_Lio_kaitai_struct_format_ValidationInEnum;
63048
+ /** @constructor */
62368
63049
  function $c_Lio_kaitai_struct_format_ValidationMax(max) {
62369
63050
  this.Lio_kaitai_struct_format_ValidationMax__f_max = null;
62370
63051
  this.Lio_kaitai_struct_format_ValidationMax__f_max = max
@@ -64498,6 +65179,9 @@ $c_Lio_kaitai_struct_languages_components_LanguageCompiler.prototype.extraRawAtt
64498
65179
  $c_Lio_kaitai_struct_languages_components_LanguageCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
64499
65180
  /*<skip>*/
64500
65181
  });
65182
+ $c_Lio_kaitai_struct_languages_components_LanguageCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
65183
+ /*<skip>*/
65184
+ });
64501
65185
  $c_Lio_kaitai_struct_languages_components_LanguageCompiler.prototype.switchCaseFirstStart__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(condition) {
64502
65186
  this.switchCaseStart__Lio_kaitai_struct_exprlang_Ast$expr__V(condition)
64503
65187
  });
@@ -71732,6 +72416,41 @@ function $m_scm_IndexedSeq$() {
71732
72416
  return $n_scm_IndexedSeq$
71733
72417
  }
71734
72418
  /** @constructor */
72419
+ function $c_scm_LinkedHashSet$$anon$2(outer) {
72420
+ this.scm_LinkedHashSet$$anon$2__f_cur = null;
72421
+ this.scm_LinkedHashSet$$anon$2__f_cur = $n(outer).scm_LinkedHashSet__f_firstEntry
72422
+ }
72423
+ $c_scm_LinkedHashSet$$anon$2.prototype = new $h_sc_AbstractIterator();
72424
+ $c_scm_LinkedHashSet$$anon$2.prototype.constructor = $c_scm_LinkedHashSet$$anon$2;
72425
+ /** @constructor */
72426
+ function $h_scm_LinkedHashSet$$anon$2() {
72427
+ /*<skip>*/
72428
+ }
72429
+ $h_scm_LinkedHashSet$$anon$2.prototype = $c_scm_LinkedHashSet$$anon$2.prototype;
72430
+ $c_scm_LinkedHashSet$$anon$2.prototype.hasNext__Z = (function() {
72431
+ return (this.scm_LinkedHashSet$$anon$2__f_cur !== null)
72432
+ });
72433
+ $c_scm_LinkedHashSet$$anon$2.prototype.next__O = (function() {
72434
+ if (this.hasNext__Z()) {
72435
+ var res = $n(this.scm_LinkedHashSet$$anon$2__f_cur).scm_LinkedHashSet$Entry__f_key;
72436
+ this.scm_LinkedHashSet$$anon$2__f_cur = $n(this.scm_LinkedHashSet$$anon$2__f_cur).scm_LinkedHashSet$Entry__f_later;
72437
+ return res
72438
+ } else {
72439
+ return $n($m_sc_Iterator$().sc_Iterator$__f_scala$collection$Iterator$$_empty).next__O()
72440
+ }
72441
+ });
72442
+ var $d_scm_LinkedHashSet$$anon$2 = new $TypeData().initClass({
72443
+ scm_LinkedHashSet$$anon$2: 0
72444
+ }, false, "scala.collection.mutable.LinkedHashSet$$anon$2", {
72445
+ scm_LinkedHashSet$$anon$2: 1,
72446
+ sc_AbstractIterator: 1,
72447
+ O: 1,
72448
+ sc_Iterator: 1,
72449
+ sc_IterableOnce: 1,
72450
+ sc_IterableOnceOps: 1
72451
+ });
72452
+ $c_scm_LinkedHashSet$$anon$2.prototype.$classData = $d_scm_LinkedHashSet$$anon$2;
72453
+ /** @constructor */
71735
72454
  function $c_scm_ListBuffer$() {
71736
72455
  /*<skip>*/
71737
72456
  }
@@ -73475,6 +74194,79 @@ var $d_Lio_kaitai_struct_datatype_ValidationNotEqualError = new $TypeData().init
73475
74194
  });
73476
74195
  $c_Lio_kaitai_struct_datatype_ValidationNotEqualError.prototype.$classData = $d_Lio_kaitai_struct_datatype_ValidationNotEqualError;
73477
74196
  /** @constructor */
74197
+ function $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError(_dt) {
74198
+ this.Lio_kaitai_struct_datatype_ValidationError__f_dt = null;
74199
+ $ct_Lio_kaitai_struct_datatype_ValidationError__Lio_kaitai_struct_datatype_DataType__(this, _dt)
74200
+ }
74201
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype = new $h_Lio_kaitai_struct_datatype_ValidationError();
74202
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.constructor = $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError;
74203
+ /** @constructor */
74204
+ function $h_Lio_kaitai_struct_datatype_ValidationNotInEnumError() {
74205
+ /*<skip>*/
74206
+ }
74207
+ $h_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype = $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype;
74208
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.name__T = (function() {
74209
+ return "ValidationNotInEnumError"
74210
+ });
74211
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.productPrefix__T = (function() {
74212
+ return "ValidationNotInEnumError"
74213
+ });
74214
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.productArity__I = (function() {
74215
+ return 1
74216
+ });
74217
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.productElement__I__O = (function(x$1) {
74218
+ return ((x$1 === 0) ? this.Lio_kaitai_struct_datatype_ValidationError__f_dt : $m_sr_Statics$().ioobe__I__O(x$1))
74219
+ });
74220
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.productIterator__sc_Iterator = (function() {
74221
+ return new $c_sr_ScalaRunTime$$anon$1(this)
74222
+ });
74223
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.hashCode__I = (function() {
74224
+ var this$2 = $m_s_util_hashing_MurmurHash3$();
74225
+ return this$2.productHash__s_Product__I__Z__I(this, (-889275714), false)
74226
+ });
74227
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.toString__T = (function() {
74228
+ return $m_sr_ScalaRunTime$()._toString__s_Product__T(this)
74229
+ });
74230
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.equals__O__Z = (function(x$1) {
74231
+ if ((this === x$1)) {
74232
+ return true
74233
+ } else if ((x$1 instanceof $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError)) {
74234
+ var ValidationNotInEnumError$1 = $as_Lio_kaitai_struct_datatype_ValidationNotInEnumError(x$1);
74235
+ var x = this.Lio_kaitai_struct_datatype_ValidationError__f_dt;
74236
+ var this$1 = $n(ValidationNotInEnumError$1);
74237
+ var x$2 = this$1.Lio_kaitai_struct_datatype_ValidationError__f_dt;
74238
+ if (((x === null) ? (x$2 === null) : $n(x).equals__O__Z(x$2))) {
74239
+ $n(ValidationNotInEnumError$1);
74240
+ return true
74241
+ } else {
74242
+ return false
74243
+ }
74244
+ } else {
74245
+ return false
74246
+ }
74247
+ });
74248
+ function $as_Lio_kaitai_struct_datatype_ValidationNotInEnumError(obj) {
74249
+ return (((obj instanceof $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError) || (obj === null)) ? obj : $throwClassCastException(obj, "io.kaitai.struct.datatype.ValidationNotInEnumError"))
74250
+ }
74251
+ function $isArrayOf_Lio_kaitai_struct_datatype_ValidationNotInEnumError(obj, depth) {
74252
+ return (!(!(((obj && obj.$classData) && (obj.$classData.arrayDepth === depth)) && obj.$classData.arrayBase.ancestors.Lio_kaitai_struct_datatype_ValidationNotInEnumError)))
74253
+ }
74254
+ function $asArrayOf_Lio_kaitai_struct_datatype_ValidationNotInEnumError(obj, depth) {
74255
+ return (($isArrayOf_Lio_kaitai_struct_datatype_ValidationNotInEnumError(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lio.kaitai.struct.datatype.ValidationNotInEnumError;", depth))
74256
+ }
74257
+ var $d_Lio_kaitai_struct_datatype_ValidationNotInEnumError = new $TypeData().initClass({
74258
+ Lio_kaitai_struct_datatype_ValidationNotInEnumError: 0
74259
+ }, false, "io.kaitai.struct.datatype.ValidationNotInEnumError", {
74260
+ Lio_kaitai_struct_datatype_ValidationNotInEnumError: 1,
74261
+ Lio_kaitai_struct_datatype_ValidationError: 1,
74262
+ O: 1,
74263
+ Lio_kaitai_struct_datatype_KSError: 1,
74264
+ s_Product: 1,
74265
+ s_Equals: 1,
74266
+ Ljava_io_Serializable: 1
74267
+ });
74268
+ $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError.prototype.$classData = $d_Lio_kaitai_struct_datatype_ValidationNotInEnumError;
74269
+ /** @constructor */
73478
74270
  function $c_Lio_kaitai_struct_format_ClassSpec(fileName, path, isTopLevel, meta, doc, toStringExpr, params, seq, types, instances, enums) {
73479
74271
  this.Lio_kaitai_struct_format_ClassSpec__f_fileName = null;
73480
74272
  this.Lio_kaitai_struct_format_ClassSpec__f_path = null;
@@ -90261,6 +91053,39 @@ function $isArrayOf_sci_Set(obj, depth) {
90261
91053
  function $asArrayOf_sci_Set(obj, depth) {
90262
91054
  return (($isArrayOf_sci_Set(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lscala.collection.immutable.Set;", depth))
90263
91055
  }
91056
+ function $p_Lio_kaitai_struct_languages_CppCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
91057
+ var this$3 = $n(errArgs);
91058
+ var f = ((v$2) => {
91059
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
91060
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_translator);
91061
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
91062
+ });
91063
+ if ((this$3 === $m_sci_Nil$())) {
91064
+ var $$x1 = $m_sci_Nil$()
91065
+ } else {
91066
+ var arg1 = this$3.head__O();
91067
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
91068
+ var t = h;
91069
+ var rest = $as_sci_List(this$3.tail__O());
91070
+ while ((rest !== $m_sci_Nil$())) {
91071
+ var arg1$1 = $n(rest).head__O();
91072
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
91073
+ $n(t).sci_$colon$colon__f_next = nx;
91074
+ t = nx;
91075
+ rest = $as_sci_List($n(rest).tail__O())
91076
+ };
91077
+ var $$x1 = h
91078
+ };
91079
+ var this$4 = $n($$x1);
91080
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
91081
+ var this$5 = $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_importListSrc);
91082
+ this$5.addLocal__T__V("kaitai/exceptions.h");
91083
+ $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V((("if (" + failCondExpr) + ") {"));
91084
+ $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).inc__V();
91085
+ $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V((((("throw " + $thiz.ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
91086
+ $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).dec__V();
91087
+ $n($thiz.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V("}")
91088
+ }
90264
91089
  function $p_Lio_kaitai_struct_languages_CppCompiler__PrivateAccess$lzycompute$1__V($thiz) {
90265
91090
  if (($thiz.Lio_kaitai_struct_languages_CppCompiler__f_PrivateAccess$module === null)) {
90266
91091
  $thiz.Lio_kaitai_struct_languages_CppCompiler__f_PrivateAccess$module = new $c_Lio_kaitai_struct_languages_CppCompiler$PrivateAccess$($thiz)
@@ -91484,7 +92309,36 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.enumDeclaration__sci_List__
91484
92309
  throw new $c_s_MatchError(x1)
91485
92310
  };
91486
92311
  $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outHdr).dec__V();
91487
- $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outHdr).puts__T__V("};")
92312
+ $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outHdr).puts__T__V("};");
92313
+ if ($n($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_config).Lio_kaitai_struct_RuntimeConfig__f_cppConfig).Lio_kaitai_struct_CppRuntimeConfig__f_useListInitializers) {
92314
+ $n(this.Lio_kaitai_struct_languages_CppCompiler__f_importListHdr).addSystem__T__V("set");
92315
+ $n(this.Lio_kaitai_struct_languages_CppCompiler__f_importListHdr).addSystem__T__V("type_traits");
92316
+ $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outHdr).puts__T__V((((("static const std::set<std::underlying_type<" + enumClass) + ">::type> _values_") + enumClass) + ";"));
92317
+ var $$x8 = $m_Lio_kaitai_struct_languages_CppCompiler$();
92318
+ var this$16 = $n(curClass);
92319
+ $n($m_s_package$().s_package$__f_List);
92320
+ var array$1 = [enumName];
92321
+ var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
92322
+ var suffix = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1);
92323
+ var enumClassAbs = $n($$x8).types2class__sci_List__T(this$16.appendedAll__sc_IterableOnce__sci_List(suffix));
92324
+ var valuesSetAbsRef = (($m_Lio_kaitai_struct_languages_CppCompiler$().types2class__sci_List__T(curClass) + "::_values_") + enumClass);
92325
+ var this$19 = $n($as_sc_IterableOnceOps($n(enumColl).map__F1__O(new $c_sjsr_AnonFunction1(((x0$2$2) => {
92326
+ var x0$2 = $as_T2(x0$2$2);
92327
+ if ((x0$2 !== null)) {
92328
+ var this$17 = $n(x0$2);
92329
+ var t$2 = $uJ(this$17.T2__f__1);
92330
+ var lo$2 = t$2.RTLong__f_lo;
92331
+ var hi$2 = t$2.RTLong__f_hi;
92332
+ var $$x9 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
92333
+ var this$18 = $m_s_math_BigInt$();
92334
+ return $n($$x9).doIntLiteral__s_math_BigInt__T(this$18.apply__J__s_math_BigInt(new $c_RTLong(lo$2, hi$2)))
92335
+ } else {
92336
+ throw new $c_s_MatchError(x0$2)
92337
+ }
92338
+ })))));
92339
+ var setEntriesStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$19, "", ", ", "");
92340
+ $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V((((((("const std::set<std::underlying_type<" + enumClassAbs) + ">::type> ") + valuesSetAbsRef) + "{") + setEntriesStr) + "};"))
92341
+ }
91488
92342
  });
91489
92343
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.classToString__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(toStringExpr) {
91490
92344
  this.ensureMode__Lio_kaitai_struct_languages_CppCompiler$AccessMode__V(this.PublicAccess__Lio_kaitai_struct_languages_CppCompiler$PublicAccess$());
@@ -91615,6 +92469,8 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.ksErrorName__Lio_kaitai_str
91615
92469
  var cppErrName = "validation_greater_than_error"
91616
92470
  } else if ((x5 instanceof $c_Lio_kaitai_struct_datatype_ValidationNotAnyOfError)) {
91617
92471
  var cppErrName = "validation_not_any_of_error"
92472
+ } else if ((x5 instanceof $c_Lio_kaitai_struct_datatype_ValidationNotInEnumError)) {
92473
+ var cppErrName = "validation_not_in_enum_error"
91618
92474
  } else {
91619
92475
  if ((!(x5 instanceof $c_Lio_kaitai_struct_datatype_ValidationExprError))) {
91620
92476
  throw new $c_s_MatchError(x5)
@@ -91629,39 +92485,22 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.ksErrorName__Lio_kaitai_str
91629
92485
  }
91630
92486
  });
91631
92487
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
91632
- var this$3 = $n(errArgs);
91633
- var f = ((v$2) => {
91634
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
91635
- var this$2 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
91636
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
91637
- });
91638
- if ((this$3 === $m_sci_Nil$())) {
91639
- var $$x1 = $m_sci_Nil$()
91640
- } else {
91641
- var arg1 = this$3.head__O();
91642
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
91643
- var t = h;
91644
- var rest = $as_sci_List(this$3.tail__O());
91645
- while ((rest !== $m_sci_Nil$())) {
91646
- var arg1$1 = $n(rest).head__O();
91647
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
91648
- $n(t).sci_$colon$colon__f_next = nx;
91649
- t = nx;
91650
- rest = $as_sci_List($n(rest).tail__O())
91651
- };
91652
- var $$x1 = h
92488
+ var this$1 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
92489
+ $p_Lio_kaitai_struct_languages_CppCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
92490
+ });
92491
+ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
92492
+ if ((!$n($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_config).Lio_kaitai_struct_RuntimeConfig__f_cppConfig).Lio_kaitai_struct_CppRuntimeConfig__f_useListInitializers)) {
92493
+ throw $ct_s_NotImplementedError__T__(new $c_s_NotImplementedError(), "`valid/in-enum` is not yet implemented for C++98 (switch to C++11 or avoid this feature)")
91653
92494
  };
91654
- var this$4 = $n($$x1);
91655
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
91656
- var this$5 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_importListSrc);
91657
- this$5.addLocal__T__V("kaitai/exceptions.h");
91658
- var $$x2 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc);
91659
- var this$6 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
91660
- $n($$x2).puts__T__V((("if (!(" + this$6.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")) {"));
91661
- $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).inc__V();
91662
- $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V((((("throw " + this.ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
91663
- $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).dec__V();
91664
- $n(this.Lio_kaitai_struct_languages_CppCompiler__f_outSrc).puts__T__V("}")
92495
+ var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec($n($n(et).Lio_kaitai_struct_datatype_DataType$EnumType__f_enumSpec).get__O());
92496
+ var $$x1 = $m_Lio_kaitai_struct_languages_CppCompiler$();
92497
+ var this$1 = $n($n(enumSpec).Lio_kaitai_struct_format_EnumSpec__f_name);
92498
+ var inClassRef = $n($$x1).types2class__sci_List__T($as_sci_List($f_sc_StrictOptimizedIterableOps__dropRight__I__O(this$1, 1)));
92499
+ var className = $as_T($n($n(enumSpec).Lio_kaitai_struct_format_EnumSpec__f_name).last__O());
92500
+ var enumNameStr = $m_Lio_kaitai_struct_languages_CppCompiler$().type2class__T__T(className);
92501
+ var valuesSetRef = ((inClassRef + "::_values_") + enumNameStr);
92502
+ var this$2 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
92503
+ $p_Lio_kaitai_struct_languages_CppCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((((valuesSetRef + ".find(") + this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ") == ") + valuesSetRef) + ".end()"), err, errArgs)
91665
92504
  });
91666
92505
  $c_Lio_kaitai_struct_languages_CppCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
91667
92506
  return this.Lio_kaitai_struct_languages_CppCompiler__f_translator
@@ -92191,6 +93030,50 @@ function $p_Lio_kaitai_struct_languages_GoCompiler__handleCompositeTypeCast__Lio
92191
93030
  return r
92192
93031
  }
92193
93032
  }
93033
+ function $p_Lio_kaitai_struct_languages_GoCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
93034
+ var this$3 = $n(errArgs);
93035
+ var f = ((v$2) => {
93036
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
93037
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_translator);
93038
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
93039
+ });
93040
+ if ((this$3 === $m_sci_Nil$())) {
93041
+ var $$x1 = $m_sci_Nil$()
93042
+ } else {
93043
+ var arg1 = this$3.head__O();
93044
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
93045
+ var t = h;
93046
+ var rest = $as_sci_List(this$3.tail__O());
93047
+ while ((rest !== $m_sci_Nil$())) {
93048
+ var arg1$1 = $n(rest).head__O();
93049
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
93050
+ $n(t).sci_$colon$colon__f_next = nx;
93051
+ t = nx;
93052
+ rest = $as_sci_List($n(rest).tail__O())
93053
+ };
93054
+ var $$x1 = h
93055
+ };
93056
+ var this$4 = $n($$x1);
93057
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
93058
+ $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V((("if " + failCondExpr) + " {"));
93059
+ $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_out).inc__V();
93060
+ var errInst = (((("kaitai.New" + $n(err).name__T()) + "(") + errArgsStr) + ")");
93061
+ var x1 = $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_translator).Lio_kaitai_struct_translators_GoTranslator__f_returnRes;
93062
+ var x = $m_s_None$();
93063
+ if ((x === x1)) {
93064
+ var noValueAndErr = errInst
93065
+ } else {
93066
+ if ((!(x1 instanceof $c_s_Some))) {
93067
+ throw new $c_s_MatchError(x1)
93068
+ };
93069
+ var x3 = $as_s_Some(x1);
93070
+ var r = $as_T($n(x3).s_Some__f_value);
93071
+ var noValueAndErr = ((r + ", ") + errInst)
93072
+ };
93073
+ $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V(("return " + noValueAndErr));
93074
+ $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
93075
+ $n($thiz.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}")
93076
+ }
92194
93077
  /** @constructor */
92195
93078
  function $c_Lio_kaitai_struct_languages_GoCompiler(typeProvider, config) {
92196
93079
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -92866,7 +93749,27 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.enumDeclaration__sci_List__T
92866
93749
  }
92867
93750
  })));
92868
93751
  $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
92869
- $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V(")")
93752
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V(")");
93753
+ var this$10 = $n($as_sc_IterableOnceOps($n(enumColl).map__F1__O(new $c_sjsr_AnonFunction1(((x0$2$2) => {
93754
+ var x0$2 = $as_T2(x0$2$2);
93755
+ if ((x0$2 !== null)) {
93756
+ var this$9 = $n(x0$2);
93757
+ var t$1 = $uJ(this$9.T2__f__1);
93758
+ var lo$1 = t$1.RTLong__f_lo;
93759
+ var hi$1 = t$1.RTLong__f_hi;
93760
+ return (new $c_RTLong(lo$1, hi$1) + ": {}")
93761
+ } else {
93762
+ throw new $c_s_MatchError(x0$2)
93763
+ }
93764
+ })))));
93765
+ var mapEntriesStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$10, "", ", ", "");
93766
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V((((((("var values_" + fullEnumNameStr) + " = map[") + fullEnumNameStr) + "]struct{}{") + mapEntriesStr) + "}"));
93767
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V((("func (v " + fullEnumNameStr) + ") isDefined() bool {"));
93768
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).inc__V();
93769
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V((("_, ok := values_" + fullEnumNameStr) + "[v]"));
93770
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("return ok");
93771
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
93772
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}")
92870
93773
  });
92871
93774
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.classToString__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(toStringExpr) {
92872
93775
  var this$1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out);
@@ -92905,50 +93808,12 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.calculatedFlagForName__Lio_k
92905
93808
  return ("_f_" + $m_Lio_kaitai_struct_languages_GoCompiler$().idToStr__Lio_kaitai_struct_format_Identifier__T(id))
92906
93809
  });
92907
93810
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
92908
- var this$3 = $n(errArgs);
92909
- var f = ((v$2) => {
92910
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
92911
- var this$2 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_translator);
92912
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
92913
- });
92914
- if ((this$3 === $m_sci_Nil$())) {
92915
- var $$x1 = $m_sci_Nil$()
92916
- } else {
92917
- var arg1 = this$3.head__O();
92918
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
92919
- var t = h;
92920
- var rest = $as_sci_List(this$3.tail__O());
92921
- while ((rest !== $m_sci_Nil$())) {
92922
- var arg1$1 = $n(rest).head__O();
92923
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
92924
- $n(t).sci_$colon$colon__f_next = nx;
92925
- t = nx;
92926
- rest = $as_sci_List($n(rest).tail__O())
92927
- };
92928
- var $$x1 = h
92929
- };
92930
- var this$4 = $n($$x1);
92931
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
92932
- var $$x2 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out);
92933
- var this$5 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_translator);
92934
- $n($$x2).puts__T__V((("if !(" + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ") {"));
92935
- $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).inc__V();
92936
- var errInst = (((("kaitai.New" + $n(err).name__T()) + "(") + errArgsStr) + ")");
92937
- var x1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_translator).Lio_kaitai_struct_translators_GoTranslator__f_returnRes;
92938
- var x = $m_s_None$();
92939
- if ((x === x1)) {
92940
- var noValueAndErr = errInst
92941
- } else {
92942
- if ((!(x1 instanceof $c_s_Some))) {
92943
- throw new $c_s_MatchError(x1)
92944
- };
92945
- var x3 = $as_s_Some(x1);
92946
- var r = $as_T($n(x3).s_Some__f_value);
92947
- var noValueAndErr = ((r + ", ") + errInst)
92948
- };
92949
- $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V(("return " + noValueAndErr));
92950
- $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
92951
- $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}")
93811
+ var this$1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_translator);
93812
+ $p_Lio_kaitai_struct_languages_GoCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
93813
+ });
93814
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
93815
+ var this$1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_translator);
93816
+ $p_Lio_kaitai_struct_languages_GoCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ".isDefined()"), err, errArgs)
92952
93817
  });
92953
93818
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.ioAccessor__V = (function() {
92954
93819
  var this$1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out);
@@ -92987,6 +93852,45 @@ function $p_Lio_kaitai_struct_languages_JavaScriptCompiler__switchCmpExpr__Lio_k
92987
93852
  var e = new $c_Lio_kaitai_struct_exprlang_Ast$expr$Compare($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_NAME_SWITCH_ON, $m_Lio_kaitai_struct_exprlang_Ast$cmpop$Eq$(), condition);
92988
93853
  return $f_Lio_kaitai_struct_languages_components_ObjectOrientedLanguage__expression__Lio_kaitai_struct_exprlang_Ast$expr__T($thiz, e)
92989
93854
  }
93855
+ function $p_Lio_kaitai_struct_languages_JavaScriptCompiler__attrValidate__T__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, attrId, err, errArgs) {
93856
+ var this$3 = $n(errArgs);
93857
+ var f = ((v$2) => {
93858
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
93859
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
93860
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
93861
+ });
93862
+ if ((this$3 === $m_sci_Nil$())) {
93863
+ var $$x1 = $m_sci_Nil$()
93864
+ } else {
93865
+ var arg1 = this$3.head__O();
93866
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
93867
+ var t = h;
93868
+ var rest = $as_sci_List(this$3.tail__O());
93869
+ while ((rest !== $m_sci_Nil$())) {
93870
+ var arg1$1 = $n(rest).head__O();
93871
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
93872
+ $n(t).sci_$colon$colon__f_next = nx;
93873
+ t = nx;
93874
+ rest = $as_sci_List($n(rest).tail__O())
93875
+ };
93876
+ var $$x1 = h
93877
+ };
93878
+ var this$4 = $n($$x1);
93879
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
93880
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((("if (" + failCondExpr) + ") {"));
93881
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).inc__V();
93882
+ var errObj = (((("new " + $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ")");
93883
+ if ($f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrDebugNeeded__Lio_kaitai_struct_format_Identifier__Z($thiz, attrId)) {
93884
+ var debugName = $thiz.attrDebugName__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_format_RepeatSpec__Z__T(attrId, $m_Lio_kaitai_struct_format_NoRepeat$(), true);
93885
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((("var _err = " + errObj) + ";"));
93886
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((debugName + ".validationError = _err;"));
93887
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V("throw _err;")
93888
+ } else {
93889
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((("throw " + errObj) + ";"))
93890
+ };
93891
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).dec__V();
93892
+ $n($thiz.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V("}")
93893
+ }
92990
93894
  /** @constructor */
92991
93895
  function $c_Lio_kaitai_struct_languages_JavaScriptCompiler(typeProvider, config) {
92992
93896
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -93846,45 +94750,14 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.localTemporaryName__
93846
94750
  return ("_t_" + $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().idToStr__Lio_kaitai_struct_format_Identifier__T(id))
93847
94751
  });
93848
94752
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
93849
- var this$3 = $n(errArgs);
93850
- var f = ((v$2) => {
93851
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
93852
- var this$2 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
93853
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
93854
- });
93855
- if ((this$3 === $m_sci_Nil$())) {
93856
- var $$x1 = $m_sci_Nil$()
93857
- } else {
93858
- var arg1 = this$3.head__O();
93859
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
93860
- var t = h;
93861
- var rest = $as_sci_List(this$3.tail__O());
93862
- while ((rest !== $m_sci_Nil$())) {
93863
- var arg1$1 = $n(rest).head__O();
93864
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
93865
- $n(t).sci_$colon$colon__f_next = nx;
93866
- t = nx;
93867
- rest = $as_sci_List($n(rest).tail__O())
93868
- };
93869
- var $$x1 = h
93870
- };
93871
- var this$4 = $n($$x1);
93872
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
93873
- var $$x2 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out);
93874
- var this$5 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
93875
- $n($$x2).puts__T__V((("if (!(" + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")) {"));
93876
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).inc__V();
93877
- var errObj = (((("new " + $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ")");
93878
- if ($f_Lio_kaitai_struct_languages_components_EveryReadIsExpression__attrDebugNeeded__Lio_kaitai_struct_format_Identifier__Z(this, attrId)) {
93879
- var debugName = this.attrDebugName__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_format_RepeatSpec__Z__T(attrId, $m_Lio_kaitai_struct_format_NoRepeat$(), true);
93880
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((("var _err = " + errObj) + ";"));
93881
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((debugName + ".validationError = _err;"));
93882
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V("throw _err;")
93883
- } else {
93884
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V((("throw " + errObj) + ";"))
93885
- };
93886
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).dec__V();
93887
- $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out).puts__T__V("}")
94753
+ var this$1 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
94754
+ $p_Lio_kaitai_struct_languages_JavaScriptCompiler__attrValidate__T__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), attrId, err, errArgs)
94755
+ });
94756
+ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
94757
+ var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec($n($n(et).Lio_kaitai_struct_datatype_DataType$EnumType__f_enumSpec).get__O());
94758
+ var enumRef = $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().types2class__sci_List__Z__T($n(enumSpec).Lio_kaitai_struct_format_EnumSpec__f_name, $n(enumSpec).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass));
94759
+ var this$1 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
94760
+ $p_Lio_kaitai_struct_languages_JavaScriptCompiler__attrValidate__T__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((("!Object.prototype.hasOwnProperty.call(" + enumRef) + ", ") + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ")"), attrId, err, errArgs)
93888
94761
  });
93889
94762
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.attrDebugName__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_format_RepeatSpec__Z__T = (function(attrId, rep, end) {
93890
94763
  var x = $m_Lio_kaitai_struct_format_NoRepeat$();
@@ -93928,6 +94801,37 @@ var $d_Lio_kaitai_struct_languages_JavaScriptCompiler = new $TypeData().initClas
93928
94801
  Lio_kaitai_struct_languages_components_FixedContentsUsingArrayByteLiteral: 1
93929
94802
  });
93930
94803
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.$classData = $d_Lio_kaitai_struct_languages_JavaScriptCompiler;
94804
+ function $p_Lio_kaitai_struct_languages_PHPCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
94805
+ var this$3 = $n(errArgs);
94806
+ var f = ((v$2) => {
94807
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
94808
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
94809
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
94810
+ });
94811
+ if ((this$3 === $m_sci_Nil$())) {
94812
+ var $$x1 = $m_sci_Nil$()
94813
+ } else {
94814
+ var arg1 = this$3.head__O();
94815
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
94816
+ var t = h;
94817
+ var rest = $as_sci_List(this$3.tail__O());
94818
+ while ((rest !== $m_sci_Nil$())) {
94819
+ var arg1$1 = $n(rest).head__O();
94820
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
94821
+ $n(t).sci_$colon$colon__f_next = nx;
94822
+ t = nx;
94823
+ rest = $as_sci_List($n(rest).tail__O())
94824
+ };
94825
+ var $$x1 = h
94826
+ };
94827
+ var this$4 = $n($$x1);
94828
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
94829
+ $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V((("if (" + failCondExpr) + ") {"));
94830
+ $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_out).inc__V();
94831
+ $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V((((("throw new " + $m_Lio_kaitai_struct_languages_PHPCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
94832
+ $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_out).dec__V();
94833
+ $n($thiz.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V("}")
94834
+ }
93931
94835
  /** @constructor */
93932
94836
  function $c_Lio_kaitai_struct_languages_PHPCompiler(typeProvider, config) {
93933
94837
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -94603,6 +95507,31 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.enumDeclaration__sci_List__
94603
95507
  throw new $c_s_MatchError(x0$1)
94604
95508
  }
94605
95509
  })));
95510
+ var this$11 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out);
95511
+ $n(this$11.Lio_kaitai_struct_StringLanguageOutputWriter__f_sb).append__T__scm_StringBuilder("\n");
95512
+ var this$14 = $n($as_sc_IterableOnceOps($n(enumColl).map__F1__O(new $c_sjsr_AnonFunction1(((x0$2$2) => {
95513
+ var x0$2 = $as_T2(x0$2$2);
95514
+ if ((x0$2 !== null)) {
95515
+ var this$12 = $n(x0$2);
95516
+ var t$1 = $uJ(this$12.T2__f__1);
95517
+ var lo$1 = t$1.RTLong__f_lo;
95518
+ var hi$1 = t$1.RTLong__f_hi;
95519
+ var $$x4 = this.Lio_kaitai_struct_languages_PHPCompiler__f_translator;
95520
+ var this$13 = $m_s_math_BigInt$();
95521
+ return ($n($$x4).doIntLiteral__s_math_BigInt__T(this$13.apply__J__s_math_BigInt(new $c_RTLong(lo$1, hi$1))) + " => true")
95522
+ } else {
95523
+ throw new $c_s_MatchError(x0$2)
95524
+ }
95525
+ })))));
95526
+ var arrayEntriesStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$14, "", ", ", "");
95527
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V((("private const _VALUES = [" + arrayEntriesStr) + "];"));
95528
+ var this$15 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out);
95529
+ $n(this$15.Lio_kaitai_struct_StringLanguageOutputWriter__f_sb).append__T__scm_StringBuilder("\n");
95530
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V("public static function isDefined(int $v): bool {");
95531
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).inc__V();
95532
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V("return isset(self::_VALUES[$v]);");
95533
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).dec__V();
95534
+ $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V("}");
94606
95535
  this.classFooter__sci_List__V(name)
94607
95536
  });
94608
95537
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.classToString__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(toStringExpr) {
@@ -94675,37 +95604,14 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.kaitaiType2NativeType__Lio_
94675
95604
  }
94676
95605
  });
94677
95606
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
94678
- var this$3 = $n(errArgs);
94679
- var f = ((v$2) => {
94680
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
94681
- var this$2 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
94682
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
94683
- });
94684
- if ((this$3 === $m_sci_Nil$())) {
94685
- var $$x1 = $m_sci_Nil$()
94686
- } else {
94687
- var arg1 = this$3.head__O();
94688
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
94689
- var t = h;
94690
- var rest = $as_sci_List(this$3.tail__O());
94691
- while ((rest !== $m_sci_Nil$())) {
94692
- var arg1$1 = $n(rest).head__O();
94693
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
94694
- $n(t).sci_$colon$colon__f_next = nx;
94695
- t = nx;
94696
- rest = $as_sci_List($n(rest).tail__O())
94697
- };
94698
- var $$x1 = h
94699
- };
94700
- var this$4 = $n($$x1);
94701
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
94702
- var $$x2 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out);
94703
- var this$5 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
94704
- $n($$x2).puts__T__V((("if (!(" + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")) {"));
94705
- $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).inc__V();
94706
- $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V((((("throw new " + $m_Lio_kaitai_struct_languages_PHPCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
94707
- $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).dec__V();
94708
- $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_out).puts__T__V("}")
95607
+ var this$1 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
95608
+ $p_Lio_kaitai_struct_languages_PHPCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
95609
+ });
95610
+ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
95611
+ var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec($n($n(et).Lio_kaitai_struct_datatype_DataType$EnumType__f_enumSpec).get__O());
95612
+ var enumRef = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator).types2classAbs__sci_List__T($n(enumSpec).Lio_kaitai_struct_format_EnumSpec__f_name);
95613
+ var this$1 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
95614
+ $p_Lio_kaitai_struct_languages_PHPCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((("!" + enumRef) + "::isDefined(") + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ")"), err, errArgs)
94709
95615
  });
94710
95616
  $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
94711
95617
  return this.Lio_kaitai_struct_languages_PHPCompiler__f_translator
@@ -96647,6 +97553,38 @@ $h_sci_AbstractSet.prototype = $c_sci_AbstractSet.prototype;
96647
97553
  $c_sci_AbstractSet.prototype.iterableFactory__sc_IterableFactory = (function() {
96648
97554
  return $m_sci_Set$()
96649
97555
  });
97556
+ function $p_Lio_kaitai_struct_languages_CSharpCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
97557
+ var this$3 = $n(errArgs);
97558
+ var f = ((v$2) => {
97559
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
97560
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
97561
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
97562
+ });
97563
+ if ((this$3 === $m_sci_Nil$())) {
97564
+ var $$x1 = $m_sci_Nil$()
97565
+ } else {
97566
+ var arg1 = this$3.head__O();
97567
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
97568
+ var t = h;
97569
+ var rest = $as_sci_List(this$3.tail__O());
97570
+ while ((rest !== $m_sci_Nil$())) {
97571
+ var arg1$1 = $n(rest).head__O();
97572
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
97573
+ $n(t).sci_$colon$colon__f_next = nx;
97574
+ t = nx;
97575
+ rest = $as_sci_List($n(rest).tail__O())
97576
+ };
97577
+ var $$x1 = h
97578
+ };
97579
+ var this$4 = $n($$x1);
97580
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
97581
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V((("if (" + failCondExpr) + ")"));
97582
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V("{");
97583
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).inc__V();
97584
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V((((("throw new " + $m_Lio_kaitai_struct_languages_CSharpCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
97585
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).dec__V();
97586
+ $n($thiz.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V("}")
97587
+ }
96650
97588
  /** @constructor */
96651
97589
  function $c_Lio_kaitai_struct_languages_CSharpCompiler(typeProvider, config) {
96652
97590
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -97456,38 +98394,15 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.paramName__Lio_kaitai_st
97456
98394
  return ("p_" + $m_Lio_kaitai_struct_languages_CSharpCompiler$().idToStr__Lio_kaitai_struct_format_Identifier__T(id))
97457
98395
  });
97458
98396
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
97459
- var this$3 = $n(errArgs);
97460
- var f = ((v$2) => {
97461
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
97462
- var this$2 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
97463
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
97464
- });
97465
- if ((this$3 === $m_sci_Nil$())) {
97466
- var $$x1 = $m_sci_Nil$()
97467
- } else {
97468
- var arg1 = this$3.head__O();
97469
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
97470
- var t = h;
97471
- var rest = $as_sci_List(this$3.tail__O());
97472
- while ((rest !== $m_sci_Nil$())) {
97473
- var arg1$1 = $n(rest).head__O();
97474
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
97475
- $n(t).sci_$colon$colon__f_next = nx;
97476
- t = nx;
97477
- rest = $as_sci_List($n(rest).tail__O())
97478
- };
97479
- var $$x1 = h
97480
- };
97481
- var this$4 = $n($$x1);
97482
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
97483
- var $$x2 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out);
97484
- var this$5 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
97485
- $n($$x2).puts__T__V((("if (!(" + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + "))"));
97486
- $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V("{");
97487
- $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out).inc__V();
97488
- $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V((((("throw new " + $m_Lio_kaitai_struct_languages_CSharpCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
97489
- $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out).dec__V();
97490
- $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_out).puts__T__V("}")
98397
+ var this$1 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
98398
+ $p_Lio_kaitai_struct_languages_CSharpCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
98399
+ });
98400
+ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
98401
+ var this$1 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_importList);
98402
+ $m_Lio_kaitai_struct_Utils$().addUniqueAttr__scm_ListBuffer__O__V(this$1.Lio_kaitai_struct_ImportList__f_list, "System");
98403
+ var $$x1 = $m_Lio_kaitai_struct_languages_CSharpCompiler$().kaitaiType2NativeType__Lio_kaitai_struct_ImportList__Lio_kaitai_struct_datatype_DataType__T(this.Lio_kaitai_struct_languages_CSharpCompiler__f_importList, et);
98404
+ var this$2 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
98405
+ $p_Lio_kaitai_struct_languages_CSharpCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((("!Enum.IsDefined(typeof(" + $$x1) + "), ") + this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ")"), err, errArgs)
97491
98406
  });
97492
98407
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
97493
98408
  return this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator
@@ -97517,6 +98432,50 @@ var $d_Lio_kaitai_struct_languages_CSharpCompiler = new $TypeData().initClass({
97517
98432
  Lio_kaitai_struct_languages_components_NoNeedForFullClassPath: 1
97518
98433
  });
97519
98434
  $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.$classData = $d_Lio_kaitai_struct_languages_CSharpCompiler;
98435
+ function $p_Lio_kaitai_struct_languages_LuaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
98436
+ var this$3 = $n(errArgs);
98437
+ var f = ((v$2) => {
98438
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
98439
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
98440
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
98441
+ });
98442
+ if ((this$3 === $m_sci_Nil$())) {
98443
+ var errArgsCode = $m_sci_Nil$()
98444
+ } else {
98445
+ var arg1 = this$3.head__O();
98446
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
98447
+ var t = h;
98448
+ var rest = $as_sci_List(this$3.tail__O());
98449
+ while ((rest !== $m_sci_Nil$())) {
98450
+ var arg1$1 = $n(rest).head__O();
98451
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
98452
+ $n(t).sci_$colon$colon__f_next = nx;
98453
+ t = nx;
98454
+ rest = $as_sci_List($n(rest).tail__O())
98455
+ };
98456
+ var errArgsCode = h
98457
+ };
98458
+ $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V((("if " + failCondExpr) + " then"));
98459
+ $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_out).inc__V();
98460
+ if ((err instanceof $c_Lio_kaitai_struct_datatype_ValidationNotEqualError)) {
98461
+ var this$4 = $n(errArgsCode);
98462
+ var this$5 = new $c_s_PartialFunction$Lifted(this$4);
98463
+ var this$6 = $n(this$5.apply__O__s_Option(0));
98464
+ var _1 = (this$6.isEmpty__Z() ? "[expected]" : this$6.get__O());
98465
+ var this$7 = $n(errArgsCode);
98466
+ var this$8 = new $c_s_PartialFunction$Lifted(this$7);
98467
+ var this$9 = $n(this$8.apply__O__s_Option(1));
98468
+ var _2 = (this$9.isEmpty__Z() ? "[actual]" : this$9.get__O());
98469
+ var expected = $as_T(_1);
98470
+ var actual = $as_T(_2);
98471
+ var msg = ((("\"not equal, expected \" .. " + expected) + " .. \", but got \" .. ") + actual)
98472
+ } else {
98473
+ var msg = (("\"" + $n(err).name__T()) + "\"")
98474
+ };
98475
+ $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V((("error(" + msg) + ")"));
98476
+ $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_out).dec__V();
98477
+ $n($thiz.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V("end")
98478
+ }
97520
98479
  /** @constructor */
97521
98480
  function $c_Lio_kaitai_struct_languages_LuaCompiler(typeProvider, config) {
97522
98481
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -98187,50 +99146,12 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.allocateIO__Lio_kaitai_stru
98187
99146
  return "_io"
98188
99147
  });
98189
99148
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
98190
- var this$3 = $n(errArgs);
98191
- var f = ((v$2) => {
98192
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
98193
- var this$2 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
98194
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
98195
- });
98196
- if ((this$3 === $m_sci_Nil$())) {
98197
- var errArgsCode = $m_sci_Nil$()
98198
- } else {
98199
- var arg1 = this$3.head__O();
98200
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
98201
- var t = h;
98202
- var rest = $as_sci_List(this$3.tail__O());
98203
- while ((rest !== $m_sci_Nil$())) {
98204
- var arg1$1 = $n(rest).head__O();
98205
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
98206
- $n(t).sci_$colon$colon__f_next = nx;
98207
- t = nx;
98208
- rest = $as_sci_List($n(rest).tail__O())
98209
- };
98210
- var errArgsCode = h
98211
- };
98212
- var $$x1 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out);
98213
- var this$4 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
98214
- $n($$x1).puts__T__V((("if not(" + this$4.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ") then"));
98215
- $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out).inc__V();
98216
- if ((err instanceof $c_Lio_kaitai_struct_datatype_ValidationNotEqualError)) {
98217
- var this$5 = $n(errArgsCode);
98218
- var this$6 = new $c_s_PartialFunction$Lifted(this$5);
98219
- var this$7 = $n(this$6.apply__O__s_Option(0));
98220
- var _1 = (this$7.isEmpty__Z() ? "[expected]" : this$7.get__O());
98221
- var this$8 = $n(errArgsCode);
98222
- var this$9 = new $c_s_PartialFunction$Lifted(this$8);
98223
- var this$10 = $n(this$9.apply__O__s_Option(1));
98224
- var _2 = (this$10.isEmpty__Z() ? "[actual]" : this$10.get__O());
98225
- var expected = $as_T(_1);
98226
- var actual = $as_T(_2);
98227
- var msg = ((("\"not equal, expected \" .. " + expected) + " .. \", but got \" .. ") + actual)
98228
- } else {
98229
- var msg = (("\"" + $n(err).name__T()) + "\"")
98230
- };
98231
- $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V((("error(" + msg) + ")"));
98232
- $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out).dec__V();
98233
- $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V("end")
99149
+ var this$1 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
99150
+ $p_Lio_kaitai_struct_languages_LuaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("not(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
99151
+ });
99152
+ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
99153
+ var this$1 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
99154
+ $p_Lio_kaitai_struct_languages_LuaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0) + " == nil"), err, errArgs)
98234
99155
  });
98235
99156
  $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.classToString__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(toStringExpr) {
98236
99157
  $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_out).puts__T__V((("function " + $m_Lio_kaitai_struct_languages_LuaCompiler$().types2class__sci_List__T($n($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass).Lio_kaitai_struct_format_ClassSpec__f_name)) + ":__tostring()"));
@@ -99148,6 +100069,33 @@ var $d_Lio_kaitai_struct_languages_NimCompiler = new $TypeData().initClass({
99148
100069
  Lio_kaitai_struct_languages_components_UniversalDoc: 1
99149
100070
  });
99150
100071
  $c_Lio_kaitai_struct_languages_NimCompiler.prototype.$classData = $d_Lio_kaitai_struct_languages_NimCompiler;
100072
+ function $p_Lio_kaitai_struct_languages_RubyCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
100073
+ var this$3 = $n(errArgs);
100074
+ var f = ((v$2) => {
100075
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
100076
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
100077
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
100078
+ });
100079
+ if ((this$3 === $m_sci_Nil$())) {
100080
+ var $$x1 = $m_sci_Nil$()
100081
+ } else {
100082
+ var arg1 = this$3.head__O();
100083
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
100084
+ var t = h;
100085
+ var rest = $as_sci_List(this$3.tail__O());
100086
+ while ((rest !== $m_sci_Nil$())) {
100087
+ var arg1$1 = $n(rest).head__O();
100088
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
100089
+ $n(t).sci_$colon$colon__f_next = nx;
100090
+ t = nx;
100091
+ rest = $as_sci_List($n(rest).tail__O())
100092
+ };
100093
+ var $$x1 = h
100094
+ };
100095
+ var this$4 = $n($$x1);
100096
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
100097
+ $n($thiz.Lio_kaitai_struct_languages_RubyCompiler__f_out).puts__T__V(((((("raise " + $m_Lio_kaitai_struct_languages_RubyCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + ".new(") + errArgsStr) + ") if ") + failCondExpr))
100098
+ }
99151
100099
  /** @constructor */
99152
100100
  function $c_Lio_kaitai_struct_languages_RubyCompiler(typeProvider, config) {
99153
100101
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -99858,34 +100806,13 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.localTemporaryName__Lio_ka
99858
100806
  return ("_t_" + $m_Lio_kaitai_struct_languages_RubyCompiler$().idToStr__Lio_kaitai_struct_format_Identifier__T(id))
99859
100807
  });
99860
100808
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
99861
- var this$3 = $n(errArgs);
99862
- var f = ((v$2) => {
99863
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
99864
- var this$2 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
99865
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
99866
- });
99867
- if ((this$3 === $m_sci_Nil$())) {
99868
- var $$x1 = $m_sci_Nil$()
99869
- } else {
99870
- var arg1 = this$3.head__O();
99871
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
99872
- var t = h;
99873
- var rest = $as_sci_List(this$3.tail__O());
99874
- while ((rest !== $m_sci_Nil$())) {
99875
- var arg1$1 = $n(rest).head__O();
99876
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
99877
- $n(t).sci_$colon$colon__f_next = nx;
99878
- t = nx;
99879
- rest = $as_sci_List($n(rest).tail__O())
99880
- };
99881
- var $$x1 = h
99882
- };
99883
- var this$4 = $n($$x1);
99884
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
99885
- var $$x3 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_out);
99886
- var $$x2 = $m_Lio_kaitai_struct_languages_RubyCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err);
99887
- var this$5 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
99888
- $n($$x3).puts__T__V(((((("raise " + $$x2) + ".new(") + errArgsStr) + ") if not ") + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)))
100809
+ var this$1 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
100810
+ $p_Lio_kaitai_struct_languages_RubyCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, ("not " + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)), err, errArgs)
100811
+ });
100812
+ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
100813
+ var inverseMap = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator).enumInverseMap__Lio_kaitai_struct_datatype_DataType$EnumType__T(et);
100814
+ var this$1 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
100815
+ $p_Lio_kaitai_struct_languages_RubyCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((("not " + inverseMap) + ".key?(") + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ")"), err, errArgs)
99889
100816
  });
99890
100817
  $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.types2class__sci_List__T = (function(names) {
99891
100818
  var this$2 = $n(names);
@@ -100351,6 +101278,37 @@ var $d_scm_ArrayBufferView = new $TypeData().initClass({
100351
101278
  sc_IndexedSeqOps: 1
100352
101279
  });
100353
101280
  $c_scm_ArrayBufferView.prototype.$classData = $d_scm_ArrayBufferView;
101281
+ function $p_Lio_kaitai_struct_languages_JavaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
101282
+ var this$3 = $n(errArgs);
101283
+ var f = ((v$2) => {
101284
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
101285
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_translator);
101286
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
101287
+ });
101288
+ if ((this$3 === $m_sci_Nil$())) {
101289
+ var $$x1 = $m_sci_Nil$()
101290
+ } else {
101291
+ var arg1 = this$3.head__O();
101292
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
101293
+ var t = h;
101294
+ var rest = $as_sci_List(this$3.tail__O());
101295
+ while ((rest !== $m_sci_Nil$())) {
101296
+ var arg1$1 = $n(rest).head__O();
101297
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
101298
+ $n(t).sci_$colon$colon__f_next = nx;
101299
+ t = nx;
101300
+ rest = $as_sci_List($n(rest).tail__O())
101301
+ };
101302
+ var $$x1 = h
101303
+ };
101304
+ var this$4 = $n($$x1);
101305
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
101306
+ $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_out).puts__T__V((("if (" + failCondExpr) + ") {"));
101307
+ $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_out).inc__V();
101308
+ $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_out).puts__T__V((((("throw new " + $thiz.ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
101309
+ $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_out).dec__V();
101310
+ $n($thiz.Lio_kaitai_struct_languages_JavaCompiler__f_out).puts__T__V("}")
101311
+ }
100354
101312
  /** @constructor */
100355
101313
  function $c_Lio_kaitai_struct_languages_JavaCompiler(typeProvider, config) {
100356
101314
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -101476,37 +102434,12 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.ksErrorName__Lio_kaitai_st
101476
102434
  }
101477
102435
  });
101478
102436
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
101479
- var this$3 = $n(errArgs);
101480
- var f = ((v$2) => {
101481
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
101482
- var this$2 = $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_translator);
101483
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
101484
- });
101485
- if ((this$3 === $m_sci_Nil$())) {
101486
- var $$x1 = $m_sci_Nil$()
101487
- } else {
101488
- var arg1 = this$3.head__O();
101489
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
101490
- var t = h;
101491
- var rest = $as_sci_List(this$3.tail__O());
101492
- while ((rest !== $m_sci_Nil$())) {
101493
- var arg1$1 = $n(rest).head__O();
101494
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
101495
- $n(t).sci_$colon$colon__f_next = nx;
101496
- t = nx;
101497
- rest = $as_sci_List($n(rest).tail__O())
101498
- };
101499
- var $$x1 = h
101500
- };
101501
- var this$4 = $n($$x1);
101502
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
101503
- var $$x2 = $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_out);
101504
- var this$5 = $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_translator);
101505
- $n($$x2).puts__T__V((("if (!(" + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")) {"));
101506
- $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_out).inc__V();
101507
- $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_out).puts__T__V((((("throw new " + this.ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ");"));
101508
- $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_out).dec__V();
101509
- $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_out).puts__T__V("}")
102437
+ var this$1 = $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_translator);
102438
+ $p_Lio_kaitai_struct_languages_JavaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (("!(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ")"), err, errArgs)
102439
+ });
102440
+ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
102441
+ var this$1 = $n(this.Lio_kaitai_struct_languages_JavaCompiler__f_translator);
102442
+ $p_Lio_kaitai_struct_languages_JavaCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0) + " == null"), err, errArgs)
101510
102443
  });
101511
102444
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
101512
102445
  return this.Lio_kaitai_struct_languages_JavaCompiler__f_translator
@@ -101537,6 +102470,36 @@ var $d_Lio_kaitai_struct_languages_JavaCompiler = new $TypeData().initClass({
101537
102470
  Lio_kaitai_struct_languages_components_NoNeedForFullClassPath: 1
101538
102471
  });
101539
102472
  $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.$classData = $d_Lio_kaitai_struct_languages_JavaCompiler;
102473
+ function $p_Lio_kaitai_struct_languages_PythonCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V($thiz, failCondExpr, err, errArgs) {
102474
+ var this$3 = $n(errArgs);
102475
+ var f = ((v$2) => {
102476
+ var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
102477
+ var this$2 = $n($thiz.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
102478
+ return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
102479
+ });
102480
+ if ((this$3 === $m_sci_Nil$())) {
102481
+ var $$x1 = $m_sci_Nil$()
102482
+ } else {
102483
+ var arg1 = this$3.head__O();
102484
+ var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
102485
+ var t = h;
102486
+ var rest = $as_sci_List(this$3.tail__O());
102487
+ while ((rest !== $m_sci_Nil$())) {
102488
+ var arg1$1 = $n(rest).head__O();
102489
+ var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
102490
+ $n(t).sci_$colon$colon__f_next = nx;
102491
+ t = nx;
102492
+ rest = $as_sci_List($n(rest).tail__O())
102493
+ };
102494
+ var $$x1 = h
102495
+ };
102496
+ var this$4 = $n($$x1);
102497
+ var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
102498
+ $n($thiz.Lio_kaitai_struct_languages_PythonCompiler__f_out).puts__T__V((("if " + failCondExpr) + ":"));
102499
+ $n($thiz.Lio_kaitai_struct_languages_PythonCompiler__f_out).inc__V();
102500
+ $n($thiz.Lio_kaitai_struct_languages_PythonCompiler__f_out).puts__T__V((((("raise " + $m_Lio_kaitai_struct_languages_PythonCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ")"));
102501
+ $n($thiz.Lio_kaitai_struct_languages_PythonCompiler__f_out).dec__V()
102502
+ }
101540
102503
  /** @constructor */
101541
102504
  function $c_Lio_kaitai_struct_languages_PythonCompiler(typeProvider, config) {
101542
102505
  this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider = null;
@@ -102316,36 +103279,14 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.localTemporaryName__Lio_
102316
103279
  return ("_t_" + $m_Lio_kaitai_struct_languages_PythonCompiler$().idToStr__Lio_kaitai_struct_format_Identifier__T(id))
102317
103280
  });
102318
103281
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.attrValidateExpr__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_KSError__sci_List__V = (function(attrId, attrType, checkExpr, err, errArgs) {
102319
- var this$3 = $n(errArgs);
102320
- var f = ((v$2) => {
102321
- var v = $as_Lio_kaitai_struct_exprlang_Ast$expr(v$2);
102322
- var this$2 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
102323
- return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(v, 0)
102324
- });
102325
- if ((this$3 === $m_sci_Nil$())) {
102326
- var $$x1 = $m_sci_Nil$()
102327
- } else {
102328
- var arg1 = this$3.head__O();
102329
- var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
102330
- var t = h;
102331
- var rest = $as_sci_List(this$3.tail__O());
102332
- while ((rest !== $m_sci_Nil$())) {
102333
- var arg1$1 = $n(rest).head__O();
102334
- var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
102335
- $n(t).sci_$colon$colon__f_next = nx;
102336
- t = nx;
102337
- rest = $as_sci_List($n(rest).tail__O())
102338
- };
102339
- var $$x1 = h
102340
- };
102341
- var this$4 = $n($$x1);
102342
- var errArgsStr = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$4, "", ", ", "");
102343
- var $$x2 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_out);
102344
- var this$5 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
102345
- $n($$x2).puts__T__V((("if not " + this$5.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)) + ":"));
102346
- $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_out).inc__V();
102347
- $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_out).puts__T__V((((("raise " + $m_Lio_kaitai_struct_languages_PythonCompiler$().ksErrorName__Lio_kaitai_struct_datatype_KSError__T(err)) + "(") + errArgsStr) + ")"));
102348
- $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_out).dec__V()
103282
+ var this$1 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
103283
+ $p_Lio_kaitai_struct_languages_PythonCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, ("not " + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(checkExpr, 0)), err, errArgs)
103284
+ });
103285
+ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.attrValidateInEnum__Lio_kaitai_struct_format_Identifier__Lio_kaitai_struct_datatype_DataType$EnumType__Lio_kaitai_struct_exprlang_Ast$expr__Lio_kaitai_struct_datatype_ValidationNotInEnumError__sci_List__V = (function(attrId, et, valueExpr, err, errArgs) {
103286
+ var enumSpec = $as_Lio_kaitai_struct_format_EnumSpec($n($n(et).Lio_kaitai_struct_datatype_DataType$EnumType__f_enumSpec).get__O());
103287
+ var enumRef = $m_Lio_kaitai_struct_languages_PythonCompiler$().types2class__sci_List__Z__T($n(enumSpec).Lio_kaitai_struct_format_EnumSpec__f_name, $n(enumSpec).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass));
103288
+ var this$1 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
103289
+ $p_Lio_kaitai_struct_languages_PythonCompiler__attrValidate__T__Lio_kaitai_struct_datatype_KSError__sci_List__V(this, (((("not isinstance(" + this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(valueExpr, 0)) + ", ") + enumRef) + ")"), err, errArgs)
102349
103290
  });
102350
103291
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
102351
103292
  return this.Lio_kaitai_struct_languages_PythonCompiler__f_translator
@@ -104393,6 +105334,12 @@ function $h_scm_AbstractSet() {
104393
105334
  /*<skip>*/
104394
105335
  }
104395
105336
  $h_scm_AbstractSet.prototype = $c_scm_AbstractSet.prototype;
105337
+ $c_scm_AbstractSet.prototype.sizeHint__I__V = (function(size) {
105338
+ /*<skip>*/
105339
+ });
105340
+ $c_scm_AbstractSet.prototype.addAll__sc_IterableOnce__scm_Growable = (function(xs) {
105341
+ return $f_scm_Growable__addAll__sc_IterableOnce__scm_Growable(this, xs)
105342
+ });
104396
105343
  $c_scm_AbstractSet.prototype.result__O = (function() {
104397
105344
  return this
104398
105345
  });
@@ -105838,6 +106785,108 @@ function $isArrayOf_sci_Range(obj, depth) {
105838
106785
  function $asArrayOf_sci_Range(obj, depth) {
105839
106786
  return (($isArrayOf_sci_Range(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lscala.collection.immutable.Range;", depth))
105840
106787
  }
106788
+ /** @constructor */
106789
+ function $c_scm_LinkedHashSet() {
106790
+ this.scm_LinkedHashSet__f_firstEntry = null;
106791
+ this.scm_LinkedHashSet__f_lastEntry = null;
106792
+ this.scm_LinkedHashSet__f_table = null;
106793
+ this.scm_LinkedHashSet__f_firstEntry = null;
106794
+ this.scm_LinkedHashSet__f_lastEntry = null;
106795
+ this.scm_LinkedHashSet__f_table = new $c_scm_LinkedHashSet$$anon$1(this)
106796
+ }
106797
+ $c_scm_LinkedHashSet.prototype = new $h_scm_AbstractSet();
106798
+ $c_scm_LinkedHashSet.prototype.constructor = $c_scm_LinkedHashSet;
106799
+ /** @constructor */
106800
+ function $h_scm_LinkedHashSet() {
106801
+ /*<skip>*/
106802
+ }
106803
+ $h_scm_LinkedHashSet.prototype = $c_scm_LinkedHashSet.prototype;
106804
+ $c_scm_LinkedHashSet.prototype.map__F1__O = (function(f) {
106805
+ return $f_sc_StrictOptimizedIterableOps__map__F1__O(this, f)
106806
+ });
106807
+ $c_scm_LinkedHashSet.prototype.flatMap__F1__O = (function(f) {
106808
+ return $f_sc_StrictOptimizedIterableOps__flatMap__F1__O(this, f)
106809
+ });
106810
+ $c_scm_LinkedHashSet.prototype.dropRight__I__O = (function(n) {
106811
+ return $f_sc_StrictOptimizedIterableOps__dropRight__I__O(this, n)
106812
+ });
106813
+ $c_scm_LinkedHashSet.prototype.iterableFactory__sc_IterableFactory = (function() {
106814
+ return $m_scm_LinkedHashSet$()
106815
+ });
106816
+ $c_scm_LinkedHashSet.prototype.size__I = (function() {
106817
+ return $n(this.scm_LinkedHashSet__f_table).scm_LinkedHashSet$$anon$1__f_tableSize
106818
+ });
106819
+ $c_scm_LinkedHashSet.prototype.knownSize__I = (function() {
106820
+ return this.size__I()
106821
+ });
106822
+ $c_scm_LinkedHashSet.prototype.isEmpty__Z = (function() {
106823
+ return (this.size__I() === 0)
106824
+ });
106825
+ $c_scm_LinkedHashSet.prototype.contains__O__Z = (function(elem) {
106826
+ var this$1 = $n(this.scm_LinkedHashSet__f_table);
106827
+ return ($f_scm_HashTable__findEntry__O__scm_HashEntry(this$1, elem) !== null)
106828
+ });
106829
+ $c_scm_LinkedHashSet.prototype.addOne__O__scm_LinkedHashSet = (function(elem) {
106830
+ var this$1 = $n(this.scm_LinkedHashSet__f_table);
106831
+ $f_scm_HashTable__findOrAddEntry__O__O__scm_HashEntry(this$1, elem, null);
106832
+ return this
106833
+ });
106834
+ $c_scm_LinkedHashSet.prototype.iterator__sc_Iterator = (function() {
106835
+ return new $c_scm_LinkedHashSet$$anon$2(this)
106836
+ });
106837
+ $c_scm_LinkedHashSet.prototype.foreach__F1__V = (function(f) {
106838
+ var cur = this.scm_LinkedHashSet__f_firstEntry;
106839
+ while ((cur !== null)) {
106840
+ $n(f).apply__O__O($n(cur).scm_LinkedHashSet$Entry__f_key);
106841
+ cur = $n(cur).scm_LinkedHashSet$Entry__f_later
106842
+ }
106843
+ });
106844
+ $c_scm_LinkedHashSet.prototype.stringPrefix__T = (function() {
106845
+ return "LinkedHashSet"
106846
+ });
106847
+ $c_scm_LinkedHashSet.prototype.addOne__O__scm_Growable = (function(elem) {
106848
+ return this.addOne__O__scm_LinkedHashSet(elem)
106849
+ });
106850
+ function $as_scm_LinkedHashSet(obj) {
106851
+ return (((obj instanceof $c_scm_LinkedHashSet) || (obj === null)) ? obj : $throwClassCastException(obj, "scala.collection.mutable.LinkedHashSet"))
106852
+ }
106853
+ function $isArrayOf_scm_LinkedHashSet(obj, depth) {
106854
+ return (!(!(((obj && obj.$classData) && (obj.$classData.arrayDepth === depth)) && obj.$classData.arrayBase.ancestors.scm_LinkedHashSet)))
106855
+ }
106856
+ function $asArrayOf_scm_LinkedHashSet(obj, depth) {
106857
+ return (($isArrayOf_scm_LinkedHashSet(obj, depth) || (obj === null)) ? obj : $throwArrayCastException(obj, "Lscala.collection.mutable.LinkedHashSet;", depth))
106858
+ }
106859
+ var $d_scm_LinkedHashSet = new $TypeData().initClass({
106860
+ scm_LinkedHashSet: 0
106861
+ }, false, "scala.collection.mutable.LinkedHashSet", {
106862
+ scm_LinkedHashSet: 1,
106863
+ scm_AbstractSet: 1,
106864
+ sc_AbstractSet: 1,
106865
+ sc_AbstractIterable: 1,
106866
+ O: 1,
106867
+ sc_Iterable: 1,
106868
+ sc_IterableOnce: 1,
106869
+ sc_IterableOps: 1,
106870
+ sc_IterableOnceOps: 1,
106871
+ sc_IterableFactoryDefaults: 1,
106872
+ sc_Set: 1,
106873
+ sc_SetOps: 1,
106874
+ F1: 1,
106875
+ s_Equals: 1,
106876
+ scm_Set: 1,
106877
+ scm_Iterable: 1,
106878
+ scm_SetOps: 1,
106879
+ scm_Cloneable: 1,
106880
+ jl_Cloneable: 1,
106881
+ scm_Builder: 1,
106882
+ scm_Growable: 1,
106883
+ scm_Clearable: 1,
106884
+ scm_Shrinkable: 1,
106885
+ sc_StrictOptimizedIterableOps: 1,
106886
+ scg_DefaultSerializable: 1,
106887
+ Ljava_io_Serializable: 1
106888
+ });
106889
+ $c_scm_LinkedHashSet.prototype.$classData = $d_scm_LinkedHashSet;
105841
106890
  function $p_sci_ArraySeq__appendedAllArraySeq__sci_ArraySeq__sci_ArraySeq($thiz, that) {
105842
106891
  if ($f_sc_SeqOps__isEmpty__Z($thiz)) {
105843
106892
  return that