|
|
|
# Not implemented yet:
|
Module parsing (#2411)
I'm creating this draft PR, since I wanted to have some early feedback, and because I though I would have time to finish it last week, but I got caught up with other stuff. Feel free to contribute :)
The main thing here is that I have divided `eval()`, `parse()` and similar functions so that they can decide if they are parsing scripts or modules. Let me know your thoughts.
Then, I was checking the import & export parsing, and I noticed we are using `TokenKind::Identifier` for `IdentifierName`, so I changed that name. An `Identifier` is an `IdentifierName` that isn't a `ReservedWord`. This means we should probably also adapt all `IdentifierReference`, `BindingIdentifier` and so on parsing. I already created an `Identifier` parser.
Something interesting there is that `await` is not a valid `Identifier` if the goal symbol is `Module`, as you can see in the [spec](https://tc39.es/ecma262/#prod-LabelIdentifier), but currently we don't have that information in the `InputElement` enumeration, we only have `Div`, `RegExp` and `TemplateTail`. How could we approach this?
Co-authored-by: jedel1043 <jedel0124@gmail.com>
2 years ago
|
|
|
flags = []
|
|
|
|
|
|
|
|
features = [
|
|
|
|
### Unimplemented features:
|
|
|
|
|
|
|
|
"SharedArrayBuffer",
|
|
|
|
"FinalizationRegistry",
|
|
|
|
"IsHTMLDDA",
|
|
|
|
"Atomics",
|
|
|
|
"change-array-by-copy",
|
|
|
|
"String.prototype.isWellFormed",
|
|
|
|
"String.prototype.toWellFormed",
|
|
|
|
"symbols-as-weakmap-keys",
|
|
|
|
"intl-normative-optional",
|
|
|
|
"Intl.DisplayNames",
|
|
|
|
"Intl.RelativeTimeFormat",
|
|
|
|
"Intl-enumeration",
|
|
|
|
|
|
|
|
|
|
|
|
### Pending proposals
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-intl-locale-info
|
|
|
|
"Intl.Locale-info",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-intl-numberformat-v3
|
|
|
|
"Intl.NumberFormat-v3",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-regexp-legacy-features
|
|
|
|
"legacy-regexp",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-import-attributes
|
|
|
|
"import-assertions",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-json-modules
|
|
|
|
"json-modules",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-resizablearraybuffer
|
|
|
|
"resizable-arraybuffer",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-arraybuffer-transfer
|
|
|
|
"arraybuffer-transfer",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-temporal
|
|
|
|
"Temporal",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-realms
|
|
|
|
"ShadowRealm",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-array-grouping
|
|
|
|
"array-grouping",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-intl-duration-format
|
|
|
|
"Intl.DurationFormat",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-decorators
|
|
|
|
"decorators",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-duplicate-named-capturing-groups
|
|
|
|
"regexp-duplicate-named-groups",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-array-from-async
|
|
|
|
"Array.fromAsync",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-json-parse-with-source
|
|
|
|
"json-parse-with-source",
|
|
|
|
|
|
|
|
# https://github.com/tc39/proposal-iterator-helpers
|
|
|
|
"iterator-helpers",
|
|
|
|
|
|
|
|
### Non-standard
|
|
|
|
"caller",
|
|
|
|
|
|
|
|
### RegExp tests that check individual codepoints.
|
|
|
|
### They are not useful considering the cpu time they waste.
|
|
|
|
"regexp-unicode-property-escapes",
|
|
|
|
]
|
|
|
|
|
|
|
|
# RegExp tests that check individual codepoints.
|
|
|
|
# They are not useful considering the cpu time they waste.
|
|
|
|
tests = ["CharacterClassEscapes", "NumberFormat"]
|