@markw65/monkeyc-optimizer 1.0.16 → 1.0.17

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.
@@ -1,4 +1,4 @@
1
- 0 && (module.exports = {isWin,appSupport,connectiq,getSdkPath,getDeviceInfo,getLanguages});
1
+ 0 && (module.exports = {appSupport,connectiq,getDeviceInfo,getLanguages,getSdkPath,isWin});
2
2
  /******/ (() => { // webpackBootstrap
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
@@ -5,5 +5,5 @@ export declare function hasProperty<T>(obj: T, prop: string): boolean;
5
5
  export declare function isStateNode(node: StateNodeDecl): node is StateNode;
6
6
  export declare function variableDeclarationName(node: mctree.TypedIdentifier): string;
7
7
  export declare function collectNamespaces(ast: mctree.Program, stateIn?: ProgramState): ProgramStateNode;
8
- export declare function traverseAst(node: mctree.Node, pre?: null | ((node: mctree.Node) => void | null | false | (keyof mctree.NodeAll)[]), post?: (node: mctree.Node) => void | null | false | mctree.Node): false | void | null | mctree.Node;
8
+ export declare function traverseAst(node: mctree.Node, pre?: null | ((node: mctree.Node) => void | null | false | (keyof mctree.NodeAll)[]), post?: (node: mctree.Node) => void | null | false | mctree.Node | mctree.Node[]): false | void | null | mctree.Node | mctree.Node[];
9
9
  export declare function formatAst(node: mctree.Node, monkeyCSource?: string | null): string;
@@ -1,4 +1,13 @@
1
1
  import { mctree } from "@markw65/prettier-plugin-monkeyc";
2
- export declare function shouldInline(state: ProgramStateAnalysis, func: FunctionStateNode, args: mctree.Node[]): boolean | undefined;
3
- export declare function inlineFunction(state: ProgramStateAnalysis, func: FunctionStateNode, call: mctree.CallExpression): any;
2
+ export declare enum InlineStatus {
3
+ Never = 0,
4
+ AsExpression = 1,
5
+ AsStatement = 2
6
+ }
7
+ export declare function shouldInline(state: ProgramStateAnalysis, func: FunctionStateNode, args: mctree.Node[]): InlineStatus;
8
+ declare type InlineBody = mctree.BlockStatement | mctree.ExpressionStatement["expression"];
9
+ export declare function unused(expression: mctree.ExpressionStatement["expression"]): mctree.ExpressionStatement[];
10
+ export declare function unused(expression: mctree.ExpressionStatement["expression"], top: true): mctree.ExpressionStatement[] | null;
11
+ export declare function inlineFunction(state: ProgramStateAnalysis, func: FunctionStateNode, call: mctree.CallExpression, inlineStatus: InlineStatus): InlineBody | null;
4
12
  export declare function applyTypeIfNeeded(node: mctree.Node): mctree.Node;
13
+ export {};
@@ -111,11 +111,11 @@ declare global {
111
111
  removeNodeComments?: (node: mctree.Node, ast: mctree.Program) => void;
112
112
  shouldExclude?: (node: mctree.Node) => boolean;
113
113
  pre?: (node: mctree.Node, state: ProgramStateLive) => null | false | (keyof mctree.NodeAll)[];
114
- post?: (node: mctree.Node, state: ProgramStateLive) => null | false | mctree.Node;
114
+ post?: (node: mctree.Node, state: ProgramStateLive) => null | false | mctree.Node | mctree.Node[];
115
115
  lookup?: (node: mctree.Node, name?: string | null, stack?: ProgramStateStack) => [string, StateNodeDecl[], ProgramStateStack] | [null, null, null];
116
116
  lookupValue?: (node: mctree.Node, name?: string | null, stack?: ProgramStateStack) => [string, StateNodeDecl[], ProgramStateStack] | [null, null, null];
117
117
  lookupType?: (node: mctree.Node, name?: string | null, stack?: ProgramStateStack) => [string, StateNodeDecl[], ProgramStateStack] | [null, null, null];
118
- traverse?: (node: mctree.Node) => void | null | false | mctree.Node;
118
+ traverse?: (node: mctree.Node) => void | null | false | mctree.Node | mctree.Node[];
119
119
  inType?: boolean;
120
120
  exposed?: {
121
121
  [key: string]: true;
@@ -0,0 +1,2 @@
1
+ import { mctree } from "@markw65/prettier-plugin-monkeyc";
2
+ export declare function pragmaChecker(ast: mctree.Program): void;
@@ -0,0 +1 @@
1
+ export declare function renameVariable(state: ProgramStateAnalysis, locals: NonNullable<ProgramStateAnalysis["localsStack"]>[number], declName: string): string | null;
package/build/util.cjs CHANGED
@@ -1,4 +1,4 @@
1
- 0 && (module.exports = {globa,last_modified,first_modified,pushUnique,spawnByLine,readByLine,promiseAll,copyRecursiveAsNeeded});
1
+ 0 && (module.exports = {copyRecursiveAsNeeded,first_modified,globa,last_modified,promiseAll,pushUnique,readByLine,spawnByLine});
2
2
  /******/ (() => { // webpackBootstrap
3
3
  /******/ var __webpack_modules__ = ({
4
4
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@markw65/monkeyc-optimizer",
3
3
  "type": "module",
4
- "version": "1.0.16",
4
+ "version": "1.0.17",
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",