From: Evan You Date: Sat, 25 Nov 2023 14:55:39 +0000 (+0800) Subject: refactor: restore isSelfClosing as optional property X-Git-Tag: v3.4.0-alpha.2~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=157cfcb796548cbeda902f57a77e2adb4a783940;p=thirdparty%2Fvuejs%2Fcore.git refactor: restore isSelfClosing as optional property --- 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)