@markw65/monkeyc-optimizer 1.1.81 → 1.1.82

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,30 +18,30 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var optimizer_exports = {};
20
20
  __export(optimizer_exports, {
21
- StateNodeAttributes: () => import_chunk_W4QVHCFN.StateNodeAttributes,
22
- buildConfigDescription: () => import_chunk_W4QVHCFN.buildConfigDescription,
23
- buildOptimizedProject: () => import_chunk_W4QVHCFN.buildOptimizedProject,
21
+ StateNodeAttributes: () => import_chunk_TLXMWGYI.StateNodeAttributes,
22
+ buildConfigDescription: () => import_chunk_TLXMWGYI.buildConfigDescription,
23
+ buildOptimizedProject: () => import_chunk_TLXMWGYI.buildOptimizedProject,
24
24
  copyRecursiveAsNeeded: () => import_chunk_X7QCZR3F.copyRecursiveAsNeeded,
25
- defaultConfig: () => import_chunk_W4QVHCFN.defaultConfig,
26
- display: () => import_chunk_W4QVHCFN.display,
27
- generateOneConfig: () => import_chunk_W4QVHCFN.generateOneConfig,
28
- generateOptimizedProject: () => import_chunk_W4QVHCFN.generateOptimizedProject,
29
- getConfig: () => import_chunk_W4QVHCFN.getConfig,
30
- getFnMapAnalysis: () => import_chunk_W4QVHCFN.getFnMapAnalysis,
31
- getProjectAnalysis: () => import_chunk_W4QVHCFN.getProjectAnalysis,
32
- get_jungle: () => import_chunk_W4QVHCFN.get_jungle,
33
- isErrorWithLocation: () => import_chunk_W4QVHCFN.isErrorWithLocation,
34
- launchSimulator: () => import_chunk_W4QVHCFN.launchSimulator,
35
- manifestProducts: () => import_chunk_W4QVHCFN.manifestProducts,
36
- mctree: () => import_chunk_W4QVHCFN.mctree,
37
- simulateProgram: () => import_chunk_W4QVHCFN.simulateProgram
25
+ defaultConfig: () => import_chunk_TLXMWGYI.defaultConfig,
26
+ display: () => import_chunk_TLXMWGYI.display,
27
+ generateOneConfig: () => import_chunk_TLXMWGYI.generateOneConfig,
28
+ generateOptimizedProject: () => import_chunk_TLXMWGYI.generateOptimizedProject,
29
+ getConfig: () => import_chunk_TLXMWGYI.getConfig,
30
+ getFnMapAnalysis: () => import_chunk_TLXMWGYI.getFnMapAnalysis,
31
+ getProjectAnalysis: () => import_chunk_TLXMWGYI.getProjectAnalysis,
32
+ get_jungle: () => import_chunk_TLXMWGYI.get_jungle,
33
+ isErrorWithLocation: () => import_chunk_TLXMWGYI.isErrorWithLocation,
34
+ launchSimulator: () => import_chunk_TLXMWGYI.launchSimulator,
35
+ manifestProducts: () => import_chunk_TLXMWGYI.manifestProducts,
36
+ mctree: () => import_chunk_TLXMWGYI.mctree,
37
+ simulateProgram: () => import_chunk_TLXMWGYI.simulateProgram
38
38
  });
39
39
  module.exports = __toCommonJS(optimizer_exports);
40
- var import_chunk_W4QVHCFN = require("./chunk-W4QVHCFN.cjs");
40
+ var import_chunk_TLXMWGYI = require("./chunk-TLXMWGYI.cjs");
41
41
  var import_chunk_X7QCZR3F = require("./chunk-X7QCZR3F.cjs");
42
42
  var import_chunk_JDC43A3I = require("./chunk-JDC43A3I.cjs");
43
43
  var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
44
- (0, import_chunk_W4QVHCFN.init_optimizer)();
44
+ (0, import_chunk_TLXMWGYI.init_optimizer)();
45
45
  // Annotate the CommonJS export names for ESM import in node:
46
46
  0 && (module.exports = {
47
47
  StateNodeAttributes,
@@ -18,25 +18,25 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var sdk_util_exports = {};
20
20
  __export(sdk_util_exports, {
21
- SectionKinds: () => import_chunk_W4QVHCFN.SectionKinds,
22
- appSupport: () => import_chunk_W4QVHCFN.appSupport,
23
- connectiq: () => import_chunk_W4QVHCFN.connectiq,
24
- getDeviceInfo: () => import_chunk_W4QVHCFN.getDeviceInfo,
25
- getFunctionDocumentation: () => import_chunk_W4QVHCFN.getFunctionDocumentation,
26
- getLanguages: () => import_chunk_W4QVHCFN.getLanguages,
27
- getSdkPath: () => import_chunk_W4QVHCFN.getSdkPath,
28
- isWin: () => import_chunk_W4QVHCFN.isWin,
29
- optimizeProgram: () => import_chunk_W4QVHCFN.optimizeProgram,
30
- readPrg: () => import_chunk_W4QVHCFN.readPrg,
31
- readPrgWithOffsets: () => import_chunk_W4QVHCFN.readPrgWithOffsets,
32
- xmlUtil: () => import_chunk_W4QVHCFN.xml_util_exports
21
+ SectionKinds: () => import_chunk_TLXMWGYI.SectionKinds,
22
+ appSupport: () => import_chunk_TLXMWGYI.appSupport,
23
+ connectiq: () => import_chunk_TLXMWGYI.connectiq,
24
+ getDeviceInfo: () => import_chunk_TLXMWGYI.getDeviceInfo,
25
+ getFunctionDocumentation: () => import_chunk_TLXMWGYI.getFunctionDocumentation,
26
+ getLanguages: () => import_chunk_TLXMWGYI.getLanguages,
27
+ getSdkPath: () => import_chunk_TLXMWGYI.getSdkPath,
28
+ isWin: () => import_chunk_TLXMWGYI.isWin,
29
+ optimizeProgram: () => import_chunk_TLXMWGYI.optimizeProgram,
30
+ readPrg: () => import_chunk_TLXMWGYI.readPrg,
31
+ readPrgWithOffsets: () => import_chunk_TLXMWGYI.readPrgWithOffsets,
32
+ xmlUtil: () => import_chunk_TLXMWGYI.xml_util_exports
33
33
  });
34
34
  module.exports = __toCommonJS(sdk_util_exports);
35
- var import_chunk_W4QVHCFN = require("./chunk-W4QVHCFN.cjs");
35
+ var import_chunk_TLXMWGYI = require("./chunk-TLXMWGYI.cjs");
36
36
  var import_chunk_X7QCZR3F = require("./chunk-X7QCZR3F.cjs");
37
37
  var import_chunk_JDC43A3I = require("./chunk-JDC43A3I.cjs");
38
38
  var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
39
- (0, import_chunk_W4QVHCFN.init_sdk_util)();
39
+ (0, import_chunk_TLXMWGYI.init_sdk_util)();
40
40
  // Annotate the CommonJS export names for ESM import in node:
41
41
  0 && (module.exports = {
42
42
  SectionKinds,
@@ -42,7 +42,7 @@ export type BuildConfig = {
42
42
  postBuildOptimizer?: boolean;
43
43
  singleUseCopyProp?: boolean;
44
44
  iterateOptimizer?: boolean;
45
- covarianceWarnings?: boolean;
45
+ extraReferenceTypeChecks?: boolean;
46
46
  checkTypes?: DiagnosticType | "OFF";
47
47
  strictTypeCheck?: "On" | "Off" | "Default";
48
48
  removeArgc?: boolean;
@@ -10,7 +10,8 @@ type SysCallHelperResult = {
10
10
  argTypes?: ExactOrUnion[];
11
11
  effectFree?: true;
12
12
  argEffects?: true;
13
+ diagnostic?: string;
13
14
  };
14
- type SysCallHelper = (state: ProgramStateAnalysis, func: FunctionStateNode, calleeObj: ExactOrUnion, getArgs: () => Array<ExactOrUnion>) => SysCallHelperResult;
15
+ type SysCallHelper = (istate: InterpState, func: FunctionStateNode, calleeObj: ExactOrUnion, getArgs: () => Array<ExactOrUnion>) => SysCallHelperResult;
15
16
  export declare function sysCallInfo(state: ProgramStateAnalysis, func: FunctionStateNode): SysCallHelper | null;
16
17
  export {};
@@ -102,7 +102,7 @@ export interface StringType extends AbstractValue {
102
102
  }
103
103
  export interface ArrayType extends AbstractValue {
104
104
  type: TypeTag.Array;
105
- value?: ExactOrUnion | ExactOrUnion[] | undefined;
105
+ value?: ExactOrUnion | ExactOrUnion[] | Set<ExactOrUnion | ExactOrUnion[]> | undefined;
106
106
  }
107
107
  export interface DictionaryType extends AbstractValue {
108
108
  type: TypeTag.Dictionary;
@@ -215,4 +215,11 @@ export declare function getStateNodeDeclsWithExactFromType(state: ProgramStateAn
215
215
  sn: StateNode;
216
216
  exact: boolean;
217
217
  }[];
218
+ export declare function isTupleUnion(t: ExactOrUnion[] | ExactOrUnion[][]): t is ExactOrUnion[][];
219
+ export declare function tupleForEach(t: NonNullable<ArrayType["value"]>, tupleFn: (v: ExactOrUnion[]) => unknown, arrayFn: (v: ExactOrUnion) => unknown): void;
220
+ export declare function tupleMap<T, U, V>(t: NonNullable<ArrayType["value"]>, tupleFn: (v: ExactOrUnion[]) => U | null, arrayFn: (v: ExactOrUnion) => V | null, reduceFn: (v: Array<U | V>) => T): T;
221
+ export declare function tupleReduce(v: Array<ExactOrUnion | ExactOrUnion[]>): UnionType | NumberType | LongType | FloatType | DoubleType | CharType | StringType | ArrayType | DictionaryType | MethodType | ModuleType | FunctionType | ClassType | ObjectType | EnumType | SymbolType | TypedefType | ExactOrUnion[] | Set<ExactOrUnion | ExactOrUnion[]>;
222
+ export declare function reducedArrayType(t: Set<ExactOrUnion[] | ExactOrUnion> | ExactOrUnion[] | ExactOrUnion): ExactOrUnion;
223
+ export declare function checkArrayCovariance(arg: NonNullable<ArrayType["value"]>, param: NonNullable<ArrayType["value"]>): boolean;
224
+ export declare function safeReferenceArg(arg: mctree.Expression): boolean;
218
225
  export {};
@@ -1,4 +1,4 @@
1
1
  import { ExactOrUnion, TypeTag } from "./types";
2
2
  export declare function unionInto(to: ExactOrUnion, from: ExactOrUnion): boolean;
3
+ export declare function unionHelper(to: ExactOrUnion, from: ExactOrUnion, widenDepth: number): boolean;
3
4
  export declare function clearValuesUnder(v: ExactOrUnion, tag: TypeTag, clearTag?: boolean): void;
4
- export declare function widenType(t: ExactOrUnion): null;
@@ -21,17 +21,17 @@ __export(worker_thread_exports, {
21
21
  default: () => worker_thread_default
22
22
  });
23
23
  module.exports = __toCommonJS(worker_thread_exports);
24
- var import_chunk_W4QVHCFN = require("./chunk-W4QVHCFN.cjs");
24
+ var import_chunk_TLXMWGYI = require("./chunk-TLXMWGYI.cjs");
25
25
  var import_chunk_X7QCZR3F = require("./chunk-X7QCZR3F.cjs");
26
26
  var import_chunk_JDC43A3I = require("./chunk-JDC43A3I.cjs");
27
27
  var import_chunk_ABYVSU2C = require("./chunk-ABYVSU2C.cjs");
28
28
  var import_node_worker_threads = require("node:worker_threads");
29
29
  var require_worker_thread = (0, import_chunk_ABYVSU2C.__commonJS)({
30
30
  "src/worker-thread.ts"() {
31
- (0, import_chunk_W4QVHCFN.init_worker_task)();
31
+ (0, import_chunk_TLXMWGYI.init_worker_task)();
32
32
  if (import_node_worker_threads.parentPort) {
33
33
  import_node_worker_threads.parentPort.on("message", async (task) => {
34
- return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_W4QVHCFN.performTask)(task));
34
+ return import_node_worker_threads.parentPort.postMessage(await (0, import_chunk_TLXMWGYI.performTask)(task));
35
35
  });
36
36
  }
37
37
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@markw65/monkeyc-optimizer",
3
3
  "type": "commonjs",
4
- "version": "1.1.81",
4
+ "version": "1.1.82",
5
5
  "description": "Source to source optimizer for Garmin Monkey C code",
6
6
  "main": "build/optimizer.cjs",
7
7
  "types": "build/src/optimizer.d.ts",