Created
June 1, 2017 19:59
-
-
Save TheBizzle/ff52c182baa60e89fe5c81e62cf82460 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| diff --git a/tortoise/src/main/scala/Compiler.scala b/tortoise/src/main/scala/Compiler.scala | |
| index b8bff4d..492e0b7 100644 | |
| --- a/tortoise/src/main/scala/Compiler.scala | |
| +++ b/tortoise/src/main/scala/Compiler.scala | |
| @@ -114,7 +114,8 @@ object Compiler extends CompilerLike { | |
| compileMoreProcedures(model, prog, procs) | |
| } | |
| - val compiledProcedures = new ProcedureCompiler(handlers)(compilerFlags = compilerFlags, compilerContext = new CompilerContext(blockLevel = 0, source = model.code)).compileProcedures(procedureDefs) | |
| + implicit val wrapper = SourceWrapper(model.code) | |
| + val compiledProcedures = new ProcedureCompiler(handlers).compileProcedures(procedureDefs) | |
| val compiledWidgets = | |
| { | |
| @@ -158,15 +159,16 @@ object Compiler extends CompilerLike { | |
| val header = SourceWrapping.getHeader(AgentKind.Observer, commands) | |
| val footer = SourceWrapping.getFooter(commands) | |
| val wrapped = s"$header$logo$footer" | |
| + implicit val wrapper = SourceWrapper(wrapped) | |
| val (defs, _) = frontEnd.frontEnd(wrapped, oldProcedures = oldProcedures, program = program, extensionManager = NLWExtensionManager) | |
| val pd = if (compilerFlags.optimizationsEnabled) | |
| Optimizer(defs.head) | |
| else | |
| defs.head | |
| if (commands) | |
| - handlers.commands(pd.statements, true, !raw)(compilerFlags = compilerFlags, compilerContext = new CompilerContext(blockLevel = 0, source = wrapped)) | |
| + handlers.commands(pd.statements, true, !raw) | |
| else | |
| - handlers.reporter(pd.statements.stmts(1).args(0))(compilerFlags = compilerFlags, compilerContext = new CompilerContext(blockLevel = 0, source = wrapped)) | |
| + handlers.reporter(pd.statements.stmts(1).args(0)) | |
| } | |
| private def outputConfig: JsStatement = | |
| diff --git a/tortoise/src/main/scala/CompilerLike.scala b/tortoise/src/main/scala/CompilerLike.scala | |
| index df03e1e..9c0b861 100644 | |
| --- a/tortoise/src/main/scala/CompilerLike.scala | |
| +++ b/tortoise/src/main/scala/CompilerLike.scala | |
| @@ -64,6 +64,9 @@ object CompilerFlags { | |
| // this is incremented each time a block of statements is entered | |
| case class CompilerContext(blockLevel: Int = 0, source: String = "") | |
| +case class SourceWrapper(src: String) | |
| + | |
| object CompilerContext { | |
| implicit val Default = CompilerContext() | |
| + implicit def makeContext(src: SourceWrapper) = CompilerContext(0, src.src) | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment