From 0788d9fe75599e4a05d524d6c134e87f95a7d8ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A9ry=20Debongnie?= Date: Thu, 10 Oct 2019 20:59:57 +0200 Subject: [PATCH] [REF] qweb: rename Context into CompilationContext --- src/component/directive.ts | 2 +- src/qweb/base_directives.ts | 6 +++--- src/qweb/{context.ts => compilation_context.ts} | 8 ++++---- src/qweb/qweb.ts | 14 +++++++------- 4 files changed, 15 insertions(+), 15 deletions(-) rename src/qweb/{context.ts => compilation_context.ts} (96%) diff --git a/src/component/directive.ts b/src/component/directive.ts index 954109d2..53ace04d 100644 --- a/src/component/directive.ts +++ b/src/component/directive.ts @@ -1,5 +1,5 @@ import { QWeb } from "../qweb/index"; -import { INTERP_REGEXP } from "../qweb/context"; +import { INTERP_REGEXP } from "../qweb/compilation_context"; import { MODS_CODE } from "../qweb/extensions"; //------------------------------------------------------------------------------ diff --git a/src/qweb/base_directives.ts b/src/qweb/base_directives.ts index cf96424f..655eccb2 100644 --- a/src/qweb/base_directives.ts +++ b/src/qweb/base_directives.ts @@ -1,4 +1,4 @@ -import { Context } from "./context"; +import { CompilationContext } from "./compilation_context"; import { QWebExprVar } from "./expression_parser"; import { QWeb } from "./qweb"; import { htmlToVDOM } from "../vdom/html_to_vdom"; @@ -28,7 +28,7 @@ QWeb.utils.getFragment = function(str: string): DocumentFragment { QWeb.utils.htmlToVDOM = htmlToVDOM; -function compileValueNode(value: any, node: Element, qweb: QWeb, ctx: Context) { +function compileValueNode(value: any, node: Element, qweb: QWeb, ctx: CompilationContext) { if (value === "0" && ctx.caller) { qweb._compileNode(ctx.caller, ctx); return; @@ -187,7 +187,7 @@ QWeb.addDirective({ nodeCopy.removeAttribute("t-call"); // extract variables from nodecopy - const tempCtx = new Context(); + const tempCtx = new CompilationContext(); tempCtx.nextID = ctx.rootContext.nextID; tempCtx.allowMultipleRoots = true; qweb._compileNode(nodeCopy, tempCtx); diff --git a/src/qweb/context.ts b/src/qweb/compilation_context.ts similarity index 96% rename from src/qweb/context.ts rename to src/qweb/compilation_context.ts index 16d79736..f7ef786d 100644 --- a/src/qweb/context.ts +++ b/src/qweb/compilation_context.ts @@ -5,7 +5,7 @@ export const INTERP_REGEXP = /\{\{.*?\}\}/g; // Compilation Context //------------------------------------------------------------------------------ -export class Context { +export class CompilationContext { nextID: number = 1; code: string[] = []; variables: { [key: string]: QWebVar } = {}; @@ -14,7 +14,7 @@ export class Context { parentTextNode: number | null = null; rootNode: number | null = null; indentLevel: number = 0; - rootContext: Context; + rootContext: CompilationContext; caller: Element | undefined; shouldDefineOwner: boolean = false; shouldDefineParent: boolean = false; @@ -87,7 +87,7 @@ export class Context { return this.code; } - withParent(node: number): Context { + withParent(node: number): CompilationContext { if ( !this.allowMultipleRoots && this === this.rootContext && @@ -104,7 +104,7 @@ export class Context { return this.subContext("parentNode", node); } - subContext(key: keyof Context, value: any): Context { + subContext(key: keyof CompilationContext, value: any): CompilationContext { const newContext = Object.create(this); newContext[key] = value; return newContext; diff --git a/src/qweb/qweb.ts b/src/qweb/qweb.ts index 03a201a4..a8d9a4dc 100644 --- a/src/qweb/qweb.ts +++ b/src/qweb/qweb.ts @@ -1,6 +1,6 @@ import { EventBus } from "../core/event_bus"; import { h, patch, VNode } from "../vdom/index"; -import { Context } from "./context"; +import { CompilationContext } from "./compilation_context"; import { shallowEqual } from "../utils"; import { addNS } from "../vdom/vdom"; @@ -36,7 +36,7 @@ interface Template { interface CompilationInfo { node: Element; qweb: QWeb; - ctx: Context; + ctx: CompilationContext; fullName: string; value: string; } @@ -343,9 +343,9 @@ export class QWeb extends EventBus { }); } - _compile(name: string, elem: Element, parentContext?: Context): CompiledTemplate { + _compile(name: string, elem: Element, parentContext?: CompilationContext): CompiledTemplate { const isDebug = elem.attributes.hasOwnProperty("t-debug"); - const ctx = new Context(name); + const ctx = new CompilationContext(name); if (elem.tagName !== "t") { ctx.shouldDefineResult = false; } @@ -410,7 +410,7 @@ export class QWeb extends EventBus { * Generate code from an xml node * */ - _compileNode(node: ChildNode, ctx: Context) { + _compileNode(node: ChildNode, ctx: CompilationContext) { if (!(node instanceof Element)) { // this is a text node, there are no directive to apply let text = node.textContent!; @@ -569,7 +569,7 @@ export class QWeb extends EventBus { } } - _compileGenericNode(node: ChildNode, ctx: Context, withHandlers: boolean = true): number { + _compileGenericNode(node: ChildNode, ctx: CompilationContext, withHandlers: boolean = true): number { // nodeType 1 is generic tag if (node.nodeType !== 1) { throw new Error("unsupported node type"); @@ -732,7 +732,7 @@ export class QWeb extends EventBus { return nodeID; } - _compileChildren(node: ChildNode, ctx: Context) { + _compileChildren(node: ChildNode, ctx: CompilationContext) { if (node.childNodes.length > 0) { for (let child of Array.from(node.childNodes)) { this._compileNode(child, ctx);