@abaplint/core
Version:
abaplint - Core API
30 lines • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Definition = void 0;
const _abap_object_1 = require("../objects/_abap_object");
const _lsp_utils_1 = require("./_lsp_utils");
const _lookup_1 = require("./_lookup");
// go to definition
class Definition {
constructor(reg) {
this.reg = reg;
}
find(textDocument, position) {
var _a;
const file = _lsp_utils_1.LSPUtils.getABAPFile(this.reg, textDocument.uri);
if (file === undefined) {
return undefined;
}
const obj = this.reg.getObject(file.getObjectType(), file.getObjectName());
if (!(obj instanceof _abap_object_1.ABAPObject)) {
return undefined;
}
const found = _lsp_utils_1.LSPUtils.findCursor(this.reg, { textDocument, position });
if (found === undefined) {
return undefined;
}
return (_a = _lookup_1.LSPLookup.lookup(found, this.reg, obj)) === null || _a === void 0 ? void 0 : _a.definition;
}
}
exports.Definition = Definition;
//# sourceMappingURL=definition.js.map