Commit Graph

3345 Commits

Author SHA1 Message Date
Paul Berry 8d7c5294c6 Rename the kernel ShadowExpressions for assignments
Change-Id: I2cff47b961846c7aa2de65ca483e94264537919b
Reviewed-on: https://dart-review.googlesource.com/61760
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-21 22:55:27 +00:00
danrubel e9bc3352e0 Replace and remove parseType
Change-Id: Id276165dbe6c7168d4156fd755f3f32c835d93af
Reviewed-on: https://dart-review.googlesource.com/61321
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-21 22:01:05 +00:00
Paul Berry 1b681a75c3 Modify Factory API to allow forward references to incomplete local functions and variables.
To allow for local functions that call themselves recursively, as well
as variable declarations that are (erroneously) referred to prior to
their first use, the Factory API needs to be adjusted so that it's
possible for a local function (or local variable) to be referred to
prior to its body (or initializer) being built.

The analyzer and the kernel have different ways of referring to local
functions and variables; in the kernel the reference
(e.g. VariableGet) points directly to the declaration
(VariableDeclaration).  In the analyzer both the reference and the
declaration point to a FunctionElement (or LocalVariableElement).  So
we want the Factory API to support both approaches.

This CL introduces the idea of a "lemma" (borrowed from linguistics).
In linguistics, a lemma is the mental binding site to which words and
meanings are attached.  In the Factory API, a lemma is an object that
can be created before the function's body (or the variable's
initializer) is available.  Thereafter, the declaration and the
references can be bound to the lemma in any order.

In the analyzer implementation, the lemma will be represented by a
FunctionElement or LocalVariableElement.  (Note however that for the
moment we use a temporary object because the ResolutionStorer is not
yet creating elements and AST nodes).  In the kernel implementation,
the VariableDeclaration node itself is used as the lemma, so the act
of "binding" the lemma to a declaration will do nothing more than
storing the body or initializer, and returning the same object.

Note that there are other syntactic constructs that can declare local
variables (closure parameters, for loops, and catch clauses).  I'll
hook them up to the lemma mechanism in a future CL.

Also a future CL will introduce the same mechanism for labeled
statements (which have a similar need for references to be built
before the labeled statement is completed).

Change-Id: Ifa3b04dda7ce25d115ad58a471d164b4c24d539c
Reviewed-on: https://dart-review.googlesource.com/61720
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-21 21:48:08 +00:00
Brian Wilkerson f682213764 Add parameters to Factory methods to support the try statement
Change-Id: I4892aee9dc6cf3b25758ca9b322453bad2cf121a
Reviewed-on: https://dart-review.googlesource.com/61681
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-21 21:04:05 +00:00
Brian Wilkerson cf6fbd9e07 Add parameters to Factory methods to support the switch statement
Change-Id: I292a9a698e5631cef158f239f495881c4992419a
Reviewed-on: https://dart-review.googlesource.com/61680
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-21 20:45:03 +00:00
Brian Wilkerson b50ff4990a Add parameters to Factory methods for list and map literals
Change-Id: I28cf658fd310c7c450bd5a637a8b6112582c0c50
Reviewed-on: https://dart-review.googlesource.com/61661
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-21 20:14:28 +00:00
Brian Wilkerson c5855635ae Add Factory method parameters for for loops
Change-Id: Iae52cf8d008f0bd44876fcea4f381e698bd4b496
Reviewed-on: https://dart-review.googlesource.com/61640
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-21 20:12:23 +00:00
Konstantin Shcheglov 8d40afc9c0 Convert ShadowTryFinally to TryFinallyJudgment.
Different apporach here - give catches to TryFinallyJudgment and let
it rewrite its body to be TryCatch is there are catches.

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

Change-Id: Ib793b691bcb019088fc67213f98c5202d034b25b
Reviewed-on: https://dart-review.googlesource.com/61481
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-21 16:59:03 +00:00
Konstantin Shcheglov 4a9abfcacb Convert ShadowForInStatement to ForInJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I927dd645c3110a393c362ddbd09c6c33956c2d19
Reviewed-on: https://dart-review.googlesource.com/61310
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-21 16:35:03 +00:00
Kevin Millikin f2eaf6aae7 Remove type parameters from the Fasta BodyBuilder
We are pivoting our implementation of FE/Analyzer integration a little
bit, and so the BodyBuilder will not be parameterized in exactly the
same way.  Remove the existing parameterization from it and all the
supporting classes.  This requires specializing the BodyBuilder to the
front end's instantiation of it and deleting the corresponding code in
the Analyzer.

Fixes https://github.com/dart-lang/sdk/issues/33503

Change-Id: I3ddcd2c5f5ebd8f2ff95f2ec8d4c7b98b70a0b0a
Reviewed-on: https://dart-review.googlesource.com/61502
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-06-21 14:53:43 +00:00
Dmitry Stefantsov 74dd5440f1 Convert ShadowStringLiteral into StringLiteralJudgment
Change-Id: I033c7f6b1abbd1e1ffeb4b6e0c5c646897ab63ce
Reviewed-on: https://dart-review.googlesource.com/61560
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-21 14:29:13 +00:00
Paul Berry ee19f2804a Make ResolutionStorer implement the Factory API.
Change-Id: I9cf78ef8b595e845a6e47fb30cbce162f45dc91d
Reviewed-on: https://dart-review.googlesource.com/61420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-21 13:22:34 +00:00
Jens Johansen e2ce88dfcc Add startFileOffset on procedures et al, enable VMs GetSource
Prior to this change we only had fileOffset which points to the name.
This CL adds a field - startFileOffset - that points to the start
(e.g. 'static', 'factory', the return type or any presiding annotation
(including '@')), as well as fixing `Function::GetSource` in the VM to
fix a crash when using mirrors to ask for the source of a function or
constructor.

The field is added to procedures, constructors and classes.
The latter changes the location of classes with annotations to be
the position of the annotation. This is on-par with --no-preview-dart-2.
The change in regards to procedures and constructors mean, that both
the location and the source (from .location and .source on a
MethodMirror) will change to include any annotations. This is a
different behavior than --no-preview-dart-2.

Closes #33271.

Change-Id: I90f1232c5ec2d01e60e0bab070d44c37232b2730
Reviewed-on: https://dart-review.googlesource.com/60560
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-06-21 13:10:04 +00:00
Paul Berry b28ebca825 Begin reworking ResolutionStorer API to look more like the Factory class.
This CL makes the following changes:

- Removes the type parameters from the ResolutionStorer interface;
  they remain in the implementation (which is now called
  _ResolutionStorer).  In a follow-up CL I will add type parameters to
  ResolutionStorer to match those expected by Factory.  In the long
  term, once the types have settled down, I'll fuse ResolutionStorer
  and _ResolutionStorer back together and make the types more
  concrete.

- Removes the "...Enter" calls from ResolutionStorer and
  TypeInferenceListener.  Now all the information needed by the
  analyzer is passed in the "...Exit" methods (and the word "Exit" has
  been dropped from the method names).  As a consequence,
  _ResolutionStorer no longer needs to use a stack of function
  pointers to defer work from the "...Enter" to the "...Exit" calls.

- Removes the TypeInferenceBase class and moves the base class methods
  into ResolutionStorer.  This makes TypeInferenceListener a strictly
  abstract interface class, which is easier to reason about.

- Adds a KernelTypeInferenceListener class, which implements
  TypeInferenceListener and does nothing.  This is used during top
  level type inference, where we don't need to report resolution
  information to the analyzer.  Eventually this will be replaced with
  ToplevelInferenceFactory.

In a follow-up CL I will add additional parameters to the
ResolutionStorer methods so that they match the Factory method
signatures exactly, and add an "implements" clause to keep them in
sync.

Change-Id: I908b643293d051474dfb4ff24430430bc1572672
Reviewed-on: https://dart-review.googlesource.com/61403
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 22:41:53 +00:00
Konstantin Shcheglov 272848fe0f Convert ShadowWhileStatement to WhileJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ifc107f6577ef80739b78a67cc7015c13c28b498b
Reviewed-on: https://dart-review.googlesource.com/61302
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 22:22:02 +00:00
Brian Wilkerson 4df14626b3 Add parameters to Factory methods for constructor initializers
Change-Id: I08c6c0cf18550e834ebeb263f48a0dff206595c9
Reviewed-on: https://dart-review.googlesource.com/61361
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-06-20 22:01:17 +00:00
Konstantin Shcheglov a3dde1fad8 Convert ShadowSwitchStatement to SwitchStatementJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ie9418e12ed02308f2c5f4723abf111813383c2f8
Reviewed-on: https://dart-review.googlesource.com/61360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 21:42:12 +00:00
Konstantin Shcheglov e8323f578c Convert ShadowTryCatch to TryCatchJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I75b4b41ae0b621781995984dea52f248dc0bfb40
Reviewed-on: https://dart-review.googlesource.com/61311
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 21:06:42 +00:00
danrubel 8419090c8c Cleanup type variable event sequence
This is another step towards cleanup and improved recovery when parsing
type variables in fasta.

* call listener.handleIdentifier before beginTypeVariable

This is a slice of https://dart-review.googlesource.com/c/sdk/+/57661
so that it can be landed in a more incremental fashion.

Change-Id: I9cc483636f0b0f3168b92981695334c18bdfedfb
Reviewed-on: https://dart-review.googlesource.com/61320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-20 20:50:34 +00:00
Konstantin Shcheglov 80a8bfe657 Convert ShadowExpressionStatement to ExpressionStatementJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I3baf1367c40d30f192fce13c1e7dcdadae6328bc
Reviewed-on: https://dart-review.googlesource.com/61081
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 20:18:55 +00:00
Brian Wilkerson b6aa31f7d8 Add required parameters to Factory.catchStatement
Change-Id: Ida38f5f924db568837f8ca531fd6558da4aa9bf3
Reviewed-on: https://dart-review.googlesource.com/61306
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 19:59:33 +00:00
Brian Wilkerson e15b6a1cd7 Add parameters to Factory API, part 2
Change-Id: Ic60048d2adf7cf905e85f4154ee6646a8c0f9943
Reviewed-on: https://dart-review.googlesource.com/61301
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 19:25:43 +00:00
Konstantin Shcheglov 2edbfd95a7 Convert ShadowVariableDeclaration to VariableDeclarationJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I65cb1896d0ad744b8208676e487c448f308b8cd5
Reviewed-on: https://dart-review.googlesource.com/61102
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-20 18:00:44 +00:00
Konstantin Shcheglov 254d8ef153 Switch ShadowYieldStatement to YieldJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I00fafccec14e170c7d12af87b50d5432b97f2175
Reviewed-on: https://dart-review.googlesource.com/61117
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 16:34:06 +00:00
Konstantin Shcheglov 13fb4da312 Convert ShadowIfStatement to IfJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I6ba48a2f73e5e5f0b72a6f2a92d46244c23d8249
Reviewed-on: https://dart-review.googlesource.com/61119
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-20 16:26:02 +00:00
danrubel e9f994892d Cleanup unescape error messages
Change-Id: I1699d2006b776c36589f9fb9cf77d7bb9b5dc857
Reviewed-on: https://dart-review.googlesource.com/61120
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-20 16:05:02 +00:00
Konstantin Shcheglov 7b68a4516f Wrap Let with ShadowSyntheticExpression in wrapInLocatedCompileTimeError().
So, that ExpressionStatementJudgment is created with an ExpressionJudgment, not with raw Let.

Change-Id: I648b1b6053b90b315064535237122be6289f8e6e
Reviewed-on: https://dart-review.googlesource.com/61105
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 15:44:44 +00:00
Paul Berry 591cf85c76 Re-enable the old analyzer/FE integration logic.
This gets the tests running again.  I'll follow this up with CLs that
reshape the ResolutionStorer API to match the Factory API we're
building, and then after that we can transition the code over to
calling the Factory API directly.

Fixes #33504
Fixes #32258

Change-Id: I105841ed5b2ed1198ec5e3e7387f694c61d36ca7
Reviewed-on: https://dart-review.googlesource.com/61101
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-06-20 14:35:31 +00:00
Konstantin Shcheglov 9bd3350f1f Convert ShadowContinueSwitchStatement to ContinueSwitchJudgment.
Change-Id: I4113322f602f6575904889485f5126e3a2b9f30e
Reviewed-on: https://dart-review.googlesource.com/61116
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 14:14:16 +00:00
Konstantin Shcheglov 92f353fe29 Convert ShadowReturnStatement to ReturnJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ifccbda5a6f5e4f3be20640f018932b79a8b6d27d
Reviewed-on: https://dart-review.googlesource.com/61140
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-20 14:06:42 +00:00
Dmitry Stefantsov 462d2a35d3 Convert shadow nodes for 'is' and 'is!' into inference judgments
Bug: http://dartbug.com/33493
Change-Id: Ife367c8e2614332810a3660f4c98bf82893516ae
Reviewed-on: https://dart-review.googlesource.com/60925
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-20 14:06:11 +00:00
Kevin Millikin 125fae6d56 Incorporate comments from an earlier code review
Changes to some Kernel type-inference judgments were inadvertently
committed without first addressing review comments.  Original review:
https://dart-review.googlesource.com/c/sdk/+/60921

Change-Id: I773c000b115345fd4ee4a3859cb3c1659d8814aa
Reviewed-on: https://dart-review.googlesource.com/61241
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-06-20 11:46:41 +00:00
Kevin Millikin a049e340eb Revert the fix for issue #31770
Back in January we wanted to strip the call to unary- in the minimum
int64 literal.  Now we have decided we want to keep it for the back
ends.

Change-Id: I06b3e20e63a59c84828eb5bdba4613f1c226ecbb
Reviewed-on: https://dart-review.googlesource.com/60444
Reviewed-by: Stephen Adams <sra@google.com>
2018-06-20 08:18:19 +00:00
Paul Berry 2f3c983e0a Convert ShadowStaticGet to StaticGetJudgment
Change-Id: I575043c3a4289943cfc783484c0593b93f8b71e6
Reviewed-on: https://dart-review.googlesource.com/61111
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-19 23:36:27 +00:00
Paul Berry 3becdb8afd Convert property gets to judgments.
Change-Id: I33271a5664dce5d79e1a83f324f73829524a3244
Reviewed-on: https://dart-review.googlesource.com/61083
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-19 22:55:57 +00:00
Paul Berry 9db4b71442 Convert ShadowIntLiteral to IntJudgment
Change-Id: I3133219c6cf3da41d8d8b65636d4b8a5dae2d98d
Reviewed-on: https://dart-review.googlesource.com/61108
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-19 22:47:47 +00:00
Paul Berry 37084e677c Convert ShadowDoubleLiteral to DoubleJudgment
Change-Id: Ic38b66231caa90093d7e23f954c2aad4087886b0
Reviewed-on: https://dart-review.googlesource.com/61106
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-19 22:19:11 +00:00
Paul Berry d84d3f8e42 Convert ShadowNullLiteral to NullJudgment.
Change-Id: I5d38b16b0416f04255fa46c44a5aa89a15848a83
Reviewed-on: https://dart-review.googlesource.com/61100
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-19 21:42:31 +00:00
danrubel 3a2a84db9c Improve misplaced factory/modifier recovery
Change-Id: I59be8448d1269d58ae15bb4f4d01009101346021
Reviewed-on: https://dart-review.googlesource.com/61060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-19 21:17:00 +00:00
Brian Wilkerson eac395c33d Add parameters needed by analyzer to Factory, part 1
Change-Id: Ide781bf108fdaf3d44453a2f3af1bed959010dcb
Reviewed-on: https://dart-review.googlesource.com/61084
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-19 20:54:30 +00:00
Konstantin Shcheglov 3d96683a88 Convert ShadowDoStatement to DoJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I221930a21cff1f966465fb9ded227e7eb3d2c9f8
Reviewed-on: https://dart-review.googlesource.com/61080
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-19 19:56:19 +00:00
Konstantin Shcheglov 8e8fb38c48 Convert ShadowBlock to BlockJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Iaa5a65d8855cb5ef37ab4097be19c8d79fb3972a
Reviewed-on: https://dart-review.googlesource.com/60825
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-19 19:32:50 +00:00
Konstantin Shcheglov b71fb2e086 Convert ShadowBreakStatement to BreakJudgment and ContinueJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I1367c3e809c8008f972e6d246a3acdd6e03f24bc
Reviewed-on: https://dart-review.googlesource.com/61041
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-19 19:27:21 +00:00
Konstantin Shcheglov 6b96e65c5b Convert ShadowArguments to ArgumentsJudgment.
Or should it be ArgumentJudgments?

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

Change-Id: I23dc55bd57895fbcd32e167112a7dd367f5e593b
Reviewed-on: https://dart-review.googlesource.com/60833
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-19 19:06:07 +00:00
Konstantin Shcheglov a3a1113cfd Convert ShadowConditionalExpression to ConditionalJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: Ica4d3e2b432eb369ad4330b73150146e3144a066
Reviewed-on: https://dart-review.googlesource.com/60832
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-19 18:57:06 +00:00
Paul Berry 5b2871ae88 Ensure that constructor invocation file offset is set correctly for annotations.
Previously, the file offset pointed to the "@" token.  Now it points
to the constructor name, which makes more sense, and will simplify
integration with the analyzer.

Change-Id: I949d092abebf6a9e99f1d59285ca0ebcbc3b86cc
Reviewed-on: https://dart-review.googlesource.com/60808
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-06-19 18:12:18 +00:00
Brian Wilkerson bedbdf6a49 Add a Type parameter to Factory and update one method
Change-Id: I7ebcd3eb8a3761d9dfe0898380bcda1e574795ab
Reviewed-on: https://dart-review.googlesource.com/60980
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-06-19 18:03:51 +00:00
danrubel ddde9820a9 Improve fasta parser parameter list recovery
... and update more Analyzer fasta tests.

Change-Id: Ia6e9e08cca1a1c81528767e5c0b2f18435cd8ea9
Reviewed-on: https://dart-review.googlesource.com/61000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-06-19 17:55:46 +00:00
Konstantin Shcheglov f5a0e3efa8 Create NamedExpressionJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33496
Change-Id: I47fa5174b772ec0f89f6cd466a37c59fe1cd8140
Reviewed-on: https://dart-review.googlesource.com/61021
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-06-19 17:47:07 +00:00
Konstantin Shcheglov 1e7d39504f Convert ShadowLabeledStatement to LabeledStatementJudgment.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I539b844962923ebf7e60a1683f6432a43144b7fb
Reviewed-on: https://dart-review.googlesource.com/60824
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-06-19 16:30:13 +00:00