Brian Wilkerson
89c2da2846
Add generator for unlinked names
...
Change-Id: I5841b3ff86133eedd14d8bef26c3d1b2dd78f34d
Reviewed-on: https://dart-review.googlesource.com/57703
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-31 19:21:16 +00:00
Samir Jindel
9a02f5bf4d
[vm/kernel] Fix bugs with expression evaluation in debug mode.
...
Fixes #33170 : We had an assert that type variables are not bounded by "dynamic".
This assert was previously valid because the FE replaces "extends dynamic" with
"extends Object". However, it's not necessary in any way, and it's difficult to
access the Object type from outside the FE when synthesizing type parameters for
expression compilation.
Fixes #33171 : The synthetic class generated during serialization to hold the
synthetic method may need to extend core library classes if the expression's
scope was within a core library class. In this case, the class finalizer needs
to avoid applying the restrictions on class extension to the synthetic class.
To facilitate this, we now use a single class name for all synthetic classes,
rather than copying the original class name. The name of the synthetic class has
no function at all, since the synthetic method is reparented to the original
class before execution.
Fixes #33239 : The arguments descriptor passed to InvokeFunction for expression
functions which capture generic type parameters was using the wrong argument
count.
Fixes #33270 : Use LookupClassAllowPrivate instead of LookupClass when resolving
the expression's scope in the VM.
Test Plan:
#33170 : python tools/test.py -m debug -c dartk --strong service/evaluate_function_type_parameters_test
#33171 : python tools/test.py -m debug -c dartk --strong service/eval_test
#33239 : Updated "evaluate_function_type_parameters_test.dart".
#33270 : Updated "eval_test.dart".
Change-Id: I376926bddd2224ec2322b43685d6c13831f1a8e7
Reviewed-on: https://dart-review.googlesource.com/56060
Commit-Queue: Samir Jindel <sjindel@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Alexander Aprelev <aam@google.com >
2018-05-31 18:46:07 +00:00
Dan Rubel
e8659b0f28
Remove skipTypeVariables
...
Change-Id: Ibb7863cfd914ed1675f3cd977037c4857edb575a
Reviewed-on: https://dart-review.googlesource.com/57660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-31 18:11:58 +00:00
Dan Rubel
fcb41fb50d
Replace more calls to parseTypeVariablesOpt with computeTypeParamOrArg
...
Change-Id: I03966a8b06516f8cff612ccea25443da682f8da9
Reviewed-on: https://dart-review.googlesource.com/57541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-31 16:20:13 +00:00
Peter von der Ahé
7ce24328c3
Add UnlinkedScope
...
This scope is for use when building an AST before building the outline.
Change-Id: I90786449fb4e7d755e64d40f91c4cb67a02a6082
Reviewed-on: https://dart-review.googlesource.com/57581
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-31 14:11:24 +00:00
Dmitry Stefantsov
00f75adfaf
Emit a compile-time error on incorrect types of initializing formals
...
Fixes #32526 .
Bug: http://dartbug.com/32526
Change-Id: I1e4738937ade7592f7fb1d16bf485ad4ccd077c2
Reviewed-on: https://dart-review.googlesource.com/46801
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-31 13:31:42 +00:00
Kevin Millikin
b62b438e8a
Infer Object members for dynamic receivers
...
For method, getter, and setter invocations with names of methods on
Object on expressions with static type `dynamic`, if the invocation
cannot possibly be an invocation of noSuchMethod, infer the type of
the invocation using the type of the member of Object.
This implements the feature spec
https://github.com/dart-lang/sdk/commit/472ec7780f1bb38f049d0fcc903a69bfb8ef9133
Fixes https://github.com/dart-lang/sdk/issues/32414
Change-Id: I135156346fe1468561d56a01cf3c5f0efde30739
Reviewed-on: https://dart-review.googlesource.com/56942
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-31 12:43:22 +00:00
Peter von der Ahé
b3bae4262d
Fix a batch of long lines
...
Change-Id: I9ae610f7e6e588ecec961af9ea72dcf6ee1751b7
Reviewed-on: https://dart-review.googlesource.com/57506
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-31 12:25:22 +00:00
Dan Rubel
796f5301dd
Report FieldInitializerOutsideConstructor error in BodyBuilder
...
Change-Id: I357b6164abc4d47ac558496ed3dbb149550e6f43
Reviewed-on: https://dart-review.googlesource.com/57180
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-31 11:44:02 +00:00
Peter von der Ahé
e1ffb22078
Remove Declaration.prepareTopLevelInference
...
Change-Id: I3c31cdf200c77749e4465be99d832b65be4a775d
Reviewed-on: https://dart-review.googlesource.com/57508
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-31 11:31:03 +00:00
Peter von der Ahé
b851714bb7
Remove Declaration.computeLibraryUri
...
Change-Id: I8ab2d15f83e9547f19301b12d0bff9f1dc05de46
Reviewed-on: https://dart-review.googlesource.com/57561
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-31 10:31:53 +00:00
Dmitry Stefantsov
5ecd78222e
[kernel] Add an option to the cloner for cloning annotations
...
Fixes #33099
Bug: http://dartbug.com/33099
Change-Id: I291e75fa49fb6bf62557cfeab0c874c5de9b618d
Reviewed-on: https://dart-review.googlesource.com/57264
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-05-31 10:11:52 +00:00
Peter von der Ahé
bb0808db80
Replace Builder by Declaration
...
Change-Id: I1d9997ab22290e9fc882b64b0934f70c6aed2261
Reviewed-on: https://dart-review.googlesource.com/57505
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-31 09:19:33 +00:00
Peter von der Ahé
032925c4ff
Remove obsolete features
...
Remove tree-shaker as we're not using it, and it creates problems
when the SDK changes.
Remove scopes from AstBuilder as we will be phasing out AstBuilder
in favor of using BodyBuilder and the Forest API.
Change-Id: I51950c5d8bfb0493587336325f9da8f5bf8ecea6
Reviewed-on: https://dart-review.googlesource.com/57261
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-31 07:24:54 +00:00
danrubel
a53b585498
Fix more Analyzer tests
...
* Add "usingFastaParser" accessor for Analyzer engine tests
* Update Analyzer compile time error code tests
* Add additional checks for async/await/yield as identifiers
* Update built-in as type variable error message
* Check for "this." in local declaration parameters
* Remove unnecessary asserts
and address comment in https://dart-review.googlesource.com/c/sdk/+/57022
Change-Id: I54b5ac22f912289dad6360646fae7eca717bbd98
Reviewed-on: https://dart-review.googlesource.com/57220
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-31 00:25:03 +00:00
Peter von der Ahé
3b6caa3517
Split UnresolvedNameGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: I487a1704943fbe40ca20031372a436f74ef32752
Reviewed-on: https://dart-review.googlesource.com/57320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-30 15:17:40 +00:00
Brian Wilkerson
13987b073d
Add Forest method to access the name of a variable declaration
...
Change-Id: I2c24961573887ea56b0a09152c8926b3445e6c01
Reviewed-on: https://dart-review.googlesource.com/57006
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-30 13:46:23 +00:00
Brian Wilkerson
ae9f5d2a1b
Add Forest API for logical expressions
...
Change-Id: Ib9efeb06d1c6857b07f3c42724310621416a0fc8
Reviewed-on: https://dart-review.googlesource.com/57080
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-30 13:20:10 +00:00
danrubel
d116e62d76
Improve catch parameter recovery
...
Change-Id: Ib4479eb7682c7093e9076f12a85d5a2f911a3f1d
Reviewed-on: https://dart-review.googlesource.com/57022
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-30 01:31:49 +00:00
Alexander Markov
1ca17b6d03
[vm/kernel] Recognize desugared mixin applications in dart:mirrors
...
Kernel mixin transformation desugars mixin applications into normal
classes. Mixed-in type is pulled into interfaces list.
However, dart:mirrors needs to know the original mixed-in type of
a mixin application.
This change solves this problem by propagating a 'isTransformedMixinApplication'
attribute of a class through kernel AST, kernel binary and VM objects
into dart:mirrors implementation.
Fixes: https://github.com/dart-lang/sdk/issues/33240
Change-Id: I98ca69294e1ad445402a5ca91d90c30447aabcb2
Reviewed-on: https://dart-review.googlesource.com/56721
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Ryan Macnak <rmacnak@google.com >
Reviewed-by: Siva Annamalai <asiva@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-05-29 18:12:26 +00:00
Dan Rubel
b7336ab443
Improve field type argument recovery
...
This CL improves recovery when parsing field type arguments
and adds more tests for parsing type parameters and type arguments.
Change-Id: Ib6ee4081f898d0421d90a66de84d686206a06a8f
Reviewed-on: https://dart-review.googlesource.com/56682
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-05-29 16:30:46 +00:00
Dmitry Stefantsov
7dc4fbf5a2
[fasta] Add support for annotations on enum values
...
Fixes #33083
Bug: https://github.com/dart-lang/sdk/issues/33083
Change-Id: If278ee3c59489944e2e821ae48ba3cb363dbbdd1
Reviewed-on: https://dart-review.googlesource.com/56496
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-29 10:41:55 +00:00
Peter von der Ahé
990c85276b
Avoid allocation and bottom-type on Link
...
Change-Id: Ib23e596edf55285cc63e3a391da3712b2bcb1224
Reviewed-on: https://dart-review.googlesource.com/56761
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2018-05-29 07:40:27 +00:00
danrubel
b4699ae795
Improve type parameter and type argument recovery
...
This improves recovery when parsing type arguments in
* top level fields and functions
* class members
and when parsing type parameters in
* top level functions
* class declaration
* class methods
Change-Id: I7dbb520d6bb39c0d13b27698658dafe580f2b16c
Reviewed-on: https://dart-review.googlesource.com/56681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-26 02:25:53 +00:00
Brian Wilkerson
abed87be08
Make BodyBuilder.handleCatchBlock use FormalParameters as catchParameters.
...
Change-Id: Ib3523faa2a7fa122e56ecef5b9ed6c42a1a8b90d
Reviewed-on: https://dart-review.googlesource.com/56604
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-25 15:41:03 +00:00
Dmitry Stefantsov
5016f11c08
[fasta] Make lists of type arguments growable
...
Change-Id: I0a5bc5da093ad1fecdba4fc1ec8b9325f72b021a
Reviewed-on: https://dart-review.googlesource.com/56666
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-25 13:38:32 +00:00
Brian Wilkerson
48e8b4cdbb
Make Forest.forStatement take the conditionStatement rather than extracting the rightSeparator
...
Change-Id: I4fc8abddfc04cdde018480d7a078c46d3241b80d
Reviewed-on: https://dart-review.googlesource.com/56602
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-25 13:34:13 +00:00
Peter von der Ahé
6a34939ba7
Use bottom type for Link constants
...
This should make the Link implementation work in strong mode.
We may find situations where Link<Null> leaks out, but I believe those should
be fixed by passing explicitly typed tail arguments.
Change-Id: I4c48769569f22e987ace586f5ec9264d75b49982
Reviewed-on: https://dart-review.googlesource.com/56663
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2018-05-25 10:37:36 +00:00
Peter von der Ahé
20831b1d6f
Move ErroneousExpressionGenerator
...
This prepares for splitting its subclasses so they can
be implemented by the analyzer.
Change-Id: I0fb59b56a6d34e86e909e6ecf68a9cdf57de44d6
Reviewed-on: https://dart-review.googlesource.com/56495
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-25 07:45:46 +00:00
Peter von der Ahé
8e25851870
Split LargeIntAccessGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: Ida249f93ad0b80bb52bb3278a1e2949c668b0e64
Reviewed-on: https://dart-review.googlesource.com/56493
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-25 07:45:46 +00:00
danrubel
379232a097
Convert remaining IdentifierContext consts
...
This CL converts the remaining IdentifierContext constants
and removed now unused code from the parser.
Change-Id: I3c5add811e0e5a3af082c31bc42abda62a164307
Reviewed-on: https://dart-review.googlesource.com/56541
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-05-24 21:45:05 +00:00
Dan Rubel
d3da30c152
Report errors on non-synthetic tokens
...
This updates fasta parser error reporting to find a non-synthetic token
on which to report an error. In addition, this addresses a comment in
https://dart-review.googlesource.com/c/sdk/+/56041
Change-Id: Id3415529a7b8635273221c7c2f3d36e1695a9ece
Reviewed-on: https://dart-review.googlesource.com/56540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-24 15:54:32 +00:00
Peter von der Ahé
8d4a1ccaf6
Split ReadOnlyAccessGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: Idccd5af9aac79300186b3a07c636bb580bdd637c
Reviewed-on: https://dart-review.googlesource.com/56491
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-24 11:35:02 +00:00
Peter von der Ahé
ee9e1c1571
Split TypeUseGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: I89bf0ca368308e98846c8ea8b7c765398c48ecf7
Reviewed-on: https://dart-review.googlesource.com/56490
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-24 11:35:02 +00:00
Peter von der Ahé
9ec756b31c
Split DeferredAccessGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: I40a91e6455128fedac871eb2691197333e2cba15
Reviewed-on: https://dart-review.googlesource.com/56489
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-24 11:35:02 +00:00
Peter von der Ahé
163807ad40
Split LoadLibraryGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: Id6e3f3935ce4bd4989b544c251b0e859f256eb19
Reviewed-on: https://dart-review.googlesource.com/56486
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-05-24 11:35:02 +00:00
Peter von der Ahé
1d8a72cacd
Split StaticAccessGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: I99a1e1365da67a867f6c4ed5883649f157306d92
Reviewed-on: https://dart-review.googlesource.com/56502
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-24 10:16:11 +00:00
Kevin Millikin
2d46ebd6a5
Fix Dart 2 runtime errors in the front end
...
Fix all the Dart 2 runtime errors revealed by compiling dart2js, the
front end itself, the front end tests.
Change-Id: Ic6e6dd9f85db845b6a351ebbcfea9a6045843fc2
Reviewed-on: https://dart-review.googlesource.com/56322
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-24 10:14:20 +00:00
Peter von der Ahé
d07b9aa0e0
Add explicit type args on generators
...
Change-Id: Ia1e4c42b888d9302e23a7e832044b2f59f8c0a8f
Reviewed-on: https://dart-review.googlesource.com/56483
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-24 08:55:52 +00:00
Peter von der Ahé
b3862d5a92
Split SuperIndexedAccessGenerator
...
This prepares the generator to be implemented by the analyzer.
Change-Id: Ia962668e1327b53af968be9efdc41ea6b124b4d0
Reviewed-on: https://dart-review.googlesource.com/56482
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-05-24 08:27:59 +00:00
Sigmund Cherem
9b44fc39c8
Deprecate chaseDependencies option.
...
The option is not used by any client at this time and removing it simplifies the
next stack of changes I'll be making on how we compose file systems.
I also don't believe we will necessarily add this back as an option, but instead
it might be that clients requriing hermeticity will provide a custom file system
that helps with that.
Change-Id: I401efb042920d234382b6c041b13d40ffae5c908
Reviewed-on: https://dart-review.googlesource.com/56462
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-24 04:57:01 +00:00
Dan Rubel
9cd0e808db
Convert more identifier contexts
...
Change-Id: I0ead9e15da9d477b26deb13c6880dbfeea4d7724
Reviewed-on: https://dart-review.googlesource.com/56401
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-23 21:58:35 +00:00
Dan Rubel
cc4fe66de8
Replace parseTypeVariables with computeTypeParam
...
Change-Id: I6835db80220e09b59a0242140539761f93da3a7e
Reviewed-on: https://dart-review.googlesource.com/56400
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-23 21:17:05 +00:00
Dan Rubel
ade600c4b3
Update constructor identifier context
...
... and remove unused IdentifierContext instance
Change-Id: I2bd8d350f3ac22c472d00d3854ced594563dab1b
Reviewed-on: https://dart-review.googlesource.com/56380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-05-23 20:40:43 +00:00
Brian Wilkerson
e5eee0d57a
Add Forest support for labeled statements
...
Change-Id: I8ab9fd9ac202268f3be93eb2c92266d387cd0bab
Reviewed-on: https://dart-review.googlesource.com/56261
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-23 20:23:52 +00:00
Sigmund Cherem
83e29023f4
Add schema-based file system
...
This file-system will be used to compose multiple file-systems together.
Bug: https://github.com/dart-lang/sdk/issues/32633
Change-Id: Ia6c9626b98037c4aaee83be0e09615671f5d0fe7
Reviewed-on: https://dart-review.googlesource.com/56281
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-23 19:51:11 +00:00
Sigmund Cherem
8f4c9bcf15
Add single-root file system.
...
A file-system that we'll use to generate machine agnostic dill files.
Bug: https://github.com/dart-lang/sdk/issues/32633
Change-Id: I05b25940764f4af0bc86c5304e8ba4a6650fb362
Reviewed-on: https://dart-review.googlesource.com/56280
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-05-23 19:51:11 +00:00
Brian Wilkerson
1567b442dd
Add Forest support for catch clauses
...
Change-Id: I6b28d1a759d51cab59005052e9a47c3cab358dd3
Reviewed-on: https://dart-review.googlesource.com/56080
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-05-23 18:52:12 +00:00
Brian Wilkerson
0a9697596e
Add Forest support for for statements
...
Change-Id: Ic65a09c01012e8a5d0ab2a4f755950c18b00fa9f
Reviewed-on: https://dart-review.googlesource.com/56000
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-05-23 17:32:55 +00:00
Aske Simon Christensen
8427d53a4d
Extra precedence level in parser to distinguish postfix operators and selectors
...
Fixes https://github.com/dart-lang/sdk/issues/31185
Change-Id: I77d617f6abd367d857741d04cf47571ea7492c6a
Reviewed-on: https://dart-review.googlesource.com/56111
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2018-05-23 16:13:55 +00:00