From 157cfcb796548cbeda902f57a77e2adb4a783940 Mon Sep 17 00:00:00 2001 From: Evan You Date: Sat, 25 Nov 2023 22:55:39 +0800 Subject: [PATCH] refactor: restore isSelfClosing as optional property --- .../compiler-core/__tests__/__snapshots__/parse.spec.ts.snap | 4 ++++ packages/compiler-core/__tests__/parse.spec.ts | 2 ++ packages/compiler-core/src/ast.ts | 1 + packages/compiler-core/src/parser.ts | 1 + 4 files changed, 8 insertions(+) diff --git a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap index 3a6929d5e3..9240384508 100644 --- a/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap +++ b/packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap @@ -3831,6 +3831,7 @@ exports[`compiler: parse > Errors > X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END > < { "children": [], "codegenNode": undefined, + "isSelfClosing": true, "loc": { "end": { "column": 25, @@ -4417,6 +4418,7 @@ exports[`compiler: parse > self closing multiple tag 1`] = ` { "children": [], "codegenNode": undefined, + "isSelfClosing": true, "loc": { "end": { "column": 37, @@ -4497,6 +4499,7 @@ exports[`compiler: parse > self closing multiple tag 1`] = ` { "children": [], "codegenNode": undefined, + "isSelfClosing": true, "loc": { "end": { "column": 37, @@ -4611,6 +4614,7 @@ exports[`compiler: parse > valid html 1`] = ` { "children": [], "codegenNode": undefined, + "isSelfClosing": true, "loc": { "end": { "column": 39, diff --git a/packages/compiler-core/__tests__/parse.spec.ts b/packages/compiler-core/__tests__/parse.spec.ts index 5c7b6252a8..fabbfae380 100644 --- a/packages/compiler-core/__tests__/parse.spec.ts +++ b/packages/compiler-core/__tests__/parse.spec.ts @@ -501,6 +501,7 @@ describe('compiler: parse', () => { codegenNode: undefined, props: [], children: [], + isSelfClosing: true, loc: { start: { offset: 0, line: 1, column: 1 }, end: { offset: 6, line: 1, column: 7 }, @@ -545,6 +546,7 @@ describe('compiler: parse', () => { codegenNode: undefined, props: [], children: [], + isSelfClosing: true, loc: { start: { offset: 0, line: 1, column: 1 }, end: { offset: 6, line: 1, column: 7 }, diff --git a/packages/compiler-core/src/ast.ts b/packages/compiler-core/src/ast.ts index 22736aab01..117fef835a 100644 --- a/packages/compiler-core/src/ast.ts +++ b/packages/compiler-core/src/ast.ts @@ -131,6 +131,7 @@ export interface BaseElementNode extends Node { tagType: ElementTypes props: Array children: TemplateChildNode[] + isSelfClosing?: boolean innerLoc?: SourceLocation // only for SFC root level elements } diff --git a/packages/compiler-core/src/parser.ts b/packages/compiler-core/src/parser.ts index 7a80804421..9effa0250e 100644 --- a/packages/compiler-core/src/parser.ts +++ b/packages/compiler-core/src/parser.ts @@ -172,6 +172,7 @@ const tokenizer = new Tokenizer(stack, { onselfclosingtag(end) { const name = currentOpenTag!.tag + currentOpenTag!.isSelfClosing = true endOpenTag(end) if (stack[0]?.tag === name) { onCloseTag(stack.shift()!, end) -- 2.47.3