Skip to content

Commit efc2408

Browse files
committed
xplexer - prevent '*' being marked as wildcard if following a '()' operator
1 parent 9958258 commit efc2408

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

src/xpLexer.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -990,8 +990,12 @@ export class XPathLexer {
990990
}
991991
} else if (isStar && (prevTokenT === TokenLevelState.operator || prevTokenT === TokenLevelState.complexExpression)) {
992992
// $a and * or if ($a) then * else book
993-
currentToken.charType = CharLevelState.lName;
994-
currentToken.tokenType = TokenLevelState.nodeType;
993+
if (prevTokenT === TokenLevelState.operator && prevToken.charType === CharLevelState.dSep && prevToken.value === '()') {
994+
// keep the same
995+
} else {
996+
currentToken.charType = CharLevelState.lName;
997+
currentToken.tokenType = TokenLevelState.nodeType;
998+
}
995999
}
9961000
}
9971001
}

0 commit comments

Comments
 (0)