alm
Version:
The best IDE for TypeScript
38 lines (37 loc) • 1.35 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
/**
* Backend for the live analysis feature
*/
/** Imports */
var utils = require("../../../../common/utils");
/** We just use the *active* project if any */
var activeProject = require("../activeProject");
var getProject = activeProject.GetProject.getCurrentIfAny;
/** Some other analysis modules we depend on */
var umlDiagram = require("../umlDiagram/umlDiagram");
function getLiveAnalysis(query) {
var filePath = query.filePath;
var project = activeProject.GetProject.getCurrentIfAny();
var program = project.languageService.getProgram();
var sourceFile = project.getProjectSourceFiles().find(function (f) { return f.fileName === query.filePath; });
/** Figure out overrides */
var overrides = [];
var classes = umlDiagram.getClasses({ sourceFile: sourceFile, program: program });
classes.forEach(function (c) {
c.members.forEach(function (m) {
if (m.override) {
var override = m.override;
overrides.push({
line: m.location.position.line,
overrides: override
});
}
});
});
var result = {
overrides: overrides
};
return utils.resolve(result);
}
exports.getLiveAnalysis = getLiveAnalysis;