@@ -1211,6 +1211,11 @@ void setLengthFrom(Node node, Node ref) {
1211
1211
1212
1212
private class TransformDispatcher {
1213
1213
1214
+ // For now, this is just a pass-through. Soon will distinguish based on an IdentifierType.
1215
+ String getIdentifierValue (IdentifierToken identifierToken ) {
1216
+ return identifierToken .getValue ();
1217
+ }
1218
+
1214
1219
/**
1215
1220
* Transforms the given object key `input` into a Node with token `output`.
1216
1221
*
@@ -1527,7 +1532,8 @@ Node processBreakStatement(BreakStatementTree statementNode) {
1527
1532
1528
1533
Node transformLabelName (IdentifierToken token ) {
1529
1534
Node label =
1530
- newStringNodeWithNonJSDocComment (Token .LABEL_NAME , token .value , token .getStart ());
1535
+ newStringNodeWithNonJSDocComment (
1536
+ Token .LABEL_NAME , getIdentifierValue (token ), token .getStart ());
1531
1537
setSourceInfo (label , token );
1532
1538
return label ;
1533
1539
}
@@ -1919,7 +1925,7 @@ Node processFunction(FunctionDeclarationTree functionTree) {
1919
1925
1920
1926
if (isMember ) {
1921
1927
setSourceInfo (node , functionTree );
1922
- Node member = newStringNode (Token .MEMBER_FUNCTION_DEF , name . value );
1928
+ Node member = newStringNode (Token .MEMBER_FUNCTION_DEF , getIdentifierValue ( name ) );
1923
1929
member .addChildToBack (node );
1924
1930
member .setStaticMember (functionTree .isStatic );
1925
1931
// The source info should only include the identifier, not the entire function expression
@@ -1938,7 +1944,7 @@ Node processField(FieldDeclarationTree tree) {
1938
1944
1939
1945
Node node =
1940
1946
newStringNodeWithNonJSDocComment (
1941
- Token .MEMBER_FIELD_DEF , tree .name . value , tree .getStart ());
1947
+ Token .MEMBER_FIELD_DEF , getIdentifierValue ( tree .name ) , tree .getStart ());
1942
1948
if (tree .initializer != null ) {
1943
1949
Node initializer = transform (tree .initializer );
1944
1950
node .addChildToBack (initializer );
@@ -2170,7 +2176,7 @@ Node processName(IdentifierExpressionTree nameNode) {
2170
2176
Node processName (IdentifierToken identifierToken , Token output ) {
2171
2177
NonJSDocComment comment = parseNonJSDocCommentAt (identifierToken .getStart (), true );
2172
2178
2173
- Node node = newStringNode (output , identifierToken . value );
2179
+ Node node = newStringNode (output , getIdentifierValue ( identifierToken ) );
2174
2180
2175
2181
if (output == Token .NAME ) {
2176
2182
maybeWarnReservedKeyword (identifierToken );
@@ -2226,7 +2232,7 @@ Node processNameWithInlineComments(IdentifierToken identifierToken) {
2226
2232
NonJSDocComment comment = parseNonJSDocCommentAt (identifierToken .getStart (), false );
2227
2233
2228
2234
maybeWarnReservedKeyword (identifierToken );
2229
- Node node = newStringNode (Token .NAME , identifierToken . value );
2235
+ Node node = newStringNode (Token .NAME , getIdentifierValue ( identifierToken ) );
2230
2236
2231
2237
if (info != null ) {
2232
2238
node .setJSDocInfo (info );
@@ -2254,7 +2260,7 @@ private void maybeWarnKeywordProperty(Node node) {
2254
2260
}
2255
2261
2256
2262
private void maybeWarnReservedKeyword (IdentifierToken token ) {
2257
- String identifier = token . value ;
2263
+ String identifier = getIdentifierValue ( token ) ;
2258
2264
boolean isIdentifier = false ;
2259
2265
if (TokenStream .isKeyword (identifier )) {
2260
2266
features = features .with (Feature .ES3_KEYWORDS_AS_IDENTIFIERS );
@@ -2463,7 +2469,7 @@ Node processPropertyGet(MemberExpressionTree getNode) {
2463
2469
2464
2470
Node getProp =
2465
2471
newStringNodeWithNonJSDocComment (
2466
- Token .GETPROP , propName . value , getNode .memberName .getStart ());
2472
+ Token .GETPROP , getIdentifierValue ( propName ) , getNode .memberName .getStart ());
2467
2473
getProp .addChildToBack (leftChild );
2468
2474
setSourceInfo (getProp , propName );
2469
2475
maybeWarnKeywordProperty (getProp );
@@ -2481,7 +2487,7 @@ Node processOptChainPropertyGet(OptionalMemberExpressionTree getNode) {
2481
2487
2482
2488
Node getProp =
2483
2489
newStringNodeWithNonJSDocComment (
2484
- Token .OPTCHAIN_GETPROP , propName . value , getNode .memberName .getStart ());
2490
+ Token .OPTCHAIN_GETPROP , getIdentifierValue ( propName ) , getNode .memberName .getStart ());
2485
2491
getProp .addChildToBack (leftChild );
2486
2492
getProp .setIsOptionalChainStart (getNode .isStartOfOptionalChain );
2487
2493
setSourceInfo (getProp , propName );
@@ -2928,7 +2934,7 @@ private boolean validateClassConstructorMember(ParseTree member) {
2928
2934
}
2929
2935
2930
2936
if (!memberName .type .equals (TokenType .IDENTIFIER )
2931
- || !memberName .asIdentifier ().value . equals ("constructor" )) {
2937
+ || !memberName .asIdentifier ().valueEquals ("constructor" )) {
2932
2938
// There's only a potential issue if the member is named "constructor".
2933
2939
// TODO(b/123769080): Also check for quoted string literals with the value "constructor".
2934
2940
return false ;
@@ -3022,7 +3028,8 @@ Node processImportDecl(ImportDeclarationTree tree) {
3022
3028
// changed to use only "{foo}" part.
3023
3029
setSourceInfo (secondChild , tree );
3024
3030
} else {
3025
- secondChild = newStringNode (Token .IMPORT_STAR , tree .nameSpaceImportIdentifier .value );
3031
+ secondChild =
3032
+ newStringNode (Token .IMPORT_STAR , getIdentifierValue (tree .nameSpaceImportIdentifier ));
3026
3033
setSourceInfo (secondChild , tree .nameSpaceImportIdentifier );
3027
3034
}
3028
3035
Node thirdChild = processString (tree .moduleSpecifier );
0 commit comments