@abaplint/core 2.97.11 → 2.97.12
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.
|
@@ -254,7 +254,31 @@ class TypeUtils {
|
|
|
254
254
|
return true;
|
|
255
255
|
}
|
|
256
256
|
else if (source instanceof basic_1.TableType) {
|
|
257
|
-
|
|
257
|
+
const targetRowType = target.getRowType();
|
|
258
|
+
const sourceRowType = source.getRowType();
|
|
259
|
+
if (targetRowType instanceof basic_1.VoidType || targetRowType instanceof basic_1.AnyType || targetRowType instanceof basic_1.UnknownType) {
|
|
260
|
+
return true;
|
|
261
|
+
}
|
|
262
|
+
else if (sourceRowType instanceof basic_1.VoidType || sourceRowType instanceof basic_1.AnyType || sourceRowType instanceof basic_1.UnknownType) {
|
|
263
|
+
return true;
|
|
264
|
+
}
|
|
265
|
+
if (targetRowType instanceof basic_1.StructureType && this.structureContainsString(targetRowType)) {
|
|
266
|
+
if (!(sourceRowType instanceof basic_1.StructureType)) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
else if (!(this.structureContainsString(sourceRowType))) {
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (sourceRowType instanceof basic_1.StructureType && this.structureContainsString(sourceRowType)) {
|
|
274
|
+
if (!(targetRowType instanceof basic_1.StructureType)) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
else if (!(this.structureContainsString(targetRowType))) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return true;
|
|
258
282
|
}
|
|
259
283
|
return false;
|
|
260
284
|
}
|
package/build/src/registry.js
CHANGED