Index: pkg/analyzer/lib/src/generated/parser.dart |
diff --git a/pkg/analyzer/lib/src/generated/parser.dart b/pkg/analyzer/lib/src/generated/parser.dart |
index cb2a41218b94e69df3cb937443cced98691977ad..24f8a2cd6f5bd0a68b73a01eac6ce4f2f4d61081 100644 |
--- a/pkg/analyzer/lib/src/generated/parser.dart |
+++ b/pkg/analyzer/lib/src/generated/parser.dart |
@@ -98,10 +98,10 @@ Map<String, MethodTrampoline> methodTable_Parser = <String, MethodTrampoline>{ |
'parseWithClause_0': |
new MethodTrampoline(0, (Parser target) => target.parseWithClause()), |
'advance_0': new MethodTrampoline(0, (Parser target) => target._advance()), |
- 'appendScalarValue_5': new MethodTrampoline( |
+ 'appendCodePoint_5': new MethodTrampoline( |
5, |
(Parser target, arg0, arg1, arg2, arg3, arg4) => |
- target._appendScalarValue(arg0, arg1, arg2, arg3, arg4)), |
+ target._appendCodePoint(arg0, arg1, arg2, arg3, arg4)), |
'computeStringValue_3': new MethodTrampoline( |
3, |
(Parser target, arg0, arg1, arg2) => |
@@ -2078,25 +2078,24 @@ class Parser { |
} |
/** |
- * Append the character equivalent of the given [scalarValue] to the given |
+ * Append the character equivalent of the given [codePoint] to the given |
* [builder]. Use the [startIndex] and [endIndex] to report an error, and |
- * don't append anything to the builder, if the scalar value is invalid. The |
+ * don't append anything to the builder, if the code point is invalid. The |
* [escapeSequence] is the escape sequence that was parsed to produce the |
- * scalar value (used for error reporting). |
+ * code point (used for error reporting). |
*/ |
- void _appendScalarValue(StringBuffer buffer, String escapeSequence, |
- int scalarValue, int startIndex, int endIndex) { |
- if (scalarValue < 0 || |
- scalarValue > Character.MAX_CODE_POINT || |
- (scalarValue >= 0xD800 && scalarValue <= 0xDFFF)) { |
+ void _appendCodePoint(StringBuffer buffer, String source, |
+ int codePoint, int startIndex, int endIndex) { |
+ if (codePoint < 0 || codePoint > Character.MAX_CODE_POINT) { |
+ String escapeSequence = source.substring(startIndex, endIndex + 1); |
_reportErrorForCurrentToken( |
ParserErrorCode.INVALID_CODE_POINT, [escapeSequence]); |
return; |
} |
- if (scalarValue < Character.MAX_VALUE) { |
- buffer.writeCharCode(scalarValue); |
+ if (codePoint < Character.MAX_VALUE) { |
+ buffer.writeCharCode(codePoint); |
} else { |
- buffer.write(Character.toChars(scalarValue)); |
+ buffer.write(Character.toChars(codePoint)); |
} |
} |
@@ -8095,8 +8094,7 @@ class Parser { |
// Illegal escape sequence: not enough or too many hex digits |
_reportErrorForCurrentToken(ParserErrorCode.INVALID_UNICODE_ESCAPE); |
} |
- _appendScalarValue(buffer, lexeme.substring(index, currentIndex + 1), |
- value, index, currentIndex); |
+ _appendCodePoint(buffer, lexeme, value, index, currentIndex); |
return currentIndex + 1; |
} else { |
if (currentIndex + 3 >= length) { |
@@ -8115,9 +8113,9 @@ class Parser { |
// Illegal escape sequence: invalid hex digits |
_reportErrorForCurrentToken(ParserErrorCode.INVALID_UNICODE_ESCAPE); |
} else { |
- _appendScalarValue( |
+ _appendCodePoint( |
buffer, |
- lexeme.substring(index, currentIndex + 1), |
+ lexeme, |
(((((Character.digit(firstDigit, 16) << 4) + |
Character.digit(secondDigit, 16)) << |
4) + |