@abaplint/core 2.93.62 → 2.93.63
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.
- package/build/abaplint.d.ts +5 -0
- package/build/src/abap/5_syntax/basic_types.js +6 -0
- package/build/src/abap/5_syntax/statements/loop.js +1 -0
- package/build/src/cds/expressions/cds_parameters_select.js +15 -0
- package/build/src/cds/expressions/cds_select.js +1 -2
- package/build/src/cds/expressions/index.js +1 -1
- package/build/src/registry.js +1 -1
- package/package.json +1 -1
package/build/abaplint.d.ts
CHANGED
|
@@ -696,6 +696,10 @@ declare class CDSParameters extends Expression {
|
|
|
696
696
|
getRunnable(): IStatementRunnable;
|
|
697
697
|
}
|
|
698
698
|
|
|
699
|
+
declare class CDSParametersSelect extends Expression {
|
|
700
|
+
getRunnable(): IStatementRunnable;
|
|
701
|
+
}
|
|
702
|
+
|
|
699
703
|
export declare class CDSParser {
|
|
700
704
|
parse(file: IFile | undefined): ExpressionNode | undefined;
|
|
701
705
|
}
|
|
@@ -2088,6 +2092,7 @@ declare namespace ExpressionsCDS {
|
|
|
2088
2092
|
CDSGroupBy,
|
|
2089
2093
|
CDSJoin,
|
|
2090
2094
|
CDSName,
|
|
2095
|
+
CDSParametersSelect,
|
|
2091
2096
|
CDSParameters,
|
|
2092
2097
|
CDSRelation,
|
|
2093
2098
|
CDSSelect,
|
|
@@ -551,6 +551,8 @@ class BasicTypes {
|
|
|
551
551
|
const foo = varVar === null || varVar === void 0 ? void 0 : varVar.getType();
|
|
552
552
|
if (foo instanceof basic_1.ObjectReferenceType) {
|
|
553
553
|
const id = foo.getIdentifier();
|
|
554
|
+
const type = id instanceof types_1.ClassDefinition ? "CLAS" : "INTF";
|
|
555
|
+
this.scope.addReference(expr.getFirstToken(), id, _reference_1.ReferenceType.ObjectOrientedReference, this.filename, { ooType: type, ooName: id.getName() });
|
|
554
556
|
if (id instanceof types_1.ClassDefinition) {
|
|
555
557
|
const byName = new _object_oriented_1.ObjectOriented(this.scope).searchTypeName(id, typeName);
|
|
556
558
|
foundType = byName === null || byName === void 0 ? void 0 : byName.getType();
|
|
@@ -560,6 +562,10 @@ class BasicTypes {
|
|
|
560
562
|
this.scope.addReference(expr.getTokens()[2], byName, _reference_1.ReferenceType.TypeReference, this.filename);
|
|
561
563
|
}
|
|
562
564
|
}
|
|
565
|
+
// todo, ugh, hmm
|
|
566
|
+
while (subs.length > 0) {
|
|
567
|
+
subs.shift();
|
|
568
|
+
}
|
|
563
569
|
}
|
|
564
570
|
else {
|
|
565
571
|
const found = this.scope.findType(subs[0]);
|
|
@@ -40,6 +40,7 @@ class Loop {
|
|
|
40
40
|
throw new Error("Loop, no header line");
|
|
41
41
|
}
|
|
42
42
|
else if (!(sourceType instanceof basic_1.TableType)
|
|
43
|
+
&& !(sourceType instanceof basic_1.AnyType)
|
|
43
44
|
&& !(sourceType instanceof basic_1.VoidType)
|
|
44
45
|
&& concat.startsWith("LOOP AT GROUP ") === false) {
|
|
45
46
|
throw new Error("Loop, not a table type");
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CDSParametersSelect = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
5
|
+
const combi_1 = require("../../abap/2_statements/combi");
|
|
6
|
+
class CDSParametersSelect extends combi_1.Expression {
|
|
7
|
+
getRunnable() {
|
|
8
|
+
const name = (0, combi_1.seq)(_1.CDSName, (0, combi_1.opt)((0, combi_1.seq)(".", _1.CDSName)));
|
|
9
|
+
const value = (0, combi_1.alt)(name, _1.CDSString);
|
|
10
|
+
const nameValue = (0, combi_1.seq)(name, ":", value);
|
|
11
|
+
return (0, combi_1.seq)("(", nameValue, (0, combi_1.star)((0, combi_1.seq)(",", nameValue)), ")");
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.CDSParametersSelect = CDSParametersSelect;
|
|
15
|
+
//# sourceMappingURL=cds_parameters_select.js.map
|
|
@@ -4,11 +4,10 @@ exports.CDSSelect = void 0;
|
|
|
4
4
|
const _1 = require(".");
|
|
5
5
|
const combi_1 = require("../../abap/2_statements/combi");
|
|
6
6
|
const cds_association_1 = require("./cds_association");
|
|
7
|
-
const cds_element_1 = require("./cds_element");
|
|
8
7
|
const cds_join_1 = require("./cds_join");
|
|
9
8
|
class CDSSelect extends combi_1.Expression {
|
|
10
9
|
getRunnable() {
|
|
11
|
-
return (0, combi_1.seq)("SELECT", (0, combi_1.opt)("DISTINCT"), "FROM", _1.CDSSource, (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.str)("{"), (0, combi_1.plus)(
|
|
10
|
+
return (0, combi_1.seq)("SELECT", (0, combi_1.opt)("DISTINCT"), "FROM", _1.CDSSource, (0, combi_1.opt)(_1.CDSParametersSelect), (0, combi_1.opt)(_1.CDSAs), (0, combi_1.star)(cds_join_1.CDSJoin), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.star)(cds_association_1.CDSAssociation), (0, combi_1.star)(_1.CDSComposition), (0, combi_1.str)("{"), (0, combi_1.plus)(_1.CDSElement), (0, combi_1.star)((0, combi_1.seq)(",", _1.CDSElement)), (0, combi_1.str)("}"), (0, combi_1.opt)(_1.CDSGroupBy), (0, combi_1.opt)(_1.CDSWhere), (0, combi_1.opt)((0, combi_1.seq)("UNION", (0, combi_1.opt)("ALL"), CDSSelect)));
|
|
12
11
|
}
|
|
13
12
|
}
|
|
14
13
|
exports.CDSSelect = CDSSelect;
|
|
@@ -15,7 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./cds_aggregate"), exports);
|
|
18
|
-
__exportStar(require("./cds_aggregate"), exports);
|
|
19
18
|
__exportStar(require("./cds_annotate"), exports);
|
|
20
19
|
__exportStar(require("./cds_annotation_array"), exports);
|
|
21
20
|
__exportStar(require("./cds_annotation_object"), exports);
|
|
@@ -38,6 +37,7 @@ __exportStar(require("./cds_function"), exports);
|
|
|
38
37
|
__exportStar(require("./cds_group_by"), exports);
|
|
39
38
|
__exportStar(require("./cds_join"), exports);
|
|
40
39
|
__exportStar(require("./cds_name"), exports);
|
|
40
|
+
__exportStar(require("./cds_parameters_select"), exports);
|
|
41
41
|
__exportStar(require("./cds_parameters"), exports);
|
|
42
42
|
__exportStar(require("./cds_relation"), exports);
|
|
43
43
|
__exportStar(require("./cds_select"), exports);
|
package/build/src/registry.js
CHANGED