Peter von der Ahé
645fbc8a3f
Add CompilerOptions.onDiagnostic
...
Change-Id: I116eb4b3ce03ae50d8b314531e0b463d4fe58649
Reviewed-on: https://dart-review.googlesource.com/77362
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-01 13:28:46 +00:00
danrubel
a73e0a840a
Fix parsing partial named constructor
...
Fix https://github.com/dart-lang/sdk/issues/34614
Change-Id: I22d96780a32bc58f83e81c5c9d01c6c4992be581
Reviewed-on: https://dart-review.googlesource.com/77200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-28 19:53:10 +00:00
danrubel
54f426c273
Auto-generate more analyzer error codes
...
Change-Id: Ib8e2b194bd101dcd17e2ceefd38aae03056afa5b
Reviewed-on: https://dart-review.googlesource.com/77141
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-28 17:26:29 +00:00
danrubel
7c7417e170
Improve fasta parser mixin and class header recovery
...
This updates the parser to recover when
* 'extend' or 'extends' is used rather than 'on' in a mixin declaration
* 'extend' or 'on' is used rather then 'extends' in a class declaration
This also introduces a new ExpectedInstead error message to better
communicate to the developer the keyword that should be used.
Fix https://github.com/dart-lang/sdk/issues/34563
Change-Id: Iafcb3d18db8ca3898c1e4dae74e5124c108ead48
Reviewed-on: https://dart-review.googlesource.com/77140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-28 17:11:49 +00:00
Peter von der Ahé
3f1955a97b
Improve diagnostics about duplication in enums
...
Change-Id: I20f8ab79a8dbe6f2604f64cc26c2a91f46fcd2c2
Reviewed-on: https://dart-review.googlesource.com/76600
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-09-28 12:36:55 +00:00
Peter von der Ahé
8bf0e8e434
Document distance calculation in diet listener.
...
Change-Id: I6f9741c545c554ecdb62a19aeb85562213b86b13
Reviewed-on: https://dart-review.googlesource.com/76601
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-09-28 12:02:20 +00:00
Kevin Millikin
dc2787a471
Remove parameterization of type inference
...
This is currently unused. We might eventually resurrect it in some
form, but for now it is not doing anything for us.
Change-Id: Ib029fa8589b345bcf44a048a8c492fce9717e034
Reviewed-on: https://dart-review.googlesource.com/77061
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-09-28 09:48:31 +00:00
Peter von der Ahé
8ef3258e59
Remove _ConstantExpressionError
...
Change-Id: I0f7c590e826d9516d7b916cb6e39fd67eab97997
Reviewed-on: https://dart-review.googlesource.com/76662
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-09-28 08:41:53 +00:00
Peter von der Ahé
b36f4fffc4
Allow multiple analyzer codes
...
Change-Id: I0f942389f52b8302bac8b1bd0cedee1e35811056
Reviewed-on: https://dart-review.googlesource.com/76940
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-09-27 11:52:37 +00:00
Kevin Millikin
c9b05d3f1f
Allow super calls in mixin declarations
...
Allow super calls to occur in mixin declarations if they target a
method from any of the superclass constraint interfaces.
Instead of compiling the Dart mixin declaration
mixin M on S0, S1 {...}
to Kernel:
abstract class _M&S0&S1 = S0 with S1;
abstract class M extends _M&S0&S1 { ... }
we compile it to Kernel:
abstract class _M&S0&S1 implements S0, S1 {}
abstract class M extends _M&S0&S1 { ... }
because the former is not symmetrical with respect to S0 and S1. It
will prefer a method from the 'mixin' S1 over one from S0 which can
give a compile-time error if the method from S0 is more general.
Modify mixin inference to support the new compilation of mixin
declarations. It still has to support old-style VM super mixins until
support for those is removed from the VM.
Change-Id: Ib945aa11cc19c457b07bc802beae10d1663ff6b7
Reviewed-on: https://dart-review.googlesource.com/76141
Reviewed-by: Jenny Messerly <jmesserly@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-09-27 10:19:30 +00:00
Daniel Hillerström
a617700b17
Removes code that has become redundant since 98a9adf.
...
https://github.com/dart-lang/sdk/commit/98a9adf696bd8a0b80afa7adb68d711f3b474f9a
Change-Id: I7c387e63aa1bbb2c1583952f6e1ada03d8070378
Reviewed-on: https://dart-review.googlesource.com/76663
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
2018-09-27 07:56:30 +00:00
Daniel Hillerström
98a9adf696
Make constructor function types conform with the specification.
...
Prior to this CL the return type of any constructor function was
always void. According to the specification §9.3 the return type of a
constructor function ought to be its enclosing class.
Change-Id: I70d76cc354b7f118ce96bf4954daf7fe535eb7be
Reviewed-on: https://dart-review.googlesource.com/76160
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-09-26 09:39:11 +00:00
Peter von der Ahé
a3aa0c18fb
Improve messages involving empty cycles
...
Change-Id: I4a6732bcce9ddb98cd00e60e8d46fae1dd4b9599
Reviewed-on: https://dart-review.googlesource.com/76500
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-09-26 07:45:12 +00:00
Peter von der Ahé
48d1b5e64b
Improve diagnostics with anonymous jump targets
...
Change-Id: Ia904bc8d865c7a3302d4428d3dbf3660a7570f9e
Reviewed-on: https://dart-review.googlesource.com/76605
Reviewed-by: Jens Johansen <jensj@google.com >
2018-09-26 07:45:12 +00:00
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
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
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
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é
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
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
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
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