Commit Graph

3034 Commits

Author SHA1 Message Date
Konstantin Shcheglov 061004e9b7 Store resolution for instance creation even when wrong number of arguments.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Id9526b2e3bfc731b4a27638b3190795357878811
Reviewed-on: https://dart-review.googlesource.com/65168
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-17 00:48:34 +00:00
Paul Berry 6858559c48 Add support for Function syntax to analyzer/CFE integration.
Fixes #33846.

Change-Id: I5b8836e55d2d3d450e368cd1e234dc01e2630269
Reviewed-on: https://dart-review.googlesource.com/65166
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-16 21:50:42 +00:00
Paul Berry 7b964090b9 Adapt ResolutionApplier.visitFormalParameterList to handle function-typed formal parameters.
Fixes #33845.

Change-Id: I6de918d644e9a22b1a9f9cd384b972047078a472
Reviewed-on: https://dart-review.googlesource.com/65162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-16 18:07:48 +00:00
Konstantin Shcheglov ce682638d9 Tests for invalid Map literal type arguments resolution.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I4e1e78b9c5497b1399a8a5ca3f600cdbbe86cf23
Reviewed-on: https://dart-review.googlesource.com/65029
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-16 15:59:45 +00:00
Konstantin Shcheglov 946be233f6 Use special error templates for for-in loops.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7006468db607cf53d202b37c01913fb20bd722e7
Reviewed-on: https://dart-review.googlesource.com/65034
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-16 15:18:06 +00:00
Dmitry Stefantsov 48a258a4a5 [Fasta] Additional override checks
Checks override on fields and for methods with type parameters.

Bug: 32613
Change-Id: Ia32d1080959bc706fd72a075fb6ba724fa93fd58
Reviewed-on: https://dart-review.googlesource.com/64542
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-07-16 15:00:05 +00:00
Dmitry Stefantsov 7d6cd21706 CFE and member conflict rules
See https://github.com/dart-lang/sdk/issues/32613
and https://github.com/dart-lang/sdk/issues/33235#issue-326617285

Bug: #32613, #33235, #33237
Change-Id: I0d1432185b6811137e31135ac2c7f58c4de2de6c
Reviewed-on: https://dart-review.googlesource.com/64500
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-07-16 14:09:01 +00:00
Konstantin Shcheglov 8f8d0bb1d7 Apply resolution to list literal type arguments.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I27eeb30b452a5fa74cda61b6926d48ec92918c8f
Reviewed-on: https://dart-review.googlesource.com/65025
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-15 16:50:19 +00:00
Mike Fairhurst ff2933c55b Fix #33194, handle type parameters on implicit call tearoffs.
Bug: 33194
Change-Id: Iecf3d2bdf1dcd1a05ef128f10cd2fa374f9b47ca
Reviewed-on: https://dart-review.googlesource.com/64822
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-07-15 00:48:06 +00:00
Paul Berry 823835c84b Fix analyzer/FE integration of references to class type parameters.
Fixes #33844.

Change-Id: Id73a9af39a7fa699b71ed8825dfd16c3aa90b877
Reviewed-on: https://dart-review.googlesource.com/64981
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-14 00:22:59 +00:00
Paul Berry ae0a4d994e Rework how type information is communicated from CFE to analyzer.
This CL introduces new Factory/TypeInferenceListener methods to
communicate details about types that are literally named in the source
code.

Previously, when an expression like `x as List<int>` was analyzed, the
resolution information about `List<int>` was communicated to the
analyzer via a kernel DartType, forcing the analyzer to walk the type
representation, applying each of its constituent parts to the
corresponding part of the AST for `List<int>`.  This was a lot of work
for the analyzer, it failed to resolve parts of invalid types (such as
`List<int, String>), and it didn't pave the way toward moving to the
Factory API.

The new approach is for information about each type appearing in the
syntax to be communicated to the analyzer at the time the BodyBuilder
converts it to a DartType.  So for an invalid type like `List<int,
String>`, the resolution of `String` is communicated to the analyzer
at the time it is converted to a DartType; later, when `String` is
discarded (because `List` only accepts one type parameter), no crucial
information is lost, because the analyzer already knows the resolution
of `String`.

Work still to be done has been captured in issues:
- #33844: References to type parameter elements are not translated
- #33845: Function typed formal parameters are not handled
- #33846: Function types using `Function` syntax are not yet handled

Change-Id: I96dd9b6f3eb573b0b7a46335e8644c59fb78bae7
Reviewed-on: https://dart-review.googlesource.com/64262
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-13 23:15:29 +00:00
Brian Wilkerson d5c7f5af88 Convert more Unspecified errors to concrete errors
Change-Id: Ia72c33e3258472aa8d17ff24c58c8cf63483b823
Reviewed-on: https://dart-review.googlesource.com/64803
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-13 22:55:22 +00:00
Mike Fairhurst b0600a2d4b Report inference err for C<<T>()> for some C and some function with params
Fix #33661

Bug: 33343
Change-Id: I8478a6f0ba3f3d57bcdb3415aa5c9b9a485e4ff2
Reviewed-on: https://dart-review.googlesource.com/64644
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-07-12 19:37:11 +00:00
Konstantin Shcheglov b3c27213eb Translate errors for conflicting members.
This fixed language_2/bad_override_test/05

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I6f6b860bba40f2f6a4ce8804635d95a3828cf64f
Reviewed-on: https://dart-review.googlesource.com/64646
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-12 18:16:11 +00:00
Konstantin Shcheglov 1c95390082 Store resolution for final fields that initialized multiple times.
Change-Id: Iee57f4540ad2ffeb66498f061f0cca77e53320ab
Reviewed-on: https://dart-review.googlesource.com/64661
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-12 17:41:28 +00:00
Brian Wilkerson 23e3265476 Replace two uses of templateUnspecified with a more specific error
Change-Id: Ic44e7d518ee658b46a0b688db4883d9cd9f61618
Reviewed-on: https://dart-review.googlesource.com/64641
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-11 20:56:43 +00:00
Konstantin Shcheglov 6c55957851 Store data for loadLibrary() invocation and tear-off.
This is a partial fix for https://github.com/dart-lang/sdk/issues/33689

There are still problems with `prefix.field = 1` for assigning to
deferred fields, I will look into this later.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I6b12a1f359f3d8b2ed7a5d235f4f481c4c492470
Reviewed-on: https://dart-review.googlesource.com/64640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-11 19:45:16 +00:00
danrubel 166e3e12b3 Remove Scanner.useFasta
This removes some of the code that tests the unused pre-fasta Scanner code.

Change-Id: I2d20d286e71516d6c2430a8b8e06158b53ea1a89
Reviewed-on: https://dart-review.googlesource.com/64420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-11 14:25:44 +00:00
Devon Carew 403273a088 Deprecate options.declarationCasts.
Change-Id: I50b2e0ae8b330672c15a28098825d9585c0ac5e9
Reviewed-on: https://dart-review.googlesource.com/63641
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-10 23:29:54 +00:00
Devon Carew 2dd33c2a6c Have the package:analyzer strong mode option hard coded to on. Delete several spec mode only tests.
Change-Id: I5dffec68d9845fe75936d55100c03306b6eda363
Reviewed-on: https://dart-review.googlesource.com/64060
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-10 05:30:10 +00:00
Konstantin Shcheglov 7ffebea896 Failing test for annotation on formal parameters of redirecting factory constructors.
For https://github.com/dart-lang/sdk/issues/33800

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7e145a90aee441a73ab125f32dd43124e26ea84a
Reviewed-on: https://dart-review.googlesource.com/64244
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-09 23:16:08 +00:00
Brian Wilkerson cf30a28ca1 Map UnexpectedDollarInString to an analyzer error code
Change-Id: Iee398e4a9490be83e352c6610bfadc90ae03936e
Reviewed-on: https://dart-review.googlesource.com/64242
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 22:55:57 +00:00
Mike Fairhurst 21258299d7 Reland "Fix #32227 export dynamic from dart:core in analyzer."
This reverts commit d3b4ba3a0b.

Reason for revert: Previous breakage was related to overly strict tests.

Original change's description:
> Revert "Fix #32227 export dynamic from dart:core in analyzer."
> 
> This CL caused a breakage in angular code generation.
> 
> This reverts commit 6f965a94e2.
> 
> Change-Id: Id066661930b9531cdd32a0d38e71f70fe73ece75
> Reviewed-on: https://dart-review.googlesource.com/63680
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Paul Berry <paulberry@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,mfairhurst@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: If0a03148db5e88724f3498a1fa2d46a9c42d7f1f
Reviewed-on: https://dart-review.googlesource.com/64120
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2018-07-09 22:30:49 +00:00
danrubel 0b4d8b45bb fasta parser tests for 33647
The fasta parser correctly handles the code specified in
https://github.com/dart-lang/sdk/issues/33647

Change-Id: I690311ce031e458dc9c5ea978c954ba7a4b60262
Reviewed-on: https://dart-review.googlesource.com/64200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-09 22:10:25 +00:00
Konstantin Shcheglov f5de04f4e1 Apply resolution to directive annotations.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iebc74df3a612cd8bbba417ca9175ab74692a3c85
Reviewed-on: https://dart-review.googlesource.com/64180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-09 20:00:50 +00:00
danrubel 6d328b7fc5 Correctly parse dartdoc before abstract class
This fixes https://github.com/dart-lang/sdk/issues/33738

Change-Id: I1cc3c8202a20cfe273a4dd9f97e136cf142396d3
Reviewed-on: https://dart-review.googlesource.com/64140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-09 19:51:39 +00:00
Konstantin Shcheglov 25969b2af3 Store resolution for abstract class constructor invocation.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I8973a93550cb7718070a478c26747c88176f60f7
Reviewed-on: https://dart-review.googlesource.com/64160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-09 19:11:14 +00:00
Paul Berry 973f73b150 Handle invalid types from front end.
Change-Id: Ib5e1d73c61303a567961dadac8f324746e21dbed
Reviewed-on: https://dart-review.googlesource.com/63687
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 18:32:18 +00:00
Brian Wilkerson ed0ccc7ac9 Add more error message mappings
Change-Id: I5511ba2404ca3a430c6fda35b5e79a14eceb1188
Reviewed-on: https://dart-review.googlesource.com/63961
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 16:38:08 +00:00
Brian Wilkerson f0560a8d66 Add error code ArgumentTypeNotAssignable to improve messaging (issue 33712)
Change-Id: I9a6e039efdf396f838ae99926877658f5570e380
Reviewed-on: https://dart-review.googlesource.com/63960
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-09 16:35:48 +00:00
Dmitry Stefantsov aa6dc1e2d5 [fasta] Resolve redirecting factories invocations after bodies are built
Fixes #32130

Bug: http://dartbug.com/32130
Change-Id: I6773bdf71de3887911daa42bd6ea5bf16052cf35
Reviewed-on: https://dart-review.googlesource.com/63826
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-07-06 09:06:56 +00:00
Paul Berry 45eee81252 Check another case of StaticWarningCode.TYPE_PARAMETER_REFERENCED_BY_STATIC.
The analyzer was missing cases where the reference to the type
parameter was in an ordinary SimpleIdentifier, not part of a TypeName.

Fixes #21565.

Change-Id: I6be21b296c8c60777238c89a4e5e15a8c0ca8a6e
Reviewed-on: https://dart-review.googlesource.com/63660
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-03 19:58:31 +00:00
Brian Wilkerson 4c789e9c09 Support the instantiation of abstract constructors
Change-Id: Icc9a06dce056c9ca12bcf5b8c82593c72e9ccd2c
Reviewed-on: https://dart-review.googlesource.com/63480
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-03 19:53:54 +00:00
Paul Berry d3b4ba3a0b Revert "Fix #32227 export dynamic from dart:core in analyzer."
This CL caused a breakage in angular code generation.

This reverts commit 6f965a94e2.

Change-Id: Id066661930b9531cdd32a0d38e71f70fe73ece75
Reviewed-on: https://dart-review.googlesource.com/63680
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-07-03 19:50:26 +00:00
Brian Wilkerson 53525542cd Add tests for instance create of an abstract generic class
Change-Id: I040f30ed75e67fca0ef1bb1300d2a77bc27e417c
Reviewed-on: https://dart-review.googlesource.com/63520
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-07-03 17:42:15 +00:00
Dmitry Stefantsov 22b9847cca [analyzer][cfe] Don't crash on converting errors with Severity.context
Change-Id: I70760dc2c1bc2f6a0b4bbec6887ebfac0b1f3172
Reviewed-on: https://dart-review.googlesource.com/63400
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-03 11:32:16 +00:00
Paul Berry b8a70f0471 Analyzer/FE integration of unresolved static method calls.
Change-Id: Ia1e1e29d5b00c8adc6cc34e08158757fc6812759
Reviewed-on: https://dart-review.googlesource.com/63445
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-07-02 19:56:53 +00:00
Konstantin Shcheglov a204edb9bb Fix crash when const initializer is not assignable to the const variable.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I6f1f803a82e5fc04a934d5e586b973d986f1df35
Reviewed-on: https://dart-review.googlesource.com/63446
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-07-02 19:34:43 +00:00
Brian Wilkerson 3be6fdb219 Convert more error codes
Change-Id: I7ee8040d99f8047a1ccdd2bdf217b32f36409ba9
Reviewed-on: https://dart-review.googlesource.com/63363
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-07-02 17:43:13 +00:00
Konstantin Shcheglov f385664e4b Store unresolved assignments as UnresolvedVariableAssignmentJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I4738ba450b1f7e7cab794bdc34a88996d1d827b3
Reviewed-on: https://dart-review.googlesource.com/63360
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-02 17:14:28 +00:00
Konstantin Shcheglov e78355f96a Use formal parameters location to access function expression types.
There is still an issue with using type parameters inside function
expression bodies. https://github.com/dart-lang/sdk/issues/33722

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I9c1a4f8b6d6545a22de1b67953a7d833bf96df03
Reviewed-on: https://dart-review.googlesource.com/63365
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-02 16:40:03 +00:00
Konstantin Shcheglov 201fb2833c Don't report duplicate errors when CFE already reports them.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33674
Change-Id: Ia8e0ef74e333fbd99f615aa87629ca20de08af07
Reviewed-on: https://dart-review.googlesource.com/63362
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-01 22:43:05 +00:00
Konstantin Shcheglov 636dfc05c6 Record unresolved identifiers as UnresolvedVariableGetJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7a4a09d7f83cb6a2441037d37ee080bd113a3ab0
Reviewed-on: https://dart-review.googlesource.com/63265
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-30 02:03:11 +00:00
Paul Berry c995811ff2 Analyzer/FE integration for writes to read-only variables.
Previously, when the user attempted to write to a read-only variable,
the front end creates a SyntheticExpressionJudgment to represent the
write.  This CL changes it to a new class,
InvalidVariableWriteJudgment, whose `infer` method sends the
appropriate resolution information to the analyzer.  Also, it ensures
that inference is performed on the RHS of the assignment, so that it
gets resolved too.

Partially addresses #33694.

Change-Id: I56b12e5082434ca8569d15df1b01e5aaad8f0a7d
Reviewed-on: https://dart-review.googlesource.com/63160
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-29 22:51:19 +00:00
Konstantin Shcheglov e966e956fb Translate kernel.TypeParameterType to Analyzer TypeParameterElement.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ic8b342bd6ee7737193a195030b80bd5ed4e6a004
Reviewed-on: https://dart-review.googlesource.com/63306
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-29 22:41:59 +00:00
Mike Fairhurst 6f965a94e2 Fix #32227 export dynamic from dart:core in analyzer.
Assign dynamic to dart:core in NamespaceBuilder & LibraryScope

This seems to be the best two places to hit up all cases. We need two to
handle the case of where code imports dart:core, vs code that is itself
the definition of dart:core.

Includes a member sort of compile_time_error_code_kernel_test, so that
pollutes the diff a bit, but not importantly so and its good to get that
sorted.

Bug: 32227
Change-Id: Ibe620f4b66a35d088355f36da042a5d82380772c
Reviewed-on: https://dart-review.googlesource.com/62730
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-29 19:24:41 +00:00
Peter von der Ahé 6df580420b Handle prefixes with generators
Change-Id: I05de9cd8a743483b21ca1ec8508b5301a8d6b7f9
Reviewed-on: https://dart-review.googlesource.com/62526
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2018-06-29 08:54:21 +00:00
Konstantin Shcheglov cf4313c14e Throw exception if CompilationMessage cannot be translated to a Analyzer ErrorCode.
Fixes some of the new failures in unit tests.

R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I39d132fa6c71dd8e5a492ed8dbcbea4cb6c0dac6
Reviewed-on: https://dart-review.googlesource.com/62960
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-29 00:13:08 +00:00
Jenny Messerly 43c8d18154 fix #27477, compile time constants cannot use type params in Dart 2
This reverts the strong mode experimental behavior. Also this restores the
errors that we need to issue for incorrectly using type parameters from
static contexts (#27477).

Change-Id: Ibe0bb68d400f75e1a9209a310f4d32fee4be7069
Reviewed-on: https://dart-review.googlesource.com/62724
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-28 22:03:29 +00:00
danrubel 10a6a94705 Improve chained as/is expression recovery
... and remove unused token from handleIsOperator and handleAsOperator events

Change-Id: Ie328dafd58b998b8c3d08bf3288c014c87c04a5e
Reviewed-on: https://dart-review.googlesource.com/62740
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-28 21:02:58 +00:00