diff --git a/public/zcl_excel_demo1.xlsx b/public/zcl_excel_demo1.xlsx index 3749b6f..21309c3 100644 Binary files a/public/zcl_excel_demo1.xlsx and b/public/zcl_excel_demo1.xlsx differ diff --git a/public/zcl_excel_demo2.xlsx b/public/zcl_excel_demo2.xlsx index 1a1f95e..a48d362 100644 Binary files a/public/zcl_excel_demo2.xlsx and b/public/zcl_excel_demo2.xlsx differ diff --git a/src/index.ts b/src/index.ts index cd45fcf..0eaf6f1 100644 --- a/src/index.ts +++ b/src/index.ts @@ -18,8 +18,8 @@ import "./index.css"; import "../public/favicon-16x16.png"; import "../public/favicon-32x32.png"; import * as monaco from "monaco-editor"; -import {config, Transpiler} from "@abaplint/transpiler"; -import {ABAP, MemoryConsole} from "@abaplint/runtime"; +import {config, ITranspilerOptions, Transpiler, UnknownTypesEnum} from "@abaplint/transpiler"; +// import {ABAP, MemoryConsole} from "@abaplint/runtime"; import * as abaplint from "@abaplint/core"; import * as abapMonaco from "@abaplint/monaco"; import Split from "split-grid"; @@ -111,9 +111,9 @@ const AsyncFunction = new Function(`return Object.getPrototypeOf(async function( async function abapChanged() { // @ts-ignore console.dir(globalThis.abap); + const contents = editor1.getValue(); try { - const contents = editor1.getValue(); const file = new abaplint.MemoryFile(filename, contents); reg.updateFile(file); reg.parse(); @@ -124,6 +124,7 @@ async function abapChanged() { document.getElementById("container2").innerHTML = ``; setTimeout(() => monaco.editor.getEditors()[0].focus(), 1000); + return; } else { const markers = monaco.editor.getModelMarkers({}); if (markers.length > 0) { @@ -135,13 +136,43 @@ async function abapChanged() { return; } - document.getElementById("container2").innerHTML = `todo, compiling`; - - // const res = await new Transpiler().runRaw([{filename, contents}]); + document.getElementById("container2").innerHTML = `Compiling`; } } catch (error) { console.dir(error); } + + try { + /* + const raw = []; + for (const filename in abapfiles) { + if (filename.indexOf("zcl_excel_demo") === 0) { + continue; + } + raw.push({ + filename: filename, + contents: abapfiles[filename], + }) + if (filename === "cl_ixml.clas.locals_imp.abap") { + console.log(abapfiles[filename]); + } + } + */ +// console.dir(raw); + const options: ITranspilerOptions = { + "ignoreSyntaxCheck": false, + "addFilenames": true, + "addCommonJS": true, + "skipReposrc": true, + "unknownTypes": UnknownTypesEnum.runtimeError, + } + const res = await new Transpiler(options).run(reg); + console.dir("RESULT:"); + console.dir(res); + } catch (error) { + document.getElementById("container2").innerHTML = `Issues found during compilation
`; + document.getElementById("container2").innerHTML += error.toString(); + } } editor1.onDidChangeModelContent(abapChanged);