Peter von der Ahé
704a43558d
Move getSubstitutionMap to KernelClassBuilder
...
Also, change the signature to return a kernel substitution map.
This prepares for fixing issue https://github.com/dart-lang/sdk/issues/34856 ,
as DillClassBuilders don't have builder wrappers for type variables and
supertypes.
Change-Id: Ia3f2458852ffaad766c44f62fd93e68234650126
Reviewed-on: https://dart-review.googlesource.com/c/81002
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-22 12:41:59 +00:00
Kevin Millikin
393fe44f8f
Resolve types from the class header earlier
...
When building outlines, resolve unresolved types from the class
header (including superclass, mixin, and interface types) before any
methods from the body are parsed. This ensures that they types from
the class header are not shadowed by names introduced in the body.
Change-Id: Ie842b9ab23d9b44d91609f9e1bf79c052cfce2d4
Reviewed-on: https://dart-review.googlesource.com/c/81008
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-10-22 12:33:55 +00:00
danrubel
f5cd6ccfb7
More shared fasta/analyzer error codes
...
Change-Id: I1b80ce7f8b17e0bb1e974d4effcf8d64a250dda1
Reviewed-on: https://dart-review.googlesource.com/c/80944
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-20 03:10:25 +00:00
danrubel
9f7ad8d082
Fix recovery when parsing complex type variables
...
This fixes parser recovery when the user has inserted a word before
a method declaration with a complex type arguments, such as
foo Future<List<int>> bar() {}
Fix https://github.com/dart-lang/sdk/issues/34850
Change-Id: Ic6d1767668bd34d75c6ab5f9973e5762bdd8f160
Reviewed-on: https://dart-review.googlesource.com/c/80780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-19 18:56:09 +00:00
Dan Rubel
3f9c3e6ebc
Update unterminated string error message length
...
Change-Id: I2f19ef1034d70b73b2342b1441ef73637d524373
Reviewed-on: https://dart-review.googlesource.com/c/80740
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-19 13:52:02 +00:00
Kevin Millikin
2b23fa0607
Improve the way we call inferExpression
...
This function took a boolean flag typeNeeded and then it had an early
exit guarded by the condition (!typeNeeded && isTopLevel). That is, a
false value for typeNeeded was just ignored when isTopLevel was false.
Change it so the early exit is only guarded by the value of the
argument, and ensure that the intended value is passed at all the call
sites. This makes it easier to see under which conditions we are and
are not peforming type inference.
This is a prelimary step to simply not performing any inference when
we don't intend to perform any inference.
Change-Id: Ibe2260aa4967250afb8b23899216ae32c5321183
Reviewed-on: https://dart-review.googlesource.com/c/80667
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-10-19 09:28:38 +00:00
Peter von der Ahé
e18aeac38c
Remove NamedExpressionJudgment
...
Change-Id: Ic11bfb519996462af8474e08540d4093b703bdd5
Reviewed-on: https://dart-review.googlesource.com/c/80664
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-19 08:41:37 +00:00
Peter von der Ahé
b429939377
Remove CheckLibraryIsLoadedJudgment
...
Change-Id: I21d96c30ebf68371450cfa73d905fec8d48d9616
Reviewed-on: https://dart-review.googlesource.com/c/80663
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-19 08:41:37 +00:00
Peter von der Ahé
f13537064e
Remove ThrowJudgment
...
Change-Id: I9b2dc1d1f3aa9c183119f6802a976de858c22fdc
Reviewed-on: https://dart-review.googlesource.com/c/80662
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-19 08:41:37 +00:00
Peter von der Ahé
1bc9bbcdb6
Remove StaticInvocationJudgment
...
Change-Id: I52da9574e99307bd7afad440100491ac5264f1a0
Reviewed-on: https://dart-review.googlesource.com/c/80602
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-19 08:41:37 +00:00
Peter von der Ahé
1610356382
Remove StaticGetJudgment
...
Change-Id: I6a098693837749df1ea053e250b4b352e6d42417
Reviewed-on: https://dart-review.googlesource.com/c/80601
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-19 08:41:37 +00:00
Peter von der Ahé
5aa705776b
Remove desugaredError
...
Change-Id: Ide688cb577457a642d989deb8d4c7c638274a1bc
Reviewed-on: https://dart-review.googlesource.com/c/80448
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-19 07:16:47 +00:00
Sigmund Cherem
0f32be21bf
Document single root flag
...
Change-Id: Ibccbf1346bdacaa6cda5ae1b0bbe479bc8cc1164
Reviewed-on: https://dart-review.googlesource.com/c/78821
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-10-18 17:20:24 +00:00
Dan Rubel
1061c83779
Optionally report scanner errors via errors list rather than in the token stream
...
This is the first in a multi step process of moving scanner errors
out of the token stream and into a separate errors list produced by the scanner.
As of this CL, if the scanner.reportErrors flag is set then the scanner will report
the unterminated string error via the errors list rather than the token stream.
Once all scanner clients have been updated to process errors reported
through the scanner's error list, then the scanner.reportErrors flag will be removed.
Change-Id: I6ef73df786d98a387cbf2044c4c8325412573f11
Reviewed-on: https://dart-review.googlesource.com/c/80509
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-18 11:55:01 +00:00
Kevin Millikin
b27e4febaf
Eliminate an unnecessary boolean variable
...
There is a flag in the code switching between the current CFE/Analyzer
behavior and a different behavior. It's not clear that this other
behavior is ever planned, but since we're not testing it it's better
to get rid of the code for now and restore it later if we ever want
it.
Change-Id: I8be4af7d39dcb9296b4b48fa10a6352df9e1e8b0
Reviewed-on: https://dart-review.googlesource.com/c/80660
Auto-Submit: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-18 11:37:50 +00:00
Dan Rubel
1ca91cb6db
Ensure unterminated string error is reported on visible characters
...
Change-Id: Ie6321062b71a45293a91a3a50fc4d24b2633235c
Reviewed-on: https://dart-review.googlesource.com/c/80502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-17 22:19:33 +00:00
Peter von der Ahé
531bce152d
Tune invariants for inferredTypesMap
...
Change-Id: I860761507d09d517929fd95e4632dca333917d57
Reviewed-on: https://dart-review.googlesource.com/c/80444
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-17 11:12:33 +00:00
Peter von der Ahé
822fd6a1ed
Remove StringLiteralJudgment
...
Change-Id: I86d06d413916b2329b07c599a0e4fffedee1ef13
Reviewed-on: https://dart-review.googlesource.com/c/80442
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-17 10:43:03 +00:00
Peter von der Ahé
cf84ce88d6
Remove StringConcatenationJudgment
...
Change-Id: Ic6f6d77c04c7cc1ec78dd6143982f33c34f89f3a
Reviewed-on: https://dart-review.googlesource.com/c/80441
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-17 10:43:03 +00:00
Peter von der Ahé
f0ebf05092
Remove RethrowJudgment
...
Change-Id: Ieadeeede6dfa5ede27707a19a0f1c2a228c0892c
Reviewed-on: https://dart-review.googlesource.com/c/80280
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-17 10:43:03 +00:00
Peter von der Ahé
83c6963ce2
Remove PropertyGetJudgment
...
Change-Id: I5344b800816f86254ecd92278a23f468ff9d7892
Reviewed-on: https://dart-review.googlesource.com/c/80143
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-17 10:43:03 +00:00
Daniel Hillerström
5d1832b20a
Disallow factory constructors in mixin declarations.
...
Signal a compile-time error if a mixin declaration contains a factory
constructor (regardless of whether it is redirecting). Note, this only
applies to _mixin declarations_, derived mixin classes can still
contain factory constructors.
Closes https://github.com/dart-lang/sdk/issues/34804
Change-Id: I713b623316664ea360f896789d8e619ad6f07ca5
Reviewed-on: https://dart-review.googlesource.com/c/80100
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-17 05:44:46 +00:00
Peter von der Ahé
cfa92dc090
Remove NullJudgment
...
Change-Id: I05b38d30acb336e6288e702f0a27dbc1254f3786
Reviewed-on: https://dart-review.googlesource.com/c/80127
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
9fadaec5f8
Remove NotJudgment
...
Change-Id: Ic83e7b089ec4d08aeef49c23cd837ea93fcfd9f6
Reviewed-on: https://dart-review.googlesource.com/c/80126
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
e65ed1d143
Remove LogicalJudgment
...
Change-Id: Ia561b03e7442c864b6b49ad2de2f3547105c9d6d
Reviewed-on: https://dart-review.googlesource.com/c/80125
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
0bcd98eb76
Remove FunctionExpressionJudgment
...
Change-Id: Ib039089b2e47e41ffacdabe4bd0e829190f4064e
Reviewed-on: https://dart-review.googlesource.com/c/80123
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
4df63225a8
Remove IsJudgment and IsNotJudgment
...
Change-Id: I57f8d2229ffffadd0adb98a6570de9b37cc8bffb
Reviewed-on: https://dart-review.googlesource.com/c/79800
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
035aad457e
Remove ConstructorInvocationJudgment
...
Change-Id: If1078598bbc68fe4220f50a6293473c849bd4a51
Reviewed-on: https://dart-review.googlesource.com/c/79762
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
840afb4f9d
Remove ConditionalJudgment
...
Change-Id: I0473fd7adf81aa98c1475846f64793ea7c050de3
Reviewed-on: https://dart-review.googlesource.com/c/79742
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
7fa8bc3fee
Remove BoolJudgment
...
Change-Id: I75863fee06f42513fc5df39df075c2255748a110
Reviewed-on: https://dart-review.googlesource.com/c/79740
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-16 15:18:42 +00:00
Peter von der Ahé
801f28666a
Remove ThisJudgment
...
Change-Id: I3c3e94b3423563d8ad80c5a158fb64dd8c248ae5
Reviewed-on: https://dart-review.googlesource.com/c/79702
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-16 13:49:35 +00:00
Peter von der Ahé
a2aa6c8414
Consolidate DDC dependencies on front_end
...
We're consolidating all dependencies on package:front_end in one file per tool.
The idea is, if you want to depend on something in the package:front_end, you
modify pkg/front_end/lib/src/api_unstable/ddc.dart and consult with the
front-end team.
These consolidated files will help us when designing a public API in the
future.
Change-Id: I505b8f986e8c2b1d93e158171c1ecc0c4e12b9a6
Reviewed-on: https://dart-review.googlesource.com/c/78220
Reviewed-by: Jens Johansen <jensj@google.com >
2018-10-16 08:02:49 +00:00
Peter von der Ahé
9137fe26ac
Remove deprecated_problems.dart
...
Change-Id: I5f6cad8077b9faaf2164dd0f3f1f5d54c59ed0b7
Reviewed-on: https://dart-review.googlesource.com/c/78203
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-16 08:02:49 +00:00
Peter von der Ahé
ed7be67cab
Remove CompilerOptions.onProblem
...
Change-Id: Ie143024ff13725f3a0db83d8fc95eecc189af905
Reviewed-on: https://dart-review.googlesource.com/c/78202
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-16 08:02:49 +00:00
Peter von der Ahé
18cb217840
Remove CompilerOptions.onError and CompilationMessage
...
Change-Id: Ia4ff435c6653c42fb27aecc46177a10ff8a8e4a2
Reviewed-on: https://dart-review.googlesource.com/c/78201
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-16 08:02:49 +00:00
Peter von der Ahé
d4fac1684c
Remove CompilerOptions.reportMessages
...
Change-Id: I6b3e2f44ef89ba6a234fab97e08f56a69247d13f
Reviewed-on: https://dart-review.googlesource.com/c/77081
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-16 05:50:05 +00:00
Peter von der Ahé
0a6d960d66
Update bazel_worker to onDiagnostic
...
Change-Id: If1e0f3977f9d70ae74cfb589aeddcb96ce1fafc1
Reviewed-on: https://dart-review.googlesource.com/c/78041
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-10-15 14:06:55 +00:00
Peter von der Ahé
e502edf28b
Add DiagnosticMessage support API
...
Change-Id: I0ae8d37e48951a58bd2d9016397baeee916857ee
Reviewed-on: https://dart-review.googlesource.com/c/78063
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-15 14:06:55 +00:00
Dmitry Stefantsov
bf270577cc
[fasta] Report errors on generic function types in type arguments
...
Fixes #30931
Bug: http://dartbug.com/30931
Change-Id: Ia44f8ff95e85547997912c7dd1403ae1f77aec33
Reviewed-on: https://dart-review.googlesource.com/c/79720
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-15 13:48:03 +00:00
Peter von der Ahé
0a986f3f80
Remove a few shadow nodes.
...
Change-Id: I69191dc63286543ab3d10ed73f3d9b232d2be84d
Reviewed-on: https://dart-review.googlesource.com/c/78840
Auto-Submit: Peter von der Ahé <ahe@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-15 12:01:09 +00:00
danrubel
bc2ea566f1
Auto generate more analyzer error codes
...
Change-Id: I7881274ef6aae22d29d35fb6be084be873f929b8
Reviewed-on: https://dart-review.googlesource.com/c/79602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-12 20:58:34 +00:00
Peter von der Ahé
0b1b09116a
Simplify handling of non-shadow nodes in type inference
...
Change-Id: Ia2fd532267d30d4b9d5f62221485e747be8d7def
Reviewed-on: https://dart-review.googlesource.com/c/78760
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-12 16:47:55 +00:00
Peter von der Ahé
af7cead848
Clone default values of mixin application constructors
...
Fixes https://github.com/dart-lang/sdk/issues/31767
Change-Id: Ief8d620dff49967a165a93fbf8d8916d7389e80a
Reviewed-on: https://dart-review.googlesource.com/c/79261
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-10-12 15:02:41 +00:00
Peter von der Ahé
87a10d9811
Provide context for NotAType
...
Change-Id: I50cc64a7fdd8bffe471b922a54ffe2a5b6ca339b
Reviewed-on: https://dart-review.googlesource.com/c/79521
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-12 14:54:38 +00:00
Kevin Millikin
69cf0ec97c
Signal an error if a class extends a mixin
...
Declared mixins are not classes and should not be able to be
extended. This was not allowed by the analyzer anyway and since the
mixin declaration feature is not launched, we are not breaking any
code by making this bug fix.
Change-Id: Ia49dd207213accb16ad8dd819a22844d65ccfcab
Reviewed-on: https://dart-review.googlesource.com/c/79524
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2018-10-12 14:45:28 +00:00
Daniel Hillerström
eee8787a8d
Generate noSuchMethod forwarders for private members inherited from a
...
class in a foreign library.
This CL changes the predicate which is used to decide whether to
generate noSuchMethod forwarders such that it returns true whenever
the class in question has a user defined no such method or the
enclosing library of the class is different from that of the member.
Closes https://github.com/dart-lang/sdk/issues/33727
Change-Id: I0ffcbb8c8bdd69e4261bcefce2251d31babc19cf
Reviewed-on: https://dart-review.googlesource.com/c/79209
Commit-Queue: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-10-12 13:58:10 +00:00
Peter von der Ahé
54ef78b7c5
Remove non-strong vm dill files from SDK
...
Change-Id: Ia9337ec090333902ea8fc2492f2ffdac1bcff2d1
Reviewed-on: https://dart-review.googlesource.com/c/79520
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-12 12:42:57 +00:00
Aske Simon Christensen
5cbb640f7c
Error for type arguments after named constructor with implicit new
...
Closes https://github.com/dart-lang/sdk/issues/34403
Change-Id: I18a55b8f33ed313c048add4a8b49f5f98fc26cf5
Reviewed-on: https://dart-review.googlesource.com/c/78080
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2018-10-12 09:48:02 +00:00
Kevin Millikin
2fa1143600
Check classes at mixin applications
...
When a declared mixin is applied to a class, the class must implement
the superclass constraint interfaces named in the mixin declaration.
Change-Id: I6ace9fe244c1c87860b69c2c5e68f2c31ae73d7c
Reviewed-on: https://dart-review.googlesource.com/c/79206
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2018-10-12 08:34:07 +00:00
Peter von der Ahé
18110717fe
Move infer methods to visitor
...
Change-Id: Ia635e2c66c914621961f4ef165f67fb3e2759f07
Reviewed-on: https://dart-review.googlesource.com/c/78746
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-12 04:50:53 +00:00