Commit Graph

12 Commits

Author SHA1 Message Date
Erik Ernst bb5cb79a2f Update Dart.g
Update Dart.g to handle symbolLiterals, define builtInIdentifier
non-terminal, enable non-function type aliases, delete obsolete
comments. Add `metadata` to n{ormal,amed}ParameterType; add
`extension` to identifierNotFunction.

Change-Id: I130be575265732dcd9ad7708460b2a4326e765c3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195501
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2021-04-15 22:12:17 +00:00
Erik Ernst b27735d404 Add missing change log entries for 8 changes.
Dart.g has a 'CHANGES' section, but it hasn't been updated for a while.
This CL adds the missing entries.

Change-Id: Ib99f480b872d176344f5ad4a5af15a869c1550a6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/177601
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2021-01-05 16:32:14 +00:00
Erik Ernst 82403371ac Adjust qualifiedName, constructorDesignation, metadata
Cf. language issue #1341: The grammar rule in Dart.g for <metadata> is
wrong, it does not allow `@x` where `x` is the name of a variable
which is not a `<typeIdentifier>` (in particular, a variable can have
a name like `required` even though it's a built-in identifier).

This CL changes `qualifiedName` such that it only includes the cases
with a '.', and then the remaining case is added where `qualifiedName`
is used. We add `identifier` in `metadata` such that it allows
`@required` and such, and we add `typeIdentifier` in
`constructorDesignation`, because that's required to be an import
prefix or a class name, which are both `typeIdentifier`s.

Change-Id: Ia22d9d9842b995c4ebaa8e18e1c2ccbce1c30e62
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/174540
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-12-02 10:03:47 +00:00
Erik Ernst 67c703063d Update Dart.g to match language specification
This CL updates the spec_parser grammar Dart.g such that it corresponds
more precisely to the grammar in the language specification.

Main corrections:
  fieldFormalParameter now allows `?` on the parameter type.
  cascade was reorganized in the spec, Dart.g now reorganized similarly.
  `?` removed from argumentPart (we did not add null-aware invocation)

Other changes were mainly renamings and simplifications of rules, to
make them more similar to the version in the specification.

Change-Id: I1a9bc0097fe6b260dfa6657c947840f2deb437b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167805
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-10-19 16:01:17 +00:00
Erik Ernst 8ccdb9ae79 Adjust Dart.g to include constructorInvocation in primary
Cf. https://github.com/dart-lang/language/issues/1199.

Change-Id: Idb0422aacfe1ef08dbf1c90eb9c01b91de75cfaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161708
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-09-03 18:06:25 +00:00
Erik Ernst f4d7951a88 For external/abstract fields: add tests and update Dart.g
This CL adds tests in language/external_abstract_fields, testing the
support for abstract instance variables, and for external top-level,
class, and instance variables. It is tested that the syntax of
supported declarations is accepted, and a number of non-supported
forms are rejected, and abstract fields are tested at run time as well.

The implementation of external fields is provided by an implementation
specific mechanism, and no tests are added for any such mechanisms
(that is, with external fields we only test errors).

This CL also updates the spec grammar Dart.g to include grammar
rules for the new kinds of declarations, and it has been verified that
the new tests are passing, respectively cause syntax errors, as
indicated in the test files.

The tests are a further development of the ones in
https://dart-review.googlesource.com/c/sdk/+/145862.

Change-Id: I13be746a05d5acf0117d8cb22151bd9863a71a78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148324
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2020-07-02 13:39:39 +00:00
Erik Ernst a9ea9365ad Change null-aware operator [], operator []=, and function call to not have a period.
Change-Id: I8b9c83e216dd713afeef8a1c1cf93c36c8de3792
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/132840
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2020-01-22 10:18:26 +00:00
Erik Ernst 6826faf583 Update spec_parser.
Update spec_parser to enable configurableUri in deferred imports,
make cascade syntax compositional, include `extension` declarations,
add `late` as a built-in identifier, and reorder the lexical rules for
single words such that they are grouped into reserved words, built-in
identifiers, and "other words known by the grammar".

Cf. language issue #615, #627, #628, #638.

Change-Id: If60b2ba2ca0e7d4bbc9b4e886857f657fb14c809
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/121991
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-10-25 08:57:44 +00:00
Erik Ernst a58052974e Adjusted Dart.g to contain the grammar updates of language repo PR 293
This CL makes several adjustments to the spec_parser grammar Dart.g,
such that the spec_parser can parse the proposed NNBD constructs,
cf. language PR #293.

Change-Id: Ieec00259d73b6037d6a87d5c97cfac40186baef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/101500
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-08-14 08:17:54 +00:00
Erik Ernst 56793b3d47 Dart.g fixes, not including nnbd updates.
Change-Id: Ibbc6f5f811ed0cc042340254dce10616c0600fea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105220
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-06-06 12:07:40 +00:00
Erik Ernst 69790e7eb4 Updated Dart.g, tests & status files to support ui-as-code collections
Change-Id: I9ba3aa4e3ebaedee3a2cd20ccdcc533af96b9bda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98018
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-03-29 13:33:52 +00:00
Erik Ernst e830338919 Updated spec_parser such that it runs with ANTLR v4
Change-Id: Ib0711ebc125f4fadb5a526c3538d5c3a35f11234
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97320
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2019-03-19 14:06:26 +00:00