Peter von der Ahé
ab305f2f26
Recover from duplicated declarations
...
Before, a duplciated declaration would cause the compiler to abort using
deprecated_InputError.
Change-Id: Ide8d13802045e9a349f0f408a6d174a47c7f6418
Reviewed-on: https://dart-review.googlesource.com/76122
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-25 14:53:58 +00:00
Peter von der Ahé
4e32a356e0
Ignore synthetic elements created by the parser
...
Change-Id: I558827417c938a22075c5b5357294d27cbd6286a
Reviewed-on: https://dart-review.googlesource.com/76121
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-25 14:15:23 +00:00
Jens Johansen
570fd5a788
Error on re-export, export and import of libraries with same name.
...
Fixes #12916 .
Change-Id: Icef0f04f1575c8dad5f1cd23a9363f06fa2a2b35
Reviewed-on: https://dart-review.googlesource.com/74161
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-25 09:09:21 +00:00
Alexander Markov
53497549ab
[vm] Specialize 'new List()' on kernel AST
...
In VM, 'new List' is equivalent to either 'new _GrowableList' or
'new _List' depending on the number of arguments.
This change does the transformation early (on kernel AST), in order
to have specialized representation in TFA and in bytecode.
Change-Id: I46f0db8cc19efb3a53fdbe971ac26bdd2736fbda
Reviewed-on: https://dart-review.googlesource.com/76283
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Alexander Markov <alexmarkov@google.com >
2018-09-25 00:38:57 +00:00
Daniel Hillerström
7ad1e5da99
Perform substitution on type argument/parameter bounds.
...
Fixes regression #34528 . Introduces a new test to mitigate future
regressions.
Closes #34528 .
Change-Id: Iaf0a8f44db2a8b4a8151c391ddb8dff69910fe3a
Reviewed-on: https://dart-review.googlesource.com/75840
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Erik Ernst <eernst@google.com >
2018-09-24 14:02:01 +00:00
Peter von der Ahé
309d38f300
Consistency in messages about duplication
...
Change-Id: I2d29c4f08d55d97453cc44344036c54e70e8a155
Reviewed-on: https://dart-review.googlesource.com/75900
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-24 13:47:17 +00:00
Aske Simon Christensen
8385c36d97
Move all int literal parsing and checking code together.
...
Report error for negated hex literals > 2^63.
Optimized common case of web int literal exactness check.
Fixes https://github.com/dart-lang/sdk/issues/33311
Change-Id: Ib72b2dbb21e42489ee2d06b17302daf83d560df1
Reviewed-on: https://dart-review.googlesource.com/72802
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-24 11:17:36 +00:00
Peter von der Ahé
fe39691269
Don't use --no-preview-dart-2
...
Fixes https://github.com/dart-lang/sdk/issues/34548
Change-Id: Ia6b4a3cdc4b6c39e0aa0fb649940b2bd126a619e
Reviewed-on: https://dart-review.googlesource.com/76120
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-24 09:20:01 +00:00
danrubel
52bec5e34b
Update parser to find token on which to report the error
...
... before checking if the token is an ErrorToken
Also address comments in https://dart-review.googlesource.com/c/sdk/+/75960
Change-Id: Ia0d33e2f7879026d07937c6d709e23c9c14f5c16
Reviewed-on: https://dart-review.googlesource.com/75961
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-21 22:29:15 +00:00
danrubel
af2fd419fb
Update more analyzer error codes to be generated from messages.yaml
...
Change-Id: I1d8a0db791309ac3551fc1079f91807e6e98dcb2
Reviewed-on: https://dart-review.googlesource.com/75603
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-20 18:10:04 +00:00
Dan Rubel
05ba85399f
Cleanup fasta parser rewriter insert token methods
...
Change-Id: Ic776cae52cbfae4c1892884a6d9e179147c5396e
Reviewed-on: https://dart-review.googlesource.com/75760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-20 17:00:41 +00:00
Dan Rubel
07a1f233f8
Improve parser recover to fix more code completion tests
...
Change-Id: I7bb03e18043b4951da7b63ffc146b6e7486f7e42
Reviewed-on: https://dart-review.googlesource.com/75601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-20 17:00:41 +00:00
danrubel
fa0b38b45d
Fix some constructor initializer code completion situations
...
Change-Id: Ibbe079d79889846e34ab98ccdc11ef6fcc788654
Reviewed-on: https://dart-review.googlesource.com/75600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-20 16:30:38 +00:00
Kevin Millikin
2e43557274
Mark Kernel classes that were Dart mixin declarations
...
Add a flag to Kernel classes that indicates that they were Dart mixin
declarations. Also, add an API to Kernel Class that allows a list of
superclass constraints to be gotten from it.
Change-Id: Ie78e7e56b5421dfb9d340e4330135b8d6f4e94f1
Reviewed-on: https://dart-review.googlesource.com/75261
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-09-20 15:10:12 +00:00
Alexander Aprelev
c688d0c0c3
[frontend] When serializing compiled expression proc, clone type params first.
...
If there are circular references between type parameters and types in the bounds,
currently serialization leaves original type parameters unchanged, which results
in failures to serialize compiled expression procedure.
This CL makes sure to clone all type parameters first, then passes map
with old-to-new type parameters to CloneVisitor.
Bug: https://github.com/dart-lang/sdk/issues/34052
Change-Id: Idf3e6e6e9099f93cdd7e970ab3b21921cdb29178
Reviewed-on: https://dart-review.googlesource.com/75241
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2018-09-20 14:55:59 +00:00
Dmitry Stefantsov
346895eb35
Choose the right platform in the command-line fasta tool in strong mode
...
Change-Id: I6d51c0fafdab4277796b5861de9312b440e072dd
Reviewed-on: https://dart-review.googlesource.com/75740
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-20 14:50:16 +00:00
Alexander Aprelev
51d530475a
[frontend] Honor embedSourceText option in incremental compiler.
...
Change-Id: Ia7d3058a800e0e17dc9321ec75dcf8efb826a154
Reviewed-on: https://dart-review.googlesource.com/75100
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Alexander Aprelev <aam@google.com >
2018-09-20 14:47:56 +00:00
Peter von der Ahé
06792cb91f
Remove StackListener.popList
...
Change-Id: I0391b52a0be34c2cf61ac66e06c565e1f311182a
Reviewed-on: https://dart-review.googlesource.com/75680
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-20 14:15:16 +00:00
Peter von der Ahé
9e86c1a395
Normalize strong.status
...
Change-Id: Id15fe6d2f8e045e31bc2fb4264267197ea129b23
Reviewed-on: https://dart-review.googlesource.com/74840
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-19 09:11:19 +00:00
Peter von der Ahé
3831da8743
Include all problems in expectations
...
Change-Id: Ib9426243ae851bdf529f11d0d9b47c75679972fa
Reviewed-on: https://dart-review.googlesource.com/74760
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-19 08:34:43 +00:00
Peter von der Ahé
a1bd50168e
Make input validation optional
...
Change-Id: Ieb2619886f06b4432766b9383832547c33cdfb54
Reviewed-on: https://dart-review.googlesource.com/74741
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-19 08:13:45 +00:00
Peter von der Ahé
6fe272314d
Tweak parameters of ProcessedOptions
...
Change-Id: Id7aa47d9119da3ab21a1130253b4735c160a2459
Reviewed-on: https://dart-review.googlesource.com/74740
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-19 08:13:45 +00:00
Daniel Hillerström
de984e58cb
Type checking for redirecting factories.
...
Implements static semantics for redirecting factories (c.f. §10.6.2 of
the specification). This CL does not include inference of actual type
arguments on redirectees, that is it does not handle the case where
type arguments have been omitted on the redirectee as in this
following example program:
class A<T> {
factory A() = B;
}
class B<T> implements A<T> {
B();
}
Closes https://github.com/dart-lang/sdk/issues/32988 .
Also resolves the second part of
https://github.com/dart-lang/sdk/issues/30579 .
Can possibly also close https://github.com/dart-lang/sdk/issues/11578 .
Change-Id: I5f1fb60510ba6cdc917321239819c1f817b5b85d
Reviewed-on: https://dart-review.googlesource.com/74580
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-09-19 06:20:20 +00:00
Daniel Hillerström
7d3ee69e15
Corrects two typoes in the error messages for overrides.
...
Change-Id: I1c4be04cb69232149376a7f115f3ce556ad33567
Reviewed-on: https://dart-review.googlesource.com/75020
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
2018-09-18 11:57:04 +00:00
Vyacheslav Egorov
f8a3d802d0
Revert "[vm/kernel] Preserve strong mode types in async transformation"
...
This reverts commit eec96f9076 .
Revert "[vm/kernel] In async transformation check if strongMode is on."
This reverts commit 348ed30efd .
Reason for revert: getStaticType is unreliable in Kernel
R=alexmarkov@google.com
Change-Id: I08b914f947a00923491bb610ed74d6348882554f
Reviewed-on: https://dart-review.googlesource.com/75220
Reviewed-by: Alexander Markov <alexmarkov@google.com >
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
2018-09-17 22:58:55 +00:00
Lasse R.H. Nielsen
cc08d0e1da
Add operators &, | and ^ to bool.
...
Change-Id: Idd6472f239445914c1ff1ab68fc7b38fa6b320ae
Reviewed-on: https://dart-review.googlesource.com/25240
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Leaf Petersen <leafp@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Florian Loitsch <floitsch@google.com >
2018-09-17 12:33:12 +00:00
Nate Bosch
0f45b2e5c9
Fix spelling hexidecimal -> hexadecimal
...
Fixes #34460
Change-Id: I43ce8bbad9bfcc6b14c3a537ada84107e7bfaffe
Reviewed-on: https://dart-review.googlesource.com/74940
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Nate Bosch <nbosch@google.com >
2018-09-15 01:19:06 +00:00
Vyacheslav Egorov
348ed30efd
[vm/kernel] In async transformation check if strongMode is on.
...
It seems we are still using non-strong mode targets in few
places (e.g. when training front-end server we by accident
train it in legacy mode).
A separate bug is filed to clean that up https://github.com/dart-lang/sdk/issues/34468
For now to unbreak the build we simply check if we are in the
legacy mode and then avoid using getStaticType in async
transformation.
This is followup to eec96f9076 .
Bug: https://github.com/dart-lang/sdk/issues/34463
Change-Id: Ib693fddfb9abbf89599ae646cb408d4a9c93f1b6
Reviewed-on: https://dart-review.googlesource.com/75061
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-09-14 22:11:30 +00:00
Vyacheslav Egorov
eec96f9076
[vm/kernel] Preserve strong mode types in async transformation
...
Async transformation uses dynamic variables in few places (e.g.
for temporaries and for incomming arguments) - which creates
not strongly typed AST with method invocations having dynamic
receivers and non-null interface targets at the same time.
To maintain strong typedness of the AST we insert unsafeCast
when accessing the temporaries.
Bug: https://github.com/dart-lang/sdk/issues/34463
Change-Id: I11e38c128645ebc8acb0c982a80fe4c5c4036673
Reviewed-on: https://dart-review.googlesource.com/75000
Commit-Queue: Vyacheslav Egorov <vegorov@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
Reviewed-by: Alexander Markov <alexmarkov@google.com >
2018-09-14 17:19:29 +00:00
danrubel
61096acab3
Improve analyzer/fasta error code matching
...
This addresses a comment in https://dart-review.googlesource.com/c/sdk/+/74600 ,
updates the "run fasta generate first" exception message,
and converts more Analyzer errors to be auto generated.
Change-Id: I9c98184d1b9fe642dab4d66fbcd961dc27dfa6f9
Reviewed-on: https://dart-review.googlesource.com/74900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-13 21:03:47 +00:00
Dan Rubel
49da026e3e
Report error for extends void type parameters
...
Change-Id: I634b836ea40199a1e7962b7d07ca9f5d1ef3f16a
Reviewed-on: https://dart-review.googlesource.com/74680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-13 20:27:56 +00:00
Peter von der Ahé
65f56bba66
Clean up imports
...
Change-Id: Ia6feab43ef4d932b07a47419bc01eacf8a6b59a6
Reviewed-on: https://dart-review.googlesource.com/74722
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-13 10:10:46 +00:00
Peter von der Ahé
4f6e1770a2
Avoid deprecation in source_library_builder.dart
...
Change-Id: I36c5c581bca2041768afdc683df62a6e0cd585f6
Reviewed-on: https://dart-review.googlesource.com/74640
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-13 08:10:15 +00:00
Peter von der Ahé
f70a93b12f
Use CantReadFile in ProcessedOptions
...
This ensures that we use the same error message when a file is missing.
Also, we handle FormatException in packages configuration files better.
Change-Id: I6e4c063131ca142643e5a49827f105ba0e23d1b0
Reviewed-on: https://dart-review.googlesource.com/74441
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-13 08:10:15 +00:00
Peter von der Ahé
56c2ed5e9e
Avoid deprecation in source_loader
...
Change-Id: Idf3250bd8fcc56f7d52e3f245671d2c1b91d0956
Reviewed-on: https://dart-review.googlesource.com/63144
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-09-13 08:10:15 +00:00
danrubel
9764bac918
Update OutlineBuilder to handle class C with M
...
That is, when `extends S` is missing.
Also address comment in https://dart-review.googlesource.com/c/sdk/+/73940
Change-Id: Ieee7ae42bf1e63d40cab08044068b809ea1f474d
Reviewed-on: https://dart-review.googlesource.com/74016
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-12 15:19:33 +00:00
danrubel
29847b8235
Improve analyer error code template matching
...
... and auto generate more Analyzer error codes
Change-Id: I8b6097685aad30d59e9513656581782819d5ce2e
Reviewed-on: https://dart-review.googlesource.com/74600
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-12 14:45:00 +00:00
Jens Johansen
5bcc80439f
Fasta: Don't crash on on raw generic type cycles
...
...in type variable bounds with typedefs.
This is the Fasta fix for #33479 .
Change-Id: Id3c45891364d390a37424efbcfdb4254bb2f8c48
Reviewed-on: https://dart-review.googlesource.com/73860
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-09-12 12:37:02 +00:00
danrubel
393583908a
Improve fasta indexed assignment recovery
...
Fix https://github.com/dart-lang/sdk/issues/34214
Change-Id: I16ac09e433b14fc2300108ec8c90eed830121778
Reviewed-on: https://dart-review.googlesource.com/74522
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-12 11:10:56 +00:00
danrubel
a1a7b7eb14
Update error message translation
...
... and also auto generate more Analyzer error codes:
* COVARIANT_AFTER_VAR
* IMPORT_DIRECTIVE_AFTER_PART_DIRECTIVE
* INVALID_AWAIT_IN_FOR
* PREFIX_AFTER_COMBINATOR
* TYPEDEF_IN_CLASS
Change-Id: Ic436016058d5c33f54a3ca4ec72bf34954115877
Reviewed-on: https://dart-review.googlesource.com/74521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-11 22:29:45 +00:00
Brian Wilkerson
90189408c5
Prepare to publish analyzer (and associated packages)
...
Change-Id: Id54eb6c90c69e34be997068b149336a302774a23
Reviewed-on: https://dart-review.googlesource.com/74540
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-09-11 21:46:46 +00:00
danrubel
25d14df016
Auto generate more ParserErrorCodes
...
Specifically:
* CONTINUE_OUTSIDE_OF_LOOP
* EXTERNAL_CLASS
* EXTERNAL_ENUM
* STATIC_CONSTRUCTOR
Also:
* Exclude classes that are already auto generated from the list of those
that could be translated,
* Print summary after checking for manual changes
* Generate error codes before checking if manual changes need to be made
And address comments in
* https://dart-review.googlesource.com/c/sdk/+/74040
* https://dart-review.googlesource.com/c/sdk/+/74240
Change-Id: I573215d58e14749edd02a2416389df3047841002
Reviewed-on: https://dart-review.googlesource.com/74520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-11 21:01:46 +00:00
Kevin Millikin
2b296a0671
Enable mixin declaration syntax in Fasta
...
This enables mixin declarations for the Dart VM by parsing them into
class declarations.
Change-Id: Ic792009bc450d7c887f2e9962040ffad807881eb
Reviewed-on: https://dart-review.googlesource.com/74480
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-09-11 18:05:52 +00:00
danrubel
d35c18999f
Disallow type parameters of the form <X super Y>
...
Fix https://github.com/dart-lang/sdk/issues/28848
Change-Id: I1b8cd943b5af448fb6f5826d002d0b5a403e6bba
Reviewed-on: https://dart-review.googlesource.com/74241
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-11 15:30:03 +00:00
Peter von der Ahé
e5296d5adb
Remove use of OutlineBuilder and ClassMemberParser from BodyBuilder
...
Change-Id: I4a3cdea9e1dc7c9a68ddc375adfc92754288434e
Reviewed-on: https://dart-review.googlesource.com/74421
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-11 13:04:16 +00:00
Peter von der Ahé
00ceb8e359
Share type handling between BodyBuilder and OutlineBuilder.
...
The BodyBuilder now operates on TypeBuilders instead of DartType.
This
* enables better error messages, and
* paves the way for removing the dependency on OutlineBuilder from BodyBuilder.
Change-Id: I2fb5e61a4d30c11f01d04cc0150d5352b4fb6999
Reviewed-on: https://dart-review.googlesource.com/74064
Reviewed-by: Jens Johansen <jensj@google.com >
2018-09-11 12:44:46 +00:00
danrubel
c7960df357
Generate analyzer error codes from messages.yaml
...
With this change, analyzer error codes can be generated from messages.yaml
and those error codes easily translated from the corresponding fasta error.
Each fasta error code in messages.yaml that has an "index:" field
(see prior CL https://dart-review.googlesource.com/c/sdk/+/74040 )
now has an Analyzer error code automatically generated
with the information in messages.yaml. In addition
a list of all indexed errors is generated so that a fasta error
code can be quickly translated into an Analyzer error code.
Change-Id: I2d534b7349590ddd54996f564db786c6ffe259b3
Reviewed-on: https://dart-review.googlesource.com/74240
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-10 23:07:19 +00:00
Jenny Messerly
24493c2f54
Add support for dartdevk to read Analyzer summaries into Kernel format
...
This allows dartdevk to be used in the context of an existing build
system based on Analyzer summary files. This will ease migration of
existing dartdevc users over to dartdevk.
Change-Id: I8413f906e384f3f33c98e450adc0860f6fa7bc53
Reviewed-on: https://dart-review.googlesource.com/65641
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Vijay Menon <vsm@google.com >
Commit-Queue: Jenny Messerly <jmesserly@google.com >
2018-09-10 22:51:04 +00:00
danrubel
d32c8e4793
Generate error code index from "index:" field in messages.yaml
...
Change-Id: I4bebce34d136cf7a89c8b15696c907d1f69bede0
Reviewed-on: https://dart-review.googlesource.com/74040
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-10 22:29:41 +00:00
Kevin Millikin
cbfc78f5b2
Parse mixin declarations as if they were classes
...
In Fasta's outline builder, parse mixin declarations as if they were
the corresponding class declaration:
mixin M<T0,...,Ti> on S0,S1,...,Sj implement I0,...,Ik {...}
is parsed as if it were:
class M<T0,...,Ti> extends S0 with S1,...,Sj implements I0,...,Ik {
...
}
This supports the syntax and should automatically provide an
implementation of the runtime semantics on the VM. Not all of the
required static checks are implemented in the front end.
Change-Id: Ice65e93446222484272f8f7db0de2d18c352f56b
Reviewed-on: https://dart-review.googlesource.com/73760
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-09-10 20:40:45 +00:00