From 6a7a50720312d732b8011daa5e3d538442cc6ce9 Mon Sep 17 00:00:00 2001 From: mistlog Date: Fri, 24 Jul 2020 16:53:44 +0800 Subject: [PATCH] revert #22: keep inline context order to support nested dsl merge --- src/code-object/inline-context.tsx | 6 ++---- src/code-object/module.tsx | 5 ++++- test/plug-in/__snapshots__/dsl.test.ts.snap | 2 -- test/plug-in/dsl.test.ts | 3 ++- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/code-object/inline-context.tsx b/src/code-object/inline-context.tsx index d3af9d7..b177361 100644 --- a/src/code-object/inline-context.tsx +++ b/src/code-object/inline-context.tsx @@ -22,13 +22,11 @@ export class InlineContext { + function Resolve(this: InlineContext & IInlineContext, dsl: IDSL) { - const resolved = dsl.Transcribe(this.ToStatements(), this.m_Path); if (dsl.m_Merge) { - this.m_Path.insertAfter(resolved); + this.m_Path.replaceWithMultiple(dsl.Transcribe(this.ToStatements(), this.m_Path)); } else { - this.m_Path.insertAfter(blockStatement(resolved)); + this.m_Code.body = dsl.Transcribe(this.ToStatements(), this.m_Path); } - this.m_Path.remove(); }; + diff --git a/src/code-object/module.tsx b/src/code-object/module.tsx index a8d1d63..1cc9634 100644 --- a/src/code-object/module.tsx +++ b/src/code-object/module.tsx @@ -35,7 +35,10 @@ export type Draft = Array { this.m_Merge = true; } Transcribe(block: Array): Array { - return [labeledStatement(identifier("$"), blockStatement(block))]; + const [use_watch, ...rest] = block; + return [labeledStatement(identifier("$"), blockStatement(rest))]; } }