@abaplint/core 2.119.63 → 2.119.65
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.
|
@@ -344,7 +344,7 @@ class TypeUtils {
|
|
|
344
344
|
}
|
|
345
345
|
else if (target instanceof basic_1.XStringType) {
|
|
346
346
|
if (((_c = source.getAbstractTypeData()) === null || _c === void 0 ? void 0 : _c.derivedFromConstant) === true) {
|
|
347
|
-
return
|
|
347
|
+
return (node === null || node === void 0 ? void 0 : node.concatTokens()) !== "''";
|
|
348
348
|
}
|
|
349
349
|
return false;
|
|
350
350
|
}
|
|
@@ -38,6 +38,7 @@ const Expressions = __importStar(require("../../2_statements/expressions"));
|
|
|
38
38
|
const _typed_identifier_1 = require("../../types/_typed_identifier");
|
|
39
39
|
const basic_1 = require("../../types/basic");
|
|
40
40
|
const basic_types_1 = require("../basic_types");
|
|
41
|
+
const _syntax_input_1 = require("../_syntax_input");
|
|
41
42
|
const assert_error_1 = require("../assert_error");
|
|
42
43
|
class MethodDefReturning {
|
|
43
44
|
static runSyntax(node, input, meta) {
|
|
@@ -50,8 +51,11 @@ class MethodDefReturning {
|
|
|
50
51
|
throw new assert_error_1.AssertError("method_parameter.ts, unexpected structure");
|
|
51
52
|
}
|
|
52
53
|
let found = new basic_types_1.BasicTypes(input).parseType(type);
|
|
53
|
-
|
|
54
|
-
|
|
54
|
+
const message = "RETURNING parameter must be fully specified";
|
|
55
|
+
const typeText = type.concatTokens().toUpperCase();
|
|
56
|
+
if ((found === null || found === void 0 ? void 0 : found.isGeneric()) === true || typeText === "TYPE X" || typeText === "TYPE C") {
|
|
57
|
+
input.issues.push((0, _syntax_input_1.syntaxIssue)(input, type.getFirstToken(), message));
|
|
58
|
+
found = new basic_1.UnknownType(message);
|
|
55
59
|
}
|
|
56
60
|
if (found) {
|
|
57
61
|
return new _typed_identifier_1.TypedIdentifier(name.getFirstToken(), input.filename, found, meta);
|
|
@@ -336,6 +336,9 @@ class Source {
|
|
|
336
336
|
if (context instanceof basic_1.FloatType && found instanceof basic_1.IntegerType) {
|
|
337
337
|
return context;
|
|
338
338
|
}
|
|
339
|
+
else if (context instanceof basic_1.IntegerType && found instanceof basic_1.HexType) {
|
|
340
|
+
return context;
|
|
341
|
+
}
|
|
339
342
|
else if ((context instanceof basic_1.IntegerType || context instanceof basic_1.FloatType) && (found === null || found === void 0 ? void 0 : found.isGeneric())) {
|
|
340
343
|
return context;
|
|
341
344
|
}
|
package/build/src/registry.js
CHANGED
|
@@ -71,7 +71,7 @@ class DynproChecks {
|
|
|
71
71
|
return ret;
|
|
72
72
|
}
|
|
73
73
|
hasContainerRelativeCoordinates(field) {
|
|
74
|
-
return field.contType === "TABLE_CTRL" || field.contType === "LOOP";
|
|
74
|
+
return field.contType === "TABLE_CTRL" || field.contType === "LOOP" || field.contType === "STRIP_CTRL";
|
|
75
75
|
}
|
|
76
76
|
overlaps(first, second) {
|
|
77
77
|
if (first.line === 0 || second.line === 0 || first.column === 0 || second.column === 0) {
|