UNPKG

@neo-one/smart-contract-compiler

Version:

NEO•ONE TypeScript smart contract compiler.

26 lines (24 loc) 3.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ts_utils_1 = require("@neo-one/ts-utils"); const compile_1 = require("./compile"); const createContext_1 = require("./createContext"); exports.getSemanticDiagnostics = ({ filePath, host, languageService, }) => { const context = createContext_1.createContextForLanguageService(filePath, languageService, host); let sourceFile; try { sourceFile = ts_utils_1.tsUtils.file.getSourceFileOrThrow(context.program, filePath); compile_1.compileForDiagnostics({ sourceFile, context, sourceMaps: {}, }); } catch (_a) { } if (sourceFile !== undefined) { return context.diagnostics.filter((diagnostic) => diagnostic.file === undefined || sourceFile === diagnostic.file); } return context.diagnostics; }; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdldFNlbWFudGljRGlhZ25vc3RpY3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxnREFBNEM7QUFFNUMsdUNBQWtEO0FBQ2xELG1EQUFrRTtBQUdyRCxRQUFBLHNCQUFzQixHQUFHLENBQUMsRUFDckMsUUFBUSxFQUNSLElBQUksRUFDSixlQUFlLEdBS2hCLEVBQWdDLEVBQUU7SUFDakMsTUFBTSxPQUFPLEdBQUcsK0NBQStCLENBQUMsUUFBUSxFQUFFLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRixJQUFJLFVBQXFDLENBQUM7SUFDMUMsSUFBSTtRQUNGLFVBQVUsR0FBRyxrQkFBTyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzFFLCtCQUFxQixDQUFDO1lBQ3BCLFVBQVU7WUFDVixPQUFPO1lBQ1AsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDLENBQUM7S0FDSjtJQUFDLFdBQU07S0FFUDtJQUVELElBQUksVUFBVSxLQUFLLFNBQVMsRUFBRTtRQUM1QixPQUFPLE9BQU8sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ3BIO0lBRUQsT0FBTyxPQUFPLENBQUMsV0FBVyxDQUFDO0FBQzdCLENBQUMsQ0FBQyIsImZpbGUiOiJuZW8tb25lLXNtYXJ0LWNvbnRyYWN0LWNvbXBpbGVyL3NyYy9nZXRTZW1hbnRpY0RpYWdub3N0aWNzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHNVdGlscyB9IGZyb20gJ0BuZW8tb25lL3RzLXV0aWxzJztcbmltcG9ydCB0cyBmcm9tICd0eXBlc2NyaXB0JztcbmltcG9ydCB7IGNvbXBpbGVGb3JEaWFnbm9zdGljcyB9IGZyb20gJy4vY29tcGlsZSc7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0Rm9yTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi9jcmVhdGVDb250ZXh0JztcbmltcG9ydCB7IENvbXBpbGVySG9zdCB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgZ2V0U2VtYW50aWNEaWFnbm9zdGljcyA9ICh7XG4gIGZpbGVQYXRoLFxuICBob3N0LFxuICBsYW5ndWFnZVNlcnZpY2UsXG59OiB7XG4gIHJlYWRvbmx5IGZpbGVQYXRoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGhvc3Q6IENvbXBpbGVySG9zdDtcbiAgcmVhZG9ubHkgbGFuZ3VhZ2VTZXJ2aWNlOiB0cy5MYW5ndWFnZVNlcnZpY2U7XG59KTogUmVhZG9ubHlBcnJheTx0cy5EaWFnbm9zdGljPiA9PiB7XG4gIGNvbnN0IGNvbnRleHQgPSBjcmVhdGVDb250ZXh0Rm9yTGFuZ3VhZ2VTZXJ2aWNlKGZpbGVQYXRoLCBsYW5ndWFnZVNlcnZpY2UsIGhvc3QpO1xuICBsZXQgc291cmNlRmlsZTogdHMuU291cmNlRmlsZSB8IHVuZGVmaW5lZDtcbiAgdHJ5IHtcbiAgICBzb3VyY2VGaWxlID0gdHNVdGlscy5maWxlLmdldFNvdXJjZUZpbGVPclRocm93KGNvbnRleHQucHJvZ3JhbSwgZmlsZVBhdGgpO1xuICAgIGNvbXBpbGVGb3JEaWFnbm9zdGljcyh7XG4gICAgICBzb3VyY2VGaWxlLFxuICAgICAgY29udGV4dCxcbiAgICAgIHNvdXJjZU1hcHM6IHt9LFxuICAgIH0pO1xuICB9IGNhdGNoIHtcbiAgICAvLyBkbyBub3RoaW5nLCBzaG91bGQgbmV2ZXIgaGFwcGVuXG4gIH1cblxuICBpZiAoc291cmNlRmlsZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGNvbnRleHQuZGlhZ25vc3RpY3MuZmlsdGVyKChkaWFnbm9zdGljKSA9PiBkaWFnbm9zdGljLmZpbGUgPT09IHVuZGVmaW5lZCB8fCBzb3VyY2VGaWxlID09PSBkaWFnbm9zdGljLmZpbGUpO1xuICB9XG5cbiAgcmV0dXJuIGNvbnRleHQuZGlhZ25vc3RpY3M7XG59O1xuIl19