scanComplexName method

Token scanComplexName(
  1. int x
)

Implementation

Token scanComplexName(int x) {
  // name with unicode escape sequences
  List<int> buffer = new List<int>.from(input.getRange(tokenStart, index));
  while (true) {
    if (x == char.BACKSLASH) {
      x = next();
      if (x != char.$u) {
        fail("Invalid escape sequence in name");
      }
      ++index;
      buffer.add(scanHexSequence(4));
      x = current;
    } else if (isNamePart(x)) {
      buffer.add(x);
      x = next();
    } else {
      break;
    }
  }
  Token tok = emitValueToken(Token.NAME);
  tok.value = new String.fromCharCodes(buffer);
  return tok..binaryPrecedence = Precedence.RELATIONAL;
}