@@ -63,8 +63,11 @@ class PythonTranslator(provider: TypeProvider, importList: ImportList, config: R
63
63
}
64
64
s " ${PythonCompiler .types2class(enumSpec.name, isExternal)}. $label"
65
65
}
66
- override def doEnumById (enumSpec : EnumSpec , id : String ): String =
66
+ override def doEnumById (enumSpec : EnumSpec , id : String ): String = {
67
+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
68
+
67
69
s " ${PythonCompiler .kstreamName}.resolve_enum( ${PythonCompiler .types2class(enumSpec.name, enumSpec.isExternal(provider.nowClass))}, $id) "
70
+ }
68
71
69
72
override def booleanOp (op : Ast .boolop) = op match {
70
73
case Ast .boolop.Or => " or"
@@ -103,16 +106,25 @@ class PythonTranslator(provider: TypeProvider, importList: ImportList, config: R
103
106
104
107
override def bytesLength (value : Ast .expr): String =
105
108
s " len( ${translate(value)}) "
106
- override def bytesSubscript (container : Ast .expr, idx : Ast .expr): String =
109
+ override def bytesSubscript (container : Ast .expr, idx : Ast .expr): String = {
110
+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
111
+
107
112
s " ${PythonCompiler .kstreamName}.byte_array_index( ${translate(container)}, ${translate(idx)}) "
113
+ }
108
114
override def bytesFirst (a : Ast .expr): String =
109
115
bytesSubscript(a, Ast .expr.IntNum (0 ))
110
116
override def bytesLast (a : Ast .expr): String =
111
117
bytesSubscript(a, Ast .expr.IntNum (- 1 ))
112
- override def bytesMin (b : Ast .expr): String =
118
+ override def bytesMin (b : Ast .expr): String = {
119
+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
120
+
113
121
s " ${PythonCompiler .kstreamName}.byte_array_min( ${translate(b)}) "
114
- override def bytesMax (b : Ast .expr): String =
122
+ }
123
+ override def bytesMax (b : Ast .expr): String = {
124
+ importList.add(s " from kaitaistruct import ${PythonCompiler .kstreamName}" )
125
+
115
126
s " ${PythonCompiler .kstreamName}.byte_array_max( ${translate(b)}) "
127
+ }
116
128
117
129
118
130
override def strLength (value : Ast .expr): String =
0 commit comments