From 94ca36469b8081774f053fd37e46918ad197bc3d Mon Sep 17 00:00:00 2001 From: Futago-za Ryuu Date: Wed, 4 Apr 2018 20:21:31 +0100 Subject: [PATCH] Move compiler/vm.js to util/vm.js --- lib/compiler/index.js | 2 -- lib/compiler/session.js | 6 ++++-- lib/typings/api.d.ts | 9 ++++----- lib/typings/modules.d.ts | 13 +++++++------ lib/util/index.js | 2 ++ lib/{compiler => util}/vm.js | 0 6 files changed, 17 insertions(+), 15 deletions(-) rename lib/{compiler => util}/vm.js (100%) diff --git a/lib/compiler/index.js b/lib/compiler/index.js index 955fff0..a3cc962 100644 --- a/lib/compiler/index.js +++ b/lib/compiler/index.js @@ -13,12 +13,10 @@ const reportUndefinedRules = require( "./passes/report-undefined-rules" ); const inferenceMatchResult = require( "./passes/inference-match-result" ); const Session = require( "./session" ); const util = require( "../util" ); -const vm = require( "./vm" ); const compiler = { Session: Session, - vm: vm, // Compiler passes. // diff --git a/lib/compiler/session.js b/lib/compiler/session.js index d4411ac..e26bc63 100644 --- a/lib/compiler/session.js +++ b/lib/compiler/session.js @@ -6,7 +6,7 @@ const ast = require( "../ast" ); const GrammarError = require( "../grammar-error" ); const opcodes = require( "./opcodes" ); const parser = require( "../parser" ); -const vm = require( "./vm" ); +const util = require( "../util" ); function fatal( message, location ) { @@ -28,7 +28,9 @@ class Session { this.parser = config.parser || parser; this.passes = config.passes || {}; this.visitor = config.visitor || ast.visitor; - this.vm = config.vm || vm; + this.vm = config.vm || { + runInContext: util.runInContext + }; if ( typeof config.warn === "function" ) this.warn = config.warn; if ( typeof config.error === "function" ) this.error = config.error; diff --git a/lib/typings/api.d.ts b/lib/typings/api.d.ts index 1d4818f..276163d 100644 --- a/lib/typings/api.d.ts +++ b/lib/typings/api.d.ts @@ -325,7 +325,7 @@ declare namespace peg { } const build: IVisitorBuilder; - const on: IFor; + const on: IOn; } @@ -432,12 +432,11 @@ declare namespace peg { } - interface vm { + interface ISessionVM { runInContext( code: string, vm$context?: { [ name: string ]: any; } ): any; } - const vm: vm; interface ISessionMessageEmitter { @@ -452,7 +451,7 @@ declare namespace peg { parser?: GeneratedParser; passes?: IPassesMap; visitor?: ast.visitor; - vm?: vm; + vm?: ISessionVM; warn?: ISessionMessageEmitter; error?: ISessionMessageEmitter; @@ -553,7 +552,7 @@ declare namespace peg { enforceFastProperties( o: {} ): {}; } - interface util extends IJavaScriptUtils, IObjectUtils { + interface util extends IJavaScriptUtils, IObjectUtils, compiler.ISessionVM { noop(): void; convertPasses( stages: IStageMap ): compiler.IPassesMap; diff --git a/lib/typings/modules.d.ts b/lib/typings/modules.d.ts index ad3f382..9204fce 100644 --- a/lib/typings/modules.d.ts +++ b/lib/typings/modules.d.ts @@ -73,12 +73,6 @@ declare module "pegjs/lib/compiler/session" { } -declare module "pegjs/lib/compiler/vm" { - - export default peg.compiler.vm; - -} - declare module "pegjs/lib/compiler/passes/calc-report-failures" { export default peg.compiler.passes.generate.calcReportFailures; @@ -170,3 +164,10 @@ declare module "pegjs/lib/util/objects" { export default objects; } + +declare module "pegjs/lib/util/vm" { + + const vm: peg.compiler.ISessionVM; + export default vm; + +} diff --git a/lib/util/index.js b/lib/util/index.js index 421e310..9b72348 100644 --- a/lib/util/index.js +++ b/lib/util/index.js @@ -2,9 +2,11 @@ const js = require( "./js" ); const objects = require( "./objects" ); +const vm = require( "./vm" ); objects.extend( exports, js ); objects.extend( exports, objects ); +objects.extend( exports, vm ); exports.noop = function noop() { }; diff --git a/lib/compiler/vm.js b/lib/util/vm.js similarity index 100% rename from lib/compiler/vm.js rename to lib/util/vm.js