]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
refactor: restore isSelfClosing as optional property
authorEvan You <yyx990803@gmail.com>
Sat, 25 Nov 2023 14:55:39 +0000 (22:55 +0800)
committerEvan You <yyx990803@gmail.com>
Sat, 25 Nov 2023 14:55:39 +0000 (22:55 +0800)
packages/compiler-core/__tests__/__snapshots__/parse.spec.ts.snap
packages/compiler-core/__tests__/parse.spec.ts
packages/compiler-core/src/ast.ts
packages/compiler-core/src/parser.ts

index 3a6929d5e35db5cf586cd3edf9aab3d091fce0e5..92403845087d6f9dba870e179e72426c0779829c 100644 (file)
@@ -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,
index 5c7b6252a8f084ba4aca36f4db13c4f787f774d5..fabbfae380dcfa07287ded6c34658cb390dd8ebe 100644 (file)
@@ -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 },
index 22736aab0170f815c24684678d9c14644e1f23d8..117fef835aaa8240b5520b86f07a437045ae91ea 100644 (file)
@@ -131,6 +131,7 @@ export interface BaseElementNode extends Node {
   tagType: ElementTypes
   props: Array<AttributeNode | DirectiveNode>
   children: TemplateChildNode[]
+  isSelfClosing?: boolean
   innerLoc?: SourceLocation // only for SFC root level elements
 }
 
index 7a808044219c57a6489635cbbb5a003d1f7c6071..9effa0250e31012e0f787104d7cdef3924bdb5c3 100644 (file)
@@ -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)