kaitai-struct-compiler 0.11.0-SNAPSHOT20240322.4237.c4672ee → 0.11.0-SNAPSHOT20240401.112327.fda00d3

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.
@@ -3010,8 +3010,8 @@ function $m_Lio_kaitai_struct_Utils$() {
3010
3010
  function $c_Lio_kaitai_struct_Version$() {
3011
3011
  this.Lio_kaitai_struct_Version$__f_version = null;
3012
3012
  this.Lio_kaitai_struct_Version$__f_gitTime = null;
3013
- this.Lio_kaitai_struct_Version$__f_version = "0.11-SNAPSHOT20240322.004237.c4672ee";
3014
- this.Lio_kaitai_struct_Version$__f_gitTime = "2024-03-22T00:42:37+00:00"
3013
+ this.Lio_kaitai_struct_Version$__f_version = "0.11-SNAPSHOT20240401.112327.fda00d3";
3014
+ this.Lio_kaitai_struct_Version$__f_gitTime = "2024-04-01T11:23:27+00:00"
3015
3015
  }
3016
3016
  $c_Lio_kaitai_struct_Version$.prototype = new $h_O();
3017
3017
  $c_Lio_kaitai_struct_Version$.prototype.constructor = $c_Lio_kaitai_struct_Version$;
@@ -18955,9 +18955,9 @@ function $h_Lio_kaitai_struct_precompile_LoadImports() {
18955
18955
  $h_Lio_kaitai_struct_precompile_LoadImports.prototype = $c_Lio_kaitai_struct_precompile_LoadImports.prototype;
18956
18956
  $c_Lio_kaitai_struct_precompile_LoadImports.prototype.processClass__Lio_kaitai_struct_format_ClassSpec__Lio_kaitai_struct_precompile_LoadImports$ImportPath__s_concurrent_Future = (function(curClass, workDir) {
18957
18957
  $n($m_Lio_kaitai_struct_Log$().Lio_kaitai_struct_Log$__f_importOps);
18958
- var $$x3 = $m_s_concurrent_Future$();
18958
+ var $$x2 = $m_s_concurrent_Future$();
18959
18959
  var this$1 = $n($n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_meta).Lio_kaitai_struct_format_MetaSpec__f_imports);
18960
- var this$12 = $n($as_sci_List($f_sc_StrictOptimizedIterableOps__zipWithIndex__O(this$1)));
18960
+ var this$10 = $n($as_sci_List($f_sc_StrictOptimizedIterableOps__zipWithIndex__O(this$1)));
18961
18961
  var f = ((x0$1$2) => {
18962
18962
  var x0$1 = $as_T2(x0$1$2);
18963
18963
  if ((x0$1 !== null)) {
@@ -18969,21 +18969,18 @@ $c_Lio_kaitai_struct_precompile_LoadImports.prototype.processClass__Lio_kaitai_s
18969
18969
  var array = ["imports", ("" + idx)];
18970
18970
  var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
18971
18971
  var suffix = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems);
18972
- var $$x1 = this$9.appendedAll__sc_IterableOnce__sci_List(suffix);
18973
- var this$10 = $n(curClass);
18974
- var this$11 = $n(this$10.Lio_kaitai_struct_format_ClassSpec__f_name);
18975
- return $p_Lio_kaitai_struct_precompile_LoadImports__loadImport__T__sci_List__s_Option__Lio_kaitai_struct_precompile_LoadImports$ImportPath__s_concurrent_Future(this, name, $$x1, new $c_s_Some($f_sc_IterableOnceOps__mkString__T__T__T__T(this$11, "", "::", "")), workDir)
18972
+ return $p_Lio_kaitai_struct_precompile_LoadImports__loadImport__T__sci_List__s_Option__Lio_kaitai_struct_precompile_LoadImports$ImportPath__s_concurrent_Future(this, name, this$9.appendedAll__sc_IterableOnce__sci_List(suffix), new $c_s_Some($n(curClass).fileNameAsStr__T()), workDir)
18976
18973
  } else {
18977
18974
  throw new $c_s_MatchError(x0$1)
18978
18975
  }
18979
18976
  });
18980
- if ((this$12 === $m_sci_Nil$())) {
18981
- var $$x2 = $m_sci_Nil$()
18977
+ if ((this$10 === $m_sci_Nil$())) {
18978
+ var $$x1 = $m_sci_Nil$()
18982
18979
  } else {
18983
- var arg1 = this$12.head__O();
18980
+ var arg1 = this$10.head__O();
18984
18981
  var h = new $c_sci_$colon$colon(f(arg1), $m_sci_Nil$());
18985
18982
  var t = h;
18986
- var rest = $as_sci_List(this$12.tail__O());
18983
+ var rest = $as_sci_List(this$10.tail__O());
18987
18984
  while ((rest !== $m_sci_Nil$())) {
18988
18985
  var arg1$1 = $n(rest).head__O();
18989
18986
  var nx = new $c_sci_$colon$colon(f(arg1$1), $m_sci_Nil$());
@@ -18991,27 +18988,27 @@ $c_Lio_kaitai_struct_precompile_LoadImports.prototype.processClass__Lio_kaitai_s
18991
18988
  t = nx;
18992
18989
  rest = $as_sci_List($n(rest).tail__O())
18993
18990
  };
18994
- var $$x2 = h
18991
+ var $$x1 = h
18995
18992
  };
18996
- var this$13 = $m_sc_BuildFrom$();
18997
- var thisMetaFuture = $n($n($$x3).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x2, new $c_sc_BuildFromLowPriority2$$anon$11(this$13), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((x$2) => {
18993
+ var this$11 = $m_sc_BuildFrom$();
18994
+ var thisMetaFuture = $n($n($$x2).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x1, new $c_sc_BuildFromLowPriority2$$anon$11(this$11), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((x$2) => {
18998
18995
  var x = $as_sci_List(x$2);
18999
- var this$17 = $n(x);
19000
- var this$16 = $m_s_$less$colon$less$();
19001
- var toIterableOnce = this$16.s_$less$colon$less$__f_singleton;
19002
- return $as_sci_List($f_sc_StrictOptimizedIterableOps__flatten__F1__O(this$17, toIterableOnce))
18996
+ var this$15 = $n(x);
18997
+ var this$14 = $m_s_$less$colon$less$();
18998
+ var toIterableOnce = this$14.s_$less$colon$less$__f_singleton;
18999
+ return $as_sci_List($f_sc_StrictOptimizedIterableOps__flatten__F1__O(this$15, toIterableOnce))
19003
19000
  })), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor());
19004
- var $$x5 = $m_s_concurrent_Future$();
19005
- var this$19 = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_types);
19001
+ var $$x4 = $m_s_concurrent_Future$();
19002
+ var this$17 = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_types);
19006
19003
  var b = $m_sci_Iterable$().newBuilder__scm_Builder();
19007
19004
  $m_sci_RedBlackTree$();
19008
- var tree = this$19.sci_TreeMap__f_tree;
19005
+ var tree = this$17.sci_TreeMap__f_tree;
19009
19006
  $m_sci_RedBlackTree$();
19010
19007
  var start = $m_s_None$();
19011
- var evidence$16 = this$19.sci_TreeMap__f_ordering;
19008
+ var evidence$16 = this$17.sci_TreeMap__f_ordering;
19012
19009
  var it = new $c_sci_RedBlackTree$EntriesIterator(tree, start, evidence$16);
19013
19010
  while (it.hasNext__Z()) {
19014
- var this$22 = $n(b);
19011
+ var this$20 = $n(b);
19015
19012
  var arg1$2 = it.next__O();
19016
19013
  var x0$2 = $as_T2(arg1$2);
19017
19014
  if ((x0$2 === null)) {
@@ -19019,27 +19016,27 @@ $c_Lio_kaitai_struct_precompile_LoadImports.prototype.processClass__Lio_kaitai_s
19019
19016
  };
19020
19017
  var nestedClass = $as_Lio_kaitai_struct_format_ClassSpec($n(x0$2).T2__f__2);
19021
19018
  var elem = this.processClass__Lio_kaitai_struct_format_ClassSpec__Lio_kaitai_struct_precompile_LoadImports$ImportPath__s_concurrent_Future(nestedClass, workDir);
19022
- this$22.addOne__O__scm_Growable(elem)
19019
+ this$20.addOne__O__scm_Growable(elem)
19023
19020
  };
19024
- var $$x4 = $as_sc_IterableOnce($n(b).result__O());
19025
- var this$23 = $m_sc_BuildFrom$();
19026
- var nestedFuture = $n($n($$x5).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x4, new $c_sc_BuildFromLowPriority2$$anon$11(this$23), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((listOfLists$2) => {
19021
+ var $$x3 = $as_sc_IterableOnce($n(b).result__O());
19022
+ var this$21 = $m_sc_BuildFrom$();
19023
+ var nestedFuture = $n($n($$x4).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x3, new $c_sc_BuildFromLowPriority2$$anon$11(this$21), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((listOfLists$2) => {
19027
19024
  var listOfLists = $as_sci_Iterable(listOfLists$2);
19028
- var this$26 = $m_s_$less$colon$less$();
19029
- return $as_sci_Iterable($n(listOfLists).flatten__F1__O(this$26.s_$less$colon$less$__f_singleton))
19025
+ var this$24 = $m_s_$less$colon$less$();
19026
+ return $as_sci_Iterable($n(listOfLists).flatten__F1__O(this$24.s_$less$colon$less$__f_singleton))
19030
19027
  })), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor());
19031
- var $$x7 = $m_s_concurrent_Future$();
19028
+ var $$x6 = $m_s_concurrent_Future$();
19032
19029
  $n($m_s_package$().s_package$__f_List);
19033
19030
  var array$1 = [thisMetaFuture, nestedFuture];
19034
19031
  var elems$1 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$1);
19035
- var $$x6 = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1);
19036
- var this$32 = $m_sc_BuildFrom$();
19037
- return $n($n($$x7).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x6, new $c_sc_BuildFromLowPriority2$$anon$11(this$32), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((x$3$2) => {
19032
+ var $$x5 = $m_sci_Nil$().prependedAll__sc_IterableOnce__sci_List(elems$1);
19033
+ var this$30 = $m_sc_BuildFrom$();
19034
+ return $n($n($$x6).sequence__sc_IterableOnce__sc_BuildFrom__s_concurrent_ExecutionContext__s_concurrent_Future($$x5, new $c_sc_BuildFromLowPriority2$$anon$11(this$30), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())).map__F1__s_concurrent_ExecutionContext__s_concurrent_Future(new $c_sjsr_AnonFunction1(((x$3$2) => {
19038
19035
  var x$3 = $as_sci_List(x$3$2);
19039
- var this$36 = $n(x$3);
19040
- var this$35 = $m_s_$less$colon$less$();
19041
- var toIterableOnce$1 = this$35.s_$less$colon$less$__f_singleton;
19042
- return $as_sci_List($f_sc_StrictOptimizedIterableOps__flatten__F1__O(this$36, toIterableOnce$1))
19036
+ var this$34 = $n(x$3);
19037
+ var this$33 = $m_s_$less$colon$less$();
19038
+ var toIterableOnce$1 = this$33.s_$less$colon$less$__f_singleton;
19039
+ return $as_sci_List($f_sc_StrictOptimizedIterableOps__flatten__F1__O(this$34, toIterableOnce$1))
19043
19040
  })), $m_s_concurrent_ExecutionContext$().global__s_concurrent_ExecutionContextExecutor())
19044
19041
  });
19045
19042
  var $d_Lio_kaitai_struct_precompile_LoadImports = new $TypeData().initClass({
@@ -19317,7 +19314,6 @@ $c_Lio_kaitai_struct_precompile_ParentTypes.prototype.markup__Lio_kaitai_struct_
19317
19314
  $m_sci_RedBlackTree$().foreach__sci_RedBlackTree$Tree__F1__V(this$6.sci_TreeMap__f_tree, f)
19318
19315
  });
19319
19316
  $c_Lio_kaitai_struct_precompile_ParentTypes.prototype.markupParentAs__Lio_kaitai_struct_format_ClassSpec__Lio_kaitai_struct_datatype_DataType$UserType__V = (function(curClass, ut) {
19320
- $n($m_Lio_kaitai_struct_Log$().Lio_kaitai_struct_Log$__f_typeProcParent);
19321
19317
  var x1 = $n(ut).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec;
19322
19318
  if ((x1 instanceof $c_s_Some)) {
19323
19319
  var x2 = $as_s_Some(x1);
@@ -19338,6 +19334,11 @@ $c_Lio_kaitai_struct_precompile_ParentTypes.prototype.markupParentAs__Lio_kaitai
19338
19334
  }
19339
19335
  });
19340
19336
  $c_Lio_kaitai_struct_precompile_ParentTypes.prototype.markupParentAs__Lio_kaitai_struct_format_ClassSpec__Lio_kaitai_struct_format_ClassSpec__V = (function(parent, child) {
19337
+ if ($n(child).isExternal__Lio_kaitai_struct_format_ClassSpec__Z(parent)) {
19338
+ $n($m_Lio_kaitai_struct_Log$().Lio_kaitai_struct_Log$__f_typeProcParent);
19339
+ return (void 0)
19340
+ };
19341
+ $n($m_Lio_kaitai_struct_Log$().Lio_kaitai_struct_Log$__f_typeProcParent);
19341
19342
  var x1 = $n(child).Lio_kaitai_struct_format_ClassSpec__f_parentClass;
19342
19343
  var x = $m_Lio_kaitai_struct_format_UnknownClassSpec$();
19343
19344
  if ((x === x1)) {
@@ -19769,7 +19770,7 @@ function $f_Lio_kaitai_struct_translators_CommonMethods__translateAttribute__Lio
19769
19770
  var x = $m_Lio_kaitai_struct_datatype_DataType$KaitaiStructType$();
19770
19771
  if (((x === valType) || (valType instanceof $c_Lio_kaitai_struct_datatype_DataType$CalcKaitaiStructType))) {
19771
19772
  var x1$2 = $n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name;
19772
- if (($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_PARENT === x1$2)) {
19773
+ if ((($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_PARENT === x1$2) || ($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_IO === x1$2))) {
19773
19774
  return $thiz.kaitaiStructField__Lio_kaitai_struct_exprlang_Ast$expr__T__O(value, $n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name)
19774
19775
  } else {
19775
19776
  throw new $c_s_MatchError(x1$2)
@@ -20106,7 +20107,7 @@ function $f_Lio_kaitai_struct_translators_CommonMethods__$init$__V($thiz) {
20106
20107
  var array$6 = [$$x5, $$x4, $$x3, $$x2, $$x1, new $c_T2(self$5, y$5)];
20107
20108
  var elems$6 = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array$6);
20108
20109
  $thiz.io$kaitai$struct$translators$CommonMethods$_setter_$METHODS_BY_TYPE_$eq__sci_Map__V(this$47.from__sc_IterableOnce__sci_Map(elems$6));
20109
- $thiz.io$kaitai$struct$translators$CommonMethods$_setter_$METHOD_PRECEDENCE_$eq__I__V(99)
20110
+ $thiz.io$kaitai$struct$translators$CommonMethods$_setter_$METHOD_PRECEDENCE_$eq__I__V(999)
20110
20111
  }
20111
20112
  function $is_Lio_kaitai_struct_translators_CommonMethods$MethodSig(obj) {
20112
20113
  return (!(!((obj && obj.$classData) && obj.$classData.ancestors.Lio_kaitai_struct_translators_CommonMethods$MethodSig)))
@@ -20601,6 +20602,8 @@ $c_Lio_kaitai_struct_translators_TypeDetector.prototype.detectAttributeType__Lio
20601
20602
  var x1$2 = $n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name;
20602
20603
  if (($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_PARENT === x1$2)) {
20603
20604
  return new $c_Lio_kaitai_struct_datatype_DataType$CalcKaitaiStructType(false)
20605
+ } else if (($m_Lio_kaitai_struct_format_Identifier$().Lio_kaitai_struct_format_Identifier$__f_IO === x1$2)) {
20606
+ return $m_Lio_kaitai_struct_datatype_DataType$KaitaiStreamType$()
20604
20607
  } else {
20605
20608
  throw new $c_Lio_kaitai_struct_precompile_MethodNotFoundError($n(attr).Lio_kaitai_struct_exprlang_Ast$identifier__f_name, valType)
20606
20609
  }
@@ -33731,10 +33734,8 @@ $c_Lio_kaitai_struct_ClassCompiler.prototype.compileClass__Lio_kaitai_struct_for
33731
33734
  var x1 = $n(paramDefSpec).Lio_kaitai_struct_format_ParamDefSpec__f_dataType;
33732
33735
  if ((x1 instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
33733
33736
  var x2 = $as_Lio_kaitai_struct_datatype_DataType$UserType(x1);
33734
- var externalTypeName = $n($as_Lio_kaitai_struct_format_ClassSpec($n($n(x2).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_name;
33735
- var x = $n(externalTypeName).head__O();
33736
- var y = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_name).head__O();
33737
- if ((!$m_sr_BoxesRunTime$().equals__O__O__Z(x, y))) {
33737
+ if ($n(x2).isExternal__Lio_kaitai_struct_format_ClassSpec__Z(curClass)) {
33738
+ var externalTypeName = $n($as_Lio_kaitai_struct_format_ClassSpec($n($n(x2).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_name;
33738
33739
  $n(this.Lio_kaitai_struct_ClassCompiler__f_lang).classForwardDeclaration__sci_List__V(externalTypeName)
33739
33740
  }
33740
33741
  };
@@ -39532,25 +39533,25 @@ function $f_Lio_kaitai_struct_translators_CommonOps__unaryOp__Lio_kaitai_struct_
39532
39533
  function $f_Lio_kaitai_struct_translators_CommonOps__$init$__V($thiz) {
39533
39534
  var this$24 = $n($m_s_Predef$().s_Predef$__f_Map);
39534
39535
  var self = $m_Lio_kaitai_struct_exprlang_Ast$operator$Mult$();
39535
- var $$x9 = new $c_T2(self, 13);
39536
+ var $$x9 = new $c_T2(self, 130);
39536
39537
  var self$1 = $m_Lio_kaitai_struct_exprlang_Ast$operator$Div$();
39537
- var $$x8 = new $c_T2(self$1, 13);
39538
+ var $$x8 = new $c_T2(self$1, 130);
39538
39539
  var self$2 = $m_Lio_kaitai_struct_exprlang_Ast$operator$Mod$();
39539
- var $$x7 = new $c_T2(self$2, 13);
39540
+ var $$x7 = new $c_T2(self$2, 130);
39540
39541
  var self$3 = $m_Lio_kaitai_struct_exprlang_Ast$operator$Add$();
39541
- var $$x6 = new $c_T2(self$3, 12);
39542
+ var $$x6 = new $c_T2(self$3, 120);
39542
39543
  var self$4 = $m_Lio_kaitai_struct_exprlang_Ast$operator$Sub$();
39543
- var $$x5 = new $c_T2(self$4, 12);
39544
+ var $$x5 = new $c_T2(self$4, 120);
39544
39545
  var self$5 = $m_Lio_kaitai_struct_exprlang_Ast$operator$LShift$();
39545
- var $$x4 = new $c_T2(self$5, 11);
39546
+ var $$x4 = new $c_T2(self$5, 110);
39546
39547
  var self$6 = $m_Lio_kaitai_struct_exprlang_Ast$operator$RShift$();
39547
- var $$x3 = new $c_T2(self$6, 11);
39548
+ var $$x3 = new $c_T2(self$6, 110);
39548
39549
  var self$7 = $m_Lio_kaitai_struct_exprlang_Ast$operator$BitAnd$();
39549
- var $$x2 = new $c_T2(self$7, 10);
39550
+ var $$x2 = new $c_T2(self$7, 100);
39550
39551
  var self$8 = $m_Lio_kaitai_struct_exprlang_Ast$operator$BitXor$();
39551
- var $$x1 = new $c_T2(self$8, 9);
39552
+ var $$x1 = new $c_T2(self$8, 90);
39552
39553
  var self$9 = $m_Lio_kaitai_struct_exprlang_Ast$operator$BitOr$();
39553
- var array = [$$x9, $$x8, $$x7, $$x6, $$x5, $$x4, $$x3, $$x2, $$x1, new $c_T2(self$9, 8)];
39554
+ var array = [$$x9, $$x8, $$x7, $$x6, $$x5, $$x4, $$x3, $$x2, $$x1, new $c_T2(self$9, 80)];
39554
39555
  var elems = $ct_sjsr_WrappedVarArgs__sjs_js_Array__(new $c_sjsr_WrappedVarArgs(), array);
39555
39556
  $thiz.io$kaitai$struct$translators$CommonOps$_setter_$OPERATOR_PRECEDENCE_$eq__sci_Map__V(this$24.from__sc_IterableOnce__sci_Map(elems))
39556
39557
  }
@@ -49656,6 +49657,9 @@ function $h_Lio_kaitai_struct_datatype_DataType$UserType() {
49656
49657
  /*<skip>*/
49657
49658
  }
49658
49659
  $h_Lio_kaitai_struct_datatype_DataType$UserType.prototype = $c_Lio_kaitai_struct_datatype_DataType$UserType.prototype;
49660
+ $c_Lio_kaitai_struct_datatype_DataType$UserType.prototype.isExternal__Lio_kaitai_struct_format_ClassSpec__Z = (function(curClass) {
49661
+ return $n($as_Lio_kaitai_struct_format_ClassSpec($n(this.Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).isExternal__Lio_kaitai_struct_format_ClassSpec__Z(curClass)
49662
+ });
49659
49663
  $c_Lio_kaitai_struct_datatype_DataType$UserType.prototype.isOpaque__Z = (function() {
49660
49664
  var cs = $as_Lio_kaitai_struct_format_ClassSpec($n(this.Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O());
49661
49665
  return ($n(cs).Lio_kaitai_struct_format_ClassSpec__f_isTopLevel || $n($n(cs).Lio_kaitai_struct_format_ClassSpec__f_meta).Lio_kaitai_struct_format_MetaSpec__f_isOpaque)
@@ -62994,7 +62998,7 @@ $c_Lio_kaitai_struct_languages_GoCompiler$.prototype.kaitaiType2NativeType__Lio_
62994
62998
  };
62995
62999
  var x$23 = $m_Lio_kaitai_struct_datatype_DataType$KaitaiStructType$();
62996
63000
  if (((x$23 === x1) || (x1 instanceof $c_Lio_kaitai_struct_datatype_DataType$CalcKaitaiStructType))) {
62997
- return "interface{}"
63001
+ return "kaitai.Struct"
62998
63002
  };
62999
63003
  var x$25 = $m_Lio_kaitai_struct_datatype_DataType$KaitaiStreamType$();
63000
63004
  if ((x$25 === x1)) {
@@ -73364,6 +73368,11 @@ $c_Lio_kaitai_struct_format_ClassSpec.prototype.toDataType__Lio_kaitai_struct_da
73364
73368
  cut.Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec = new $c_s_Some(this);
73365
73369
  return cut
73366
73370
  });
73371
+ $c_Lio_kaitai_struct_format_ClassSpec.prototype.isExternal__Lio_kaitai_struct_format_ClassSpec__Z = (function(curClass) {
73372
+ var x = $n(this.Lio_kaitai_struct_format_ClassSpec__f_name).head__O();
73373
+ var y = $n($n(curClass).Lio_kaitai_struct_format_ClassSpec__f_name).head__O();
73374
+ return (!$m_sr_BoxesRunTime$().equals__O__O__Z(x, y))
73375
+ });
73367
73376
  $c_Lio_kaitai_struct_format_ClassSpec.prototype.forEachRec__F1__V = (function(proc) {
73368
73377
  $n(proc).apply__O__O(this);
73369
73378
  var this$2 = $n(this.Lio_kaitai_struct_format_ClassSpec__f_types);
@@ -83640,41 +83649,49 @@ $c_Lio_kaitai_struct_translators_GoTranslator.prototype.boolToInt__Lio_kaitai_st
83640
83649
  });
83641
83650
  $c_Lio_kaitai_struct_translators_GoTranslator.prototype.userType__Lio_kaitai_struct_datatype_DataType$UserType__T__Lio_kaitai_struct_translators_ResultLocalVar = (function(t, io) {
83642
83651
  var v = this.allocateLocalVar__I();
83643
- var rc8 = false;
83644
- var x2 = null;
83645
- var x1 = $n(t).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
83646
- matchEnd9: {
83647
- var parent;
83648
- if ((x1 instanceof $c_s_Some)) {
83649
- rc8 = true;
83650
- x2 = $as_s_Some(x1);
83651
- var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2).s_Some__f_value);
83652
- var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
83653
- if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
83654
- var parent = "nil";
83652
+ if ($n(t).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_translators_GoTranslator__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
83653
+ var x1$2___1 = "nil";
83654
+ var x1$2___2 = "nil"
83655
+ } else {
83656
+ var rc8 = false;
83657
+ var x2 = null;
83658
+ var x1 = $n(t).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
83659
+ matchEnd9: {
83660
+ var parent;
83661
+ if ((x1 instanceof $c_s_Some)) {
83662
+ rc8 = true;
83663
+ x2 = $as_s_Some(x1);
83664
+ var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2).s_Some__f_value);
83665
+ var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
83666
+ if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
83667
+ var parent = "nil";
83668
+ break matchEnd9
83669
+ }
83670
+ };
83671
+ if (rc8) {
83672
+ var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2).s_Some__f_value);
83673
+ var parent = this.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
83655
83674
  break matchEnd9
83656
- }
83657
- };
83658
- if (rc8) {
83659
- var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2).s_Some__f_value);
83660
- var parent = this.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
83661
- break matchEnd9
83662
- };
83663
- var x$3 = $m_s_None$();
83664
- if ((x$3 === x1)) {
83665
- var parent = "this";
83666
- break matchEnd9
83675
+ };
83676
+ var x$3 = $m_s_None$();
83677
+ if ((x$3 === x1)) {
83678
+ var parent = "this";
83679
+ break matchEnd9
83680
+ };
83681
+ throw new $c_s_MatchError(x1)
83667
83682
  };
83668
- throw new $c_s_MatchError(x1)
83683
+ var x1$2___1 = parent;
83684
+ var x1$2___2 = "this._root"
83669
83685
  };
83670
- var root = ($n(t).isOpaque__Z() ? "nil" : "this._root");
83686
+ var parent$2 = $as_T(x1$2___1);
83687
+ var root = $as_T(x1$2___2);
83671
83688
  var this$2 = $n($as_sc_IterableOnceOps($n($n(t).Lio_kaitai_struct_datatype_DataType$UserType__f_args).map__F1__O(new $c_sjsr_AnonFunction1(((a$2) => {
83672
83689
  var a = $as_Lio_kaitai_struct_exprlang_Ast$expr(a$2);
83673
83690
  return this.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
83674
83691
  })))));
83675
83692
  var addParams = $f_sc_IterableOnceOps__mkString__T__T__T__T(this$2, "", ", ", "");
83676
83693
  $n(this.Lio_kaitai_struct_translators_GoTranslator__f_out).puts__T__V((((((this.localVarName__I__T(v) + " := New") + $m_Lio_kaitai_struct_languages_GoCompiler$().types2class__sci_List__T($n($as_Lio_kaitai_struct_format_ClassSpec($n($n(t).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_name)) + "(") + addParams) + ")"));
83677
- $n(this.Lio_kaitai_struct_translators_GoTranslator__f_out).puts__T__V((((((((("err = " + this.localVarName__I__T(v)) + ".Read(") + io) + ", ") + parent) + ", ") + root) + ")"));
83694
+ $n(this.Lio_kaitai_struct_translators_GoTranslator__f_out).puts__T__V((((((((("err = " + this.localVarName__I__T(v)) + ".Read(") + io) + ", ") + parent$2) + ", ") + root) + ")"));
83678
83695
  this.outAddErrCheck__V();
83679
83696
  return new $c_Lio_kaitai_struct_translators_ResultLocalVar(v)
83680
83697
  });
@@ -91093,7 +91110,7 @@ $c_Lio_kaitai_struct_languages_CppCompiler.prototype.parseExpr__Lio_kaitai_struc
91093
91110
  var this$2 = $n(this.Lio_kaitai_struct_languages_CppCompiler__f_translator);
91094
91111
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
91095
91112
  })))), "", ", ", ", ");
91096
- if ($n(x10).isOpaque__Z()) {
91113
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
91097
91114
  var addArgs = ""
91098
91115
  } else {
91099
91116
  var rc8 = false;
@@ -92330,7 +92347,8 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.classConstructorHeader__sci_
92330
92347
  };
92331
92348
  $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
92332
92349
  $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}");
92333
- this.universalFooter__V()
92350
+ this.universalFooter__V();
92351
+ this.ioAccessor__V()
92334
92352
  });
92335
92353
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.classConstructorFooter__V = (function() {
92336
92354
  /*<skip>*/
@@ -92633,7 +92651,7 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.parseExpr__Lio_kaitai_struct
92633
92651
  return (((((io + ".ReadBitsInt") + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T($n(bitEndian$2).toSuffix__T())) + "(") + width) + ")")
92634
92652
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
92635
92653
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dataType);
92636
- if ($n(x10).isOpaque__Z()) {
92654
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
92637
92655
  var addArgs = ""
92638
92656
  } else {
92639
92657
  var rc8 = false;
@@ -92817,6 +92835,15 @@ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.attrValidateExpr__Lio_kaitai
92817
92835
  $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
92818
92836
  $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}")
92819
92837
  });
92838
+ $c_Lio_kaitai_struct_languages_GoCompiler.prototype.ioAccessor__V = (function() {
92839
+ var this$1 = $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out);
92840
+ $n(this$1.Lio_kaitai_struct_StringLanguageOutputWriter__f_sb).append__T__scm_StringBuilder("\n");
92841
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V((("func (this " + $m_Lio_kaitai_struct_languages_GoCompiler$().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)) + ") IO_() *kaitai.Stream {"));
92842
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).inc__V();
92843
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("return this._io");
92844
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).dec__V();
92845
+ $n(this.Lio_kaitai_struct_languages_GoCompiler__f_out).puts__T__V("}")
92846
+ });
92820
92847
  $c_Lio_kaitai_struct_languages_GoCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
92821
92848
  return this.Lio_kaitai_struct_languages_GoCompiler__f_translator
92822
92849
  });
@@ -93443,40 +93470,48 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.parseExpr__Lio_kaita
93443
93470
  return (((((io + ".readBitsInt") + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T($n(bitEndian$2).toSuffix__T())) + "(") + width) + ")")
93444
93471
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
93445
93472
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dataType);
93446
- var rc8 = false;
93447
- var x2$2 = null;
93448
- var x1$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
93449
- matchEnd9: {
93450
- var parent;
93451
- if ((x1$2 instanceof $c_s_Some)) {
93452
- rc8 = true;
93453
- x2$2 = $as_s_Some(x1$2);
93454
- var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
93455
- var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
93456
- if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
93457
- var parent = "null";
93473
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
93474
+ var x1$3___1 = "null";
93475
+ var x1$3___2 = "null"
93476
+ } else {
93477
+ var rc8 = false;
93478
+ var x2$2 = null;
93479
+ var x1$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
93480
+ matchEnd9: {
93481
+ var parent;
93482
+ if ((x1$2 instanceof $c_s_Some)) {
93483
+ rc8 = true;
93484
+ x2$2 = $as_s_Some(x1$2);
93485
+ var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
93486
+ var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
93487
+ if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
93488
+ var parent = "null";
93489
+ break matchEnd9
93490
+ }
93491
+ };
93492
+ if (rc8) {
93493
+ var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
93494
+ var this$1 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
93495
+ var parent = this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
93458
93496
  break matchEnd9
93459
- }
93460
- };
93461
- if (rc8) {
93462
- var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
93463
- var this$1 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator);
93464
- var parent = this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
93465
- break matchEnd9
93466
- };
93467
- var x$3 = $m_s_None$();
93468
- if ((x$3 === x1$2)) {
93469
- var parent = "this";
93470
- break matchEnd9
93497
+ };
93498
+ var x$3 = $m_s_None$();
93499
+ if ((x$3 === x1$2)) {
93500
+ var parent = "this";
93501
+ break matchEnd9
93502
+ };
93503
+ throw new $c_s_MatchError(x1$2)
93471
93504
  };
93472
- throw new $c_s_MatchError(x1$2)
93505
+ var x1$3___1 = parent;
93506
+ var x1$3___2 = "this._root"
93473
93507
  };
93474
- var root = ($n(x10).isOpaque__Z() ? "null" : "this._root");
93475
- var x1$3 = $n($n($as_Lio_kaitai_struct_format_ClassSpec($n($n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_meta).Lio_kaitai_struct_format_MetaSpec__f_endian;
93508
+ var parent$2 = $as_T(x1$3___1);
93509
+ var root = $as_T(x1$3___2);
93510
+ var x1$4 = $n($n($as_Lio_kaitai_struct_format_ClassSpec($n($n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_meta).Lio_kaitai_struct_format_MetaSpec__f_endian;
93476
93511
  matchEnd6: {
93477
93512
  var addEndian;
93478
- if ((x1$3 instanceof $c_s_Some)) {
93479
- var x2$3 = $as_s_Some(x1$3);
93513
+ if ((x1$4 instanceof $c_s_Some)) {
93514
+ var x2$3 = $as_s_Some(x1$4);
93480
93515
  var p3$2 = $as_Lio_kaitai_struct_datatype_Endianness($n(x2$3).s_Some__f_value);
93481
93516
  var x$5 = $m_Lio_kaitai_struct_datatype_InheritedEndian$();
93482
93517
  if ((x$5 === p3$2)) {
@@ -93509,7 +93544,7 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.parseExpr__Lio_kaita
93509
93544
  } else {
93510
93545
  var topLevelModulePrefix = ""
93511
93546
  };
93512
- return ((((((((((("new " + topLevelModulePrefix) + $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().types2class__sci_List__T($n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_name)) + "(") + io) + ", ") + parent) + ", ") + root) + addEndian) + addParams) + ")")
93547
+ return ((((((((((("new " + topLevelModulePrefix) + $m_Lio_kaitai_struct_languages_JavaScriptCompiler$().types2class__sci_List__T($n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_name)) + "(") + io) + ", ") + parent$2) + ", ") + root) + addEndian) + addParams) + ")")
93513
93548
  } else {
93514
93549
  throw new $c_s_MatchError(dataType)
93515
93550
  }
@@ -93673,7 +93708,7 @@ $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.debugClassSequence__
93673
93708
  /*<skip>*/
93674
93709
  });
93675
93710
  $c_Lio_kaitai_struct_languages_JavaScriptCompiler.prototype.classToString__Lio_kaitai_struct_exprlang_Ast$expr__V = (function(toStringExpr) {
93676
- var name = $as_T($n($n($n($n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_translator).Lio_kaitai_struct_translators_BaseTranslator__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass).Lio_kaitai_struct_format_ClassSpec__f_name).last__O());
93711
+ var name = $as_T($n($n($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass).Lio_kaitai_struct_format_ClassSpec__f_name).last__O());
93677
93712
  var className = $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T(name);
93678
93713
  var this$1 = $n(this.Lio_kaitai_struct_languages_JavaScriptCompiler__f_out);
93679
93714
  $n(this$1.Lio_kaitai_struct_StringLanguageOutputWriter__f_sb).append__T__scm_StringBuilder("\n");
@@ -94297,7 +94332,7 @@ $c_Lio_kaitai_struct_languages_PHPCompiler.prototype.parseExpr__Lio_kaitai_struc
94297
94332
  var this$2 = $n(this.Lio_kaitai_struct_languages_PHPCompiler__f_translator);
94298
94333
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
94299
94334
  })))), "", ", ", ", ");
94300
- if ($n(x10).isOpaque__Z()) {
94335
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
94301
94336
  var addArgs = ""
94302
94337
  } else {
94303
94338
  var rc8 = false;
@@ -95009,7 +95044,7 @@ $c_Lio_kaitai_struct_languages_PerlCompiler.prototype.parseExpr__Lio_kaitai_stru
95009
95044
  return (((((io + "->read_bits_int_") + $n(bitEndian$2).toSuffix__T()) + "(") + width) + ")")
95010
95045
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
95011
95046
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dataType);
95012
- if ($n(x10).isOpaque__Z()) {
95047
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
95013
95048
  var addArgs = ""
95014
95049
  } else {
95015
95050
  var x1$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
@@ -95661,7 +95696,7 @@ $c_Lio_kaitai_struct_languages_RustCompiler.prototype.parseExpr__Lio_kaitai_stru
95661
95696
  var this$2 = $n(this.Lio_kaitai_struct_languages_RustCompiler__f_translator);
95662
95697
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
95663
95698
  })))), "", ", ", ", ");
95664
- if ($n(x10).isOpaque__Z()) {
95699
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
95665
95700
  /*<skip>*/
95666
95701
  } else {
95667
95702
  var rc8 = false;
@@ -97015,7 +97050,7 @@ $c_Lio_kaitai_struct_languages_CSharpCompiler.prototype.parseExpr__Lio_kaitai_st
97015
97050
  var this$2 = $n(this.Lio_kaitai_struct_languages_CSharpCompiler__f_translator);
97016
97051
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
97017
97052
  })))), "", ", ", ", ");
97018
- if ($n(x10).isOpaque__Z()) {
97053
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
97019
97054
  var addArgs = ""
97020
97055
  } else {
97021
97056
  var rc8 = false;
@@ -97847,7 +97882,7 @@ $c_Lio_kaitai_struct_languages_LuaCompiler.prototype.parseExpr__Lio_kaitai_struc
97847
97882
  var this$2 = $n(this.Lio_kaitai_struct_languages_LuaCompiler__f_translator);
97848
97883
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
97849
97884
  })))), "", ", ", ", ");
97850
- if ($n(x10).isOpaque__Z()) {
97885
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
97851
97886
  var addArgs = ""
97852
97887
  } else {
97853
97888
  var rc8 = false;
@@ -98717,54 +98752,62 @@ $c_Lio_kaitai_struct_languages_NimCompiler.prototype.parseExpr__Lio_kaitai_struc
98717
98752
  var expr = (((((io + ".readBitsInt") + $m_Lio_kaitai_struct_languages_NimCompiler$().camelCase__T__Z__T($n(bitEndian$2).toSuffix__T(), true)) + "(") + width) + ")")
98718
98753
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
98719
98754
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dataType);
98720
- var rc8 = false;
98721
- var x2$2 = null;
98722
- var x1$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
98723
- matchEnd9: {
98724
- var parent;
98725
- if ((x1$2 instanceof $c_s_Some)) {
98726
- rc8 = true;
98727
- x2$2 = $as_s_Some(x1$2);
98728
- var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
98729
- var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
98730
- if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
98731
- var parent = "nil";
98755
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
98756
+ var x1$3___1 = "nil";
98757
+ var x1$3___2 = "nil"
98758
+ } else {
98759
+ var rc8 = false;
98760
+ var x2$2 = null;
98761
+ var x1$2 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_forcedParent;
98762
+ matchEnd9: {
98763
+ var parent;
98764
+ if ((x1$2 instanceof $c_s_Some)) {
98765
+ rc8 = true;
98766
+ x2$2 = $as_s_Some(x1$2);
98767
+ var p3 = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
98768
+ var x = $m_Lio_kaitai_struct_datatype_DataType$().Lio_kaitai_struct_datatype_DataType$__f_USER_TYPE_NO_PARENT;
98769
+ if (((x === null) ? (p3 === null) : $n(x).equals__O__Z(p3))) {
98770
+ var parent = "nil";
98771
+ break matchEnd9
98772
+ }
98773
+ };
98774
+ if (rc8) {
98775
+ var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
98776
+ var this$1 = $n(this.Lio_kaitai_struct_languages_NimCompiler__f_translator);
98777
+ var parent = this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
98732
98778
  break matchEnd9
98733
- }
98734
- };
98735
- if (rc8) {
98736
- var fp = $as_Lio_kaitai_struct_exprlang_Ast$expr($n(x2$2).s_Some__f_value);
98737
- var this$1 = $n(this.Lio_kaitai_struct_languages_NimCompiler__f_translator);
98738
- var parent = this$1.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(fp, 0);
98739
- break matchEnd9
98740
- };
98741
- var x$3 = $m_s_None$();
98742
- if ((x$3 === x1$2)) {
98743
- var parent = "this";
98744
- break matchEnd9
98779
+ };
98780
+ var x$3 = $m_s_None$();
98781
+ if ((x$3 === x1$2)) {
98782
+ var parent = "this";
98783
+ break matchEnd9
98784
+ };
98785
+ throw new $c_s_MatchError(x1$2)
98745
98786
  };
98746
- throw new $c_s_MatchError(x1$2)
98787
+ var x1$3___1 = parent;
98788
+ var x1$3___2 = "this.root"
98747
98789
  };
98748
- var addArgs = (", this.root, " + parent);
98790
+ var parent$2 = $as_T(x1$3___1);
98791
+ var root = $as_T(x1$3___2);
98749
98792
  var addParams = $m_Lio_kaitai_struct_Utils$().join__sc_IterableOnce__T__T__T__T($as_sc_IterableOnce($n($n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_args).map__F1__O(new $c_sjsr_AnonFunction1(((a$2) => {
98750
98793
  var a = $as_Lio_kaitai_struct_exprlang_Ast$expr(a$2);
98751
98794
  var this$3 = $n(this.Lio_kaitai_struct_languages_NimCompiler__f_translator);
98752
98795
  return this$3.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
98753
98796
  })))), ", ", ", ", "");
98754
- var x1$3 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec;
98755
- if ((x1$3 instanceof $c_s_Some)) {
98756
- var x2$3 = $as_s_Some(x1$3);
98797
+ var x1$4 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec;
98798
+ if ((x1$4 instanceof $c_s_Some)) {
98799
+ var x2$3 = $as_s_Some(x1$4);
98757
98800
  var cs = $as_Lio_kaitai_struct_format_ClassSpec($n(x2$3).s_Some__f_value);
98758
98801
  var $$x1 = $n(cs).Lio_kaitai_struct_format_ClassSpec__f_name
98759
98802
  } else {
98760
98803
  var x$5 = $m_s_None$();
98761
- if ((!(x$5 === x1$3))) {
98762
- throw new $c_s_MatchError(x1$3)
98804
+ if ((!(x$5 === x1$4))) {
98805
+ throw new $c_s_MatchError(x1$4)
98763
98806
  };
98764
98807
  var $$x1 = $n(x10).Lio_kaitai_struct_datatype_DataType$UserType__f_name
98765
98808
  };
98766
98809
  var concreteName = this.namespaced__sci_List__T($$x1);
98767
- var expr = (((((concreteName + ".read(") + io) + addArgs) + addParams) + ")")
98810
+ var expr = ((((((((concreteName + ".read(") + io) + ", ") + root) + ", ") + parent$2) + addParams) + ")")
98768
98811
  } else {
98769
98812
  var expr;
98770
98813
  throw new $c_s_MatchError(dataType)
@@ -99444,7 +99487,7 @@ $c_Lio_kaitai_struct_languages_RubyCompiler.prototype.parseExpr__Lio_kaitai_stru
99444
99487
  var this$2 = $n(this.Lio_kaitai_struct_languages_RubyCompiler__f_translator);
99445
99488
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
99446
99489
  })))), ", ", ", ", "");
99447
- if ($n(x10).isOpaque__Z()) {
99490
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
99448
99491
  var addArgs = ""
99449
99492
  } else {
99450
99493
  var rc8 = false;
@@ -100841,7 +100884,7 @@ $c_Lio_kaitai_struct_languages_JavaCompiler.prototype.parseExpr__Lio_kaitai_stru
100841
100884
  var expr = (((((io + ".readBitsInt") + $m_Lio_kaitai_struct_Utils$().upperCamelCase__T__T($n(bitEndian$2).toSuffix__T())) + "(") + width) + ")")
100842
100885
  } else if ((dataType instanceof $c_Lio_kaitai_struct_datatype_DataType$UserType)) {
100843
100886
  var x10 = $as_Lio_kaitai_struct_datatype_DataType$UserType(dataType);
100844
- if ($n(x10).isOpaque__Z()) {
100887
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
100845
100888
  var addArgs = ""
100846
100889
  } else {
100847
100890
  var rc8 = false;
@@ -101846,7 +101889,7 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.parseExpr__Lio_kaitai_st
101846
101889
  var this$2 = $n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator);
101847
101890
  return this$2.translate__Lio_kaitai_struct_exprlang_Ast$expr__I__T(a, 0)
101848
101891
  })))), "", ", ", ", ");
101849
- if ($n(x10).isOpaque__Z()) {
101892
+ if ($n(x10).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass)) {
101850
101893
  var addArgs = ""
101851
101894
  } else {
101852
101895
  var rc8 = false;
@@ -102091,8 +102134,7 @@ $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.attrValidateExpr__Lio_ka
102091
102134
  });
102092
102135
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.userType2class__Lio_kaitai_struct_datatype_DataType$UserType__T = (function(t) {
102093
102136
  var name = $n($as_Lio_kaitai_struct_format_ClassSpec($n($n(t).Lio_kaitai_struct_datatype_DataType$UserType__f_classSpec).get__O())).Lio_kaitai_struct_format_ClassSpec__f_name;
102094
- var firstName = $as_T($n(name).head__O());
102095
- var prefix = (($n(t).isOpaque__Z() && (firstName !== $n($n($n($n(this.Lio_kaitai_struct_languages_PythonCompiler__f_translator).Lio_kaitai_struct_translators_BaseTranslator__f_provider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass).Lio_kaitai_struct_format_ClassSpec__f_name).head__O())) ? (firstName + ".") : "");
102137
+ var prefix = ($n(t).isExternal__Lio_kaitai_struct_format_ClassSpec__Z($n(this.Lio_kaitai_struct_languages_components_LanguageCompiler__f_typeProvider).Lio_kaitai_struct_ClassTypeProvider__f_nowClass) ? ($n(name).head__O() + ".") : "");
102096
102138
  return (prefix + $m_Lio_kaitai_struct_languages_PythonCompiler$().types2class__sci_List__T(name))
102097
102139
  });
102098
102140
  $c_Lio_kaitai_struct_languages_PythonCompiler.prototype.translator__Lio_kaitai_struct_translators_AbstractTranslator = (function() {
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "bugs": {
7
7
  "url": "https://github.com/kaitai-io/kaitai_struct/issues"
8
8
  },
9
- "bundleDependencies": false,
9
+ "bundleDependencies": [],
10
10
  "deprecated": false,
11
11
  "description": "Kaitai Struct Compiler",
12
12
  "homepage": "https://github.com/kaitai-io/kaitai_struct_compiler#readme",
@@ -35,5 +35,5 @@
35
35
  "scripts": {
36
36
  "test": "echo \"Error: no test specified\" && exit 1"
37
37
  },
38
- "version": "0.11.0-SNAPSHOT20240322.004237.c4672ee"
38
+ "version": "0.11.0-SNAPSHOT20240401.112327.fda00d3"
39
39
  }