@abaplint/core
Version:
abaplint - Core API
19 lines • 1.16 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NewObject = void 0;
const combi_1 = require("../combi");
const version_1 = require("../../../version");
const _1 = require(".");
const tokens_1 = require("../../1_lexer/tokens");
const field_assignment_1 = require("./field_assignment");
// note: this can also be new data reference
class NewObject extends combi_1.Expression {
getRunnable() {
const lines = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), _1.Source, (0, combi_1.tok)(tokens_1.WParenRightW)));
const linesFields = (0, combi_1.plus)((0, combi_1.seq)((0, combi_1.tok)(tokens_1.WParenLeftW), (0, combi_1.plus)(field_assignment_1.FieldAssignment), (0, combi_1.tok)(tokens_1.WParenRightW)));
const neww = (0, combi_1.seq)("NEW", _1.TypeNameOrInfer, (0, combi_1.tok)(tokens_1.ParenLeftW), (0, combi_1.optPrio)((0, combi_1.alt)(_1.Source, _1.ParameterListS, lines, linesFields)), ")");
return (0, combi_1.ver)(version_1.Version.v740sp02, neww, version_1.Version.OpenABAP);
}
}
exports.NewObject = NewObject;
//# sourceMappingURL=new_object.js.map