google / google/closure-compiler

Parser error on "combining character" (U+0307)

Open
#3,639 8 comments 8 reactions 0 assignees View on GitHub
good first issue help wanted P3
Dominant language
JavaScript
Stars
7.7k
Forks
1.2k
Avg merge
2d 12h
Merged PRs (30d)
6

Description

### There seems to be an issue with parsing composite character sequences.

Composite character `İ` consist of the base character and combining character sequence (U+0049)(U+0307)
Using this character causing the compiler to fail with the parser error.

### Example code

```
var bar = {
İ: "foo"
};
```

### Compiler error

```
input0:2: ERROR - [JSC_PARSE_ERROR] Parse error. Character '̇' (U+0307) is not a valid identifier start char
2| İ: "foo"
^

1 error(s), 0 warning(s)
```

### Demo
[Example](https://closure-compiler-debugger.appspot.com/#input0%3Dvar%2520bar%2520%253D%2520%257B%250AI%25CC%2587%253A%2520%2522foo%2522%250A%257D%253B%26input1%26conformanceConfig%26externs%26refasterjs-template%26includeDefaultExterns%3Dtrue%26ENABLE_ALL_DIAGNOSTIC_GROUPS%3Dtrue%26CHECK_TYPES%3Dtrue%26CHECK_SYMBOLS%3Dtrue%26MISSING_PROPERTIES%3Dtrue%26TRANSPILE%3Dtrue%26CLOSURE_PASS%3Dtrue%26PRESERVE_TYPE_ANNOTATIONS%3Dtrue%26PRETTY_PRINT%3Dtrue)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.