chore(developer): remove CompilerMessages stub and use KmnCompilerMessages

This commit is contained in:
Marc Durdin 2024-07-21 15:50:10 +10:00
parent c5799502dd
commit 39cd3bd5ad
5 changed files with 22 additions and 30 deletions

View file

@ -1,5 +1,5 @@
import { CompilerCallbacks, KeymanFileTypes, KvksFile, KvksFileReader, TouchLayout, TouchLayoutFileReader } from "@keymanapp/common-types";
import { CompilerMessages, Osk } from '@keymanapp/kmc-kmn';
import { KmnCompilerMessages, Osk } from '@keymanapp/kmc-kmn';
import { escapeMarkdownChar } from '@keymanapp/developer-utils';
import { getOskFromKmnFile } from "../util/get-osk-from-kmn-file.js";
import { AnalyzerMessages } from "../messages.js";
@ -167,13 +167,13 @@ export class AnalyzeOskCharacterUse {
try {
source = reader.read(this.callbacks.loadFile(filename));
} catch(e) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({filename, e}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvksFile({filename, e}));
return null;
}
let invalidKeys: string[] = [];
const vk = reader.transform(source, invalidKeys);
if(!vk) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({filename, e:null}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvksFile({filename, e:null}));
return null;
}
for(let key of vk.keys) {

View file

@ -1,5 +1,5 @@
import { CompilerCallbacks, KeymanFileTypes, KvksFile, KvksFileReader, KvksFileWriter, TouchLayoutFileReader, TouchLayoutFileWriter } from "@keymanapp/common-types";
import { CompilerMessages, Osk } from '@keymanapp/kmc-kmn';
import { KmnCompilerMessages, Osk } from '@keymanapp/kmc-kmn';
import { getOskFromKmnFile } from "../util/get-osk-from-kmn-file.js";
import { AnalyzerMessages } from "../messages.js";
@ -106,13 +106,13 @@ export class AnalyzeOskRewritePua {
try {
source = reader.read(this.callbacks.loadFile(filename));
} catch(e) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({filename, e}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvksFile({filename, e}));
return null;
}
let invalidKeys: string[] = [];
const vk = reader.transform(source, invalidKeys);
if(!vk) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({filename, e:null}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvksFile({filename, e:null}));
return null;
}
const dirty = Osk.remapVisualKeyboard(vk, map);

View file

@ -10,7 +10,7 @@ import { UnicodeSetParser, UnicodeSet, VisualKeyboard, KvkFileReader, KeymanComp
import { CompilerCallbacks, CompilerEvent, CompilerOptions, KeymanFileTypes, KvkFileWriter, KvksFileReader } from '@keymanapp/common-types';
import * as Osk from './osk.js';
import loadWasmHost from '../import/kmcmplib/wasm-host.js';
import { CompilerMessages, mapErrorFromKmcmplib } from './kmn-compiler-messages.js';
import { KmnCompilerMessages, mapErrorFromKmcmplib } from './kmn-compiler-messages.js';
import { WriteCompiledKeyboard } from '../kmw-compiler/kmw-compiler.js';
//
@ -165,7 +165,7 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
Module = await loadWasmHost();
} catch(e: any) {
/* c8 ignore next 3 */
this.callbacks.reportMessage(CompilerMessages.Fatal_MissingWasmModule({e}));
this.callbacks.reportMessage(KmnCompilerMessages.Fatal_MissingWasmModule({e}));
return false;
}
}
@ -185,7 +185,7 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
if(!Module) {
/* c8 ignore next 4 */
// fail if wasm not loaded or function not found
this.callbacks.reportMessage(CompilerMessages.Fatal_MissingWasmModule({}));
this.callbacks.reportMessage(KmnCompilerMessages.Fatal_MissingWasmModule({}));
return false;
}
return true;
@ -399,7 +399,7 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
return result;
} catch(e) {
/* c8 ignore next 3 */
this.callbacks.reportMessage(CompilerMessages.Fatal_UnexpectedException({e:e}));
this.callbacks.reportMessage(KmnCompilerMessages.Fatal_UnexpectedException({e:e}));
return null;
} finally {
if(wasm_result) {
@ -440,7 +440,7 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
kvksFilename = this.callbacks.resolveFilename(kmnFilename, kvksFilename);
const data = this.callbacks.loadFile(kvksFilename);
if(!data) {
this.callbacks.reportMessage(CompilerMessages.Error_FileNotFound({filename: kvksFilename}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_FileNotFound({filename: kvksFilename}));
return null;
}
@ -455,7 +455,7 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
try {
vk = reader.read(data);
} catch(e) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvkFile({filename, e}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvkFile({filename, e}));
return null;
}
} else {
@ -466,13 +466,13 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
kvks = reader.read(data);
reader.validate(kvks);
} catch(e) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidKvksFile({filename, e}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidKvksFile({filename, e}));
return null;
}
let invalidVkeys: string[] = [];
vk = reader.transform(kvks, invalidVkeys);
for(let invalidVkey of invalidVkeys) {
this.callbacks.reportMessage(CompilerMessages.Warn_InvalidVkeyInKvksFile({filename, invalidVkey}));
this.callbacks.reportMessage(KmnCompilerMessages.Warn_InvalidVkeyInKvksFile({filename, invalidVkey}));
}
}
@ -500,13 +500,13 @@ export class KmnCompiler implements KeymanCompiler, UnicodeSetParser {
// Expected file format: displaymap.schema.json
const data = this.callbacks.loadFile(displayMapFilename);
if(!data) {
this.callbacks.reportMessage(CompilerMessages.Error_FileNotFound({filename: displayMapFilename}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_FileNotFound({filename: displayMapFilename}));
return null;
}
const mapping = JSON.parse(new TextDecoder().decode(data));
return Osk.parseMapping(mapping);
} catch(e) {
this.callbacks.reportMessage(CompilerMessages.Error_InvalidDisplayMapFile({filename: displayMapFilename, e}));
this.callbacks.reportMessage(KmnCompilerMessages.Error_InvalidDisplayMapFile({filename: displayMapFilename, e}));
return null;
}
}
@ -616,16 +616,16 @@ function getUnicodeSetError(rc: number) : CompilerEvent {
const KMCMP_FATAL_OUT_OF_RANGE = -4;
switch(rc) {
case KMCMP_ERROR_SYNTAX_ERR:
return CompilerMessages.Error_UnicodeSetSyntaxError();
return KmnCompilerMessages.Error_UnicodeSetSyntaxError();
case KMCMP_ERROR_HAS_STRINGS:
return CompilerMessages.Error_UnicodeSetHasStrings();
return KmnCompilerMessages.Error_UnicodeSetHasStrings();
case KMCMP_ERROR_UNSUPPORTED_PROPERTY:
return CompilerMessages.Error_UnicodeSetHasProperties();
return KmnCompilerMessages.Error_UnicodeSetHasProperties();
case KMCMP_FATAL_OUT_OF_RANGE:
return CompilerMessages.Fatal_UnicodeSetOutOfRange();
return KmnCompilerMessages.Fatal_UnicodeSetOutOfRange();
default:
/* c8 ignore next */
return CompilerMessages.Fatal_UnexpectedException({e: `Unexpected UnicodeSet error code ${rc}`});
return KmnCompilerMessages.Fatal_UnexpectedException({e: `Unexpected UnicodeSet error code ${rc}`});
}
}

View file

@ -736,14 +736,6 @@ export class KmnCompilerMessages {
static Fatal_Break = () => m(this.FATAL_Break, `Compiler interrupted by user`);
};
/**
* @internal
* TODO: This class is here as a stopgap as we merged it with
* KmnCompilerMessages. It should be removed in v18.0.
*/
export class CompilerMessages extends KmnCompilerMessages {
}
export function mapErrorFromKmcmplib(line: number, code: number, msg: string): CompilerEvent {
const severity = LogLevelToSeverity[code & LogLevel.LEVEL_MASK];
const baseCode = code & LogLevel.CODE_MASK;

View file

@ -4,7 +4,7 @@
*/
export { KmnCompiler, KmnCompilerOptions, KmnCompilerResult, KmnCompilerArtifacts, KmnCompilerResultExtra, CompilerResultExtraStore, CompilerResultExtraGroup } from './compiler/compiler.js';
export { KmnCompilerMessages, CompilerMessages } from './compiler/kmn-compiler-messages.js';
export { KmnCompilerMessages } from './compiler/kmn-compiler-messages.js';
export { KmwCompilerMessages } from './kmw-compiler/kmw-compiler-messages.js';
import * as Osk from './compiler/osk.js';