Johnni Winther
2be1d090ca
[cfe] Correctly resolve extension properties in face of getter/setter conflict
...
Change-Id: I0b818edb27de1b2cd1dcd2e046f42616cd7cb257
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117729
Reviewed-by: Jens Johansen <jensj@google.com >
2019-09-24 07:55:45 +00:00
Johnni Winther
71896d5586
[cfe] Support implicit this access to extension methods in extensions
...
Change-Id: Idad98ca0d0fb27010ef4a522593f283b97ecc873
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117720
Reviewed-by: Jens Johansen <jensj@google.com >
2019-09-24 07:55:45 +00:00
Johnni Winther
037b9052d2
[cfe] Handle compound assignment on explicit extension application
...
Change-Id: Ie8b23593db5286d1d44125ea0dcc76f95cb9b4e9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117545
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-24 07:55:45 +00:00
Johnni Winther
bdd432f427
[cfe] Handle if-null assignment on explicit extension application
...
Change-Id: I30e02767d23982cb8cae08113bd6b0f97d325e03
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117544
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-24 07:55:45 +00:00
Johnni Winther
dc211c3f9d
[cfe] Refactoring handling of compound index set
...
Change-Id: If5ba12c571c77643e57669ef85f8235496d4b06b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117141
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-19 17:17:10 +00:00
Johnni Winther
604f443285
[cfe] Refactor handling of if-null index assignment
...
Change-Id: I0fc9c4564321144ea4215fe21bd11f671f9f9054
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116960
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-19 17:17:10 +00:00
Johnni Winther
c7a083ee5a
[cfe] Refactor handling of ++/--
...
Change-Id: Ib63b095ba52b92653c3253286d0ecc1d18a469ef
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116760
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-19 17:17:10 +00:00
Johnni Winther
c2f35df918
[cfe] Refactor handling of compound local/property assignment
...
Change-Id: I8a42ab364ef263b13b7a2314777d04dbb1de8038
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116520
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-19 17:17:10 +00:00
Johnni Winther
40d75d733b
[cfe] Refactor if-null and null-aware property access
...
Change-Id: I19a50b7d56b63c96f24daf8aaf975e0748e29cf8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116340
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-19 17:17:10 +00:00
Johnni Winther
2153a06b82
[cfe] Use PropertySet for property assignment
...
Change-Id: If16d2b9ca8bb1134d181c27ea524b8008e2f52ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116207
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-13 07:38:25 +00:00
Johnni Winther
4fd7bf7356
[cfe] Split inference of super property get from instance property get
...
Change-Id: I457d6a4326c879ee68113760cd86dc0250e4cfde
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116205
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-13 07:38:25 +00:00
Dmitry Stefantsov
94b3a3f2ac
[cfe] Don't reuse type parameters of FunctionNode in its functionType
...
Closes #37536 .
Bug: http://dartbug.com/37536 .
Change-Id: I7e5d2fc59a0cf53e67c43989cf806ca7dbcc307e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115368
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-09-12 11:12:52 +00:00
Johnni Winther
8c13ecf443
[cfe] Handle nested on-types
...
Change-Id: Ib390f7939c487c59034bfcf1490f1ad40aebd031
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115980
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-09-06 15:49:50 +00:00
Johnni Winther
7152fd06a5
[cfe] Handle [] and []= on extensions
...
Change-Id: Ic496d0da2f36be5701a30e0b394e6046240f7b2c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115700
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-06 09:55:29 +00:00
Johnni Winther
deb2fcf818
[cfe] Handle extension operators
...
Change-Id: Ib63d7ab486dbe130cd2e37cc8a51abb2e64b7099
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115400
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-06 09:55:29 +00:00
Johnni Winther
28af740e83
[cfe] Follow-up fixes
...
Change-Id: I91d55176a0fbc48cdc0e0039d715a0b9fa2cbff3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115360
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-05 11:19:53 +00:00
Johnni Winther
06ae3402d7
[cfe] Support F-bounded extensions and type variable shadowing
...
Change-Id: I6fa5bf13ab8524e6262a67c6f9fe4d56c8ee5046
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115246
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-05 11:19:53 +00:00
Johnni Winther
ab8e70addd
[cfe] Handle implicit extension access inference
...
Change-Id: Ia46976af37b586a7b88e3ff8465894e6858a6759
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115210
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-03 20:10:26 +00:00
Johnni Winther
c50621a560
[cfe] Infer type arguments for explicit extension application
...
Change-Id: I52d97abf85eadea679f2a48563f575eca1fd8436
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115140
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-09-03 13:17:56 +00:00
Johnni Winther
bfec168c1e
[cfe] Use tearoff function for implicit extension method tearoff
...
Change-Id: I35ef1b15ced6bc7f29f248e35438c7e14c2a3754
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114942
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-30 17:08:14 +00:00
Johnni Winther
c39cddf2be
[cfe] Produce errors on invalid explicit extension application
...
Change-Id: I79fa8a58c8d46583ec5c7d980b4a8ac7005651b7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114941
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-30 17:08:14 +00:00
Dmitry Stefantsov
a024685f3a
[cfe] Update out-of-sync .expect files
...
Change-Id: Ic3819e9763b701f1ecf15abdafa5fbd7833df633
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115021
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-08-30 11:47:51 +00:00
Dmitry Stefantsov
d4342b9021
[cfe] Print Kernel's type-parameter types in more details in text
...
Change-Id: I10cb27cba22ce91eca4e5cceed53a2753c6d4573
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114943
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-08-30 10:11:40 +00:00
Johnni Winther
f10c37b0e5
[cfe] Handle explicit extension instance access.
...
Including most cases of explicit generic extension instance access.
Change-Id: I43a9d72ef9ddb1dc2cc83f66cb54931b07240d07
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114859
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-30 09:12:41 +00:00
Johnni Winther
e3563528e6
[cfe] Add tear off function for extension instance methods.
...
Change-Id: Ia92640f5dd99cd3eeb5ba737a646472b5f5260a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114844
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-29 09:51:53 +00:00
Johnni Winther
63133a2a8c
[cfe] Handle extension instance method tearoff
...
Change-Id: I56f422ed94fbc328030dce1b01df81954969bb01
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114506
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-28 22:16:21 +00:00
Johnni Winther
a147d4e8d2
[cfe] Handle simple use of extension instance members
...
Change-Id: Ic1a949c0dca9327763e01458211e477de13c222f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114504
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-28 22:16:21 +00:00
Johnni Winther
7f9f4ad774
[cfe] Delete legacy tests
...
+ make sdk_test test non-legacy
Change-Id: Ie9861e54d12301f454d4fccf6eccd3516e0387d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113825
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-21 09:01:44 +00:00
Johnni Winther
91c8cf7167
[cfe] Support per folder experimental flags in testcases
...
Change-Id: Ia4d795959f6b192d83c97c45870c5fc59d406f4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113824
Reviewed-by: Jens Johansen <jensj@google.com >
2019-08-21 09:01:44 +00:00
Johnni Winther
027071318f
[cfe] Change outline test to test strong mode
...
Closes #37904
Change-Id: I75cd093922dbcf29c0b073d6a37aaba9d6c1f5f2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113697
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-08-20 13:51:10 +00:00
Johnni Winther
ee37965e49
[cfe] Handle static access of static extension members
...
Change-Id: I9c52ddc7b0c7ef0952471542ee41c231989d80d6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113441
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-19 14:47:33 +00:00
Johnni Winther
9c649e67df
[cfe] Handle most accesses to extension members from within the extension
...
Change-Id: I1be167bff0f398793c67834bb80328418e9bb4c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113020
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-18 12:25:34 +00:00
Johnni Winther
9d4e778cde
[cfe] Support getters, setters, fields and operators in extensions
...
Change-Id: Ic84380ea767691bbbb802c65cb72fe43893f78a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112257
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-15 12:12:00 +00:00
Johnni Winther
271ad96813
[cfe] Create Extension nodes for extensions
...
Adds Extension node to kernel/ast, currently with serialization. This
is needed to support resolution of extension methods through dill
boundaries.
Adds (Source)ExtensionBuilder for build Extension nodes and
DeclarationBuilder as common superclass of ClassBuilder and
ExtensionBuilder.
Change-Id: Id945a40452f2729f9a4f390477dd6c76f9030eaa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112256
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-08-09 20:46:01 +00:00
Johnni Winther
e9a9d9452e
[cfe] Build extension methods as toplevel members
...
+ add an 'isExtensionMethod' property to Procedure.
Change-Id: I8fb1af1802570c827bf3ccbbb9d710eb2a6981ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/112081
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-08 12:51:40 +00:00
Johnni Winther
067c6ea5b6
[cfe] Add extension type variables to procedures
...
Adds synthesized type variable builders and formal parameter builders to
the procedure builder. This ensure that both the outline and body
building correctly resolve extension type variables and extension this types.
Change-Id: I55d5665286dafedb4e47316faafb32ddb6cc33d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/111730
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-05 17:15:37 +00:00
Johnni Winther
68e4eeee12
[cfe] Handle property access, update and method invocation on explicit/implicit this in extension methods
...
Handles property access, update and method invocation on explicit and
implicit this in extension methods. Also use ReadOnlyAccessGenerator
instead of ThisAccessGenerator to handle explicit this.
Change-Id: Ifd6861b1f931f854a39ddfb9ddae35ebf6094327
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110904
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-08-01 12:04:59 +00:00
Dmitry Stefantsov
20e4c74f7f
[fasta][nnbd] Print NNBD type modifiers in Kernel's text representation
...
Change-Id: I48c43858094e2b7264a15be05238bfc3dadd5ecb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108264
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-07-31 08:26:14 +00:00
Johnni Winther
3992be71c7
[cfe] Add this parameter to extension methods
...
Change-Id: I25326e755d63b5707f8f7ce52b3d80c3965372aa
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/110725
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-07-29 15:58:08 +00:00