Skip to content

Commit

Permalink
fix(parser): removed some useless code
Browse files Browse the repository at this point in the history
  • Loading branch information
KFlash committed Jul 5, 2019
1 parent 2e3ff8d commit 597eaf2
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 28 deletions.
38 changes: 15 additions & 23 deletions src/common.ts
Original file line number Diff line number Diff line change
Expand Up @@ -412,27 +412,19 @@ export function finishNode<T extends Node>(


/** @internal */
export function isEqualTagName(lhs: any, rhs: any): boolean {
if (lhs.type !== rhs.type) {
return false;
}

if (lhs.type === 'JSXIdentifier') {
return lhs.name === rhs.name;
}

if (lhs.type === 'JSXNamespacedName') {
return lhs.namespace + ':' + lhs.name === rhs.namespace + ':' + rhs.name;
}

if (lhs.type === 'JSXMemberExpression') {
(
isEqualTagName(lhs.object, rhs.object) + '.' +
isEqualTagName(lhs.property, rhs.property)
) === (
isEqualTagName(lhs.object, rhs.object) + '.' +
isEqualTagName(lhs.property, rhs.property)
)
}
return true;
export function isEqualTagName(elementName: any): any {
switch (elementName.type) {
case 'JSXIdentifier':
return elementName.name;
case 'JSXNamespacedName':
return elementName.namespace + ':' + elementName.name;
case 'JSXMemberExpression':
return (
isEqualTagName(elementName.object) + '.' +
isEqualTagName(elementName.property)
);
/* istanbul ignore next */
default:
// ignore
}
}
7 changes: 4 additions & 3 deletions src/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8024,9 +8024,9 @@ function parseJSXRootElementOrFragment(
parser.linePos,
parser.colPos
);
if (!isEqualTagName(closingElement.name, openingElement.name)) {
report(parser, Errors.Unexpected);
}
const open = isEqualTagName(openingElement.name);
const close = isEqualTagName(closingElement.name);
if (open !== close) report(parser, Errors.Unexpected);
}

return finishNode(parser, context, start, line, column, {
Expand Down Expand Up @@ -8244,6 +8244,7 @@ function parseJSXElementName(
column: number
): ESTree.JSXIdentifier | ESTree.JSXMemberExpression {
scanJSXIdentifier(parser);

let name: any = parseJSXIdentifier(parser, context, start, line, column);

// Namespace
Expand Down
8 changes: 6 additions & 2 deletions test/parser/miscellaneous/jsx.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@ describe('Miscellaneous - JSX', () => {
['<f><g/></ff>;', Context.OptionsJSX],
// ['<:path />', Context.OptionsJSX],
['<path></svg:path>', Context.OptionsJSX],
// ['<foo.bar></foo.baz>', Context.OptionsJSX],
['<foo.bar></foo.baz>', Context.OptionsJSX],
['<chinese:alladinfoo.bar></foo.baz>', Context.OptionsJSX],
['<foo:bar></foo.baz>', Context.OptionsJSX],
['<foo:bar.baz></foo.baz:bar>', Context.OptionsJSX],
['<foo.bar></foo.baz>', Context.OptionsJSX],
['var x = <div>one</div> /* intervening comment */ <div>two</div>;', Context.OptionsJSX],
['<tag className=></tag>', Context.OptionsJSX],
//['<tag ... ></tag>', Context.OptionsJSX],
Expand Down Expand Up @@ -78,7 +82,7 @@ describe('Miscellaneous - JSX', () => {
['var x = <div>one</div>, <div>two</div>;', Context.OptionsJSX]
]);

pass('Expressions - Additive (pass)', [
pass('Miscellaneous - JSX (pass)', [
[
`<!--ccc-->`,
Context.OptionsJSX,
Expand Down

0 comments on commit 597eaf2

Please sign in to comment.