Commit Graph

4276 Commits

Author SHA1 Message Date
Konstantin Shcheglov 990dba4e08 Apply resolution to import prefixes.
R=brianwilkerson@google.com

Bug:
Change-Id: I9598e11b21ea714f06ce33706c467a161091675a
Reviewed-on: https://dart-review.googlesource.com/31840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-30 19:32:19 +00:00
Konstantin Shcheglov 4c71074fb8 Fix for annotation resolution and test.
R=brianwilkerson@google.com

Bug:
Change-Id: I08cdbfb2c2dec9264fc0afcba83d9f76406d5400
Reviewed-on: https://dart-review.googlesource.com/31820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-30 04:12:55 +00:00
Konstantin Shcheglov b8ff3ae081 Record invocation type arguments, and apply to explicit nodes.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Iccd71aafb4baa2c384e43511527f503003ea7e85
Reviewed-on: https://dart-review.googlesource.com/31760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-29 20:31:05 +00:00
Konstantin Shcheglov fa6f91999c Resynthetize FunctionType(s) with synthetic element.
Use actual element for typedef(s).

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

Bug:
Change-Id: I01163de0a8a3c776e8bdd1bd0973962e687cfbac
Reviewed-on: https://dart-review.googlesource.com/31580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-28 20:47:26 +00:00
Brian Wilkerson 4ecd8f7213 Enable the analysis of pubspec.yaml files in server
Change-Id: I97c66b357d624cdcd6259c099b6421eb87c317c5
Reviewed-on: https://dart-review.googlesource.com/31404
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-24 17:20:42 +00:00
Brian Wilkerson 48eb23149a Attempt to fix Windows bots (TBR)
Change-Id: Ieccd570d9472a457a7fa0acece121eba6bfa71e7
Reviewed-on: https://dart-review.googlesource.com/31241
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-21 21:02:08 +00:00
Brian Wilkerson 4f20827afb Class to analyze the contents of a pubspec file
Change-Id: Ia45e1c4ad63cd7a72d623f586760c1928e4ac9b8
Reviewed-on: https://dart-review.googlesource.com/31220
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-21 19:56:31 +00:00
Brian Wilkerson fe031dea8e Remove support for generic comment syntax from fasta parser
Change-Id: Ic9d61a19d03ff537d58fa378d992e02de903bad8
Reviewed-on: https://dart-review.googlesource.com/30921
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-21 15:18:11 +00:00
Brian Wilkerson cf0b75bc1d Rename parseStatementOpt to parseStatement
Change-Id: I0016bfb44843b6cd6dd36bef724fe25e93630224
Reviewed-on: https://dart-review.googlesource.com/30560
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-19 20:23:54 +00:00
Brian Wilkerson 032cc33fd5 Rename parseAsyncModifier to parseAsyncModifierOpt
Change-Id: I1cc4ad97566bcaeebf16be65ba1e8972a526daef
Reviewed-on: https://dart-review.googlesource.com/30468
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-19 20:22:54 +00:00
Brian Wilkerson d973fb3bca Rename parseCombinators to parseCombinatorStar
Change-Id: I5caac387a90c9a103182901ac8a1d2a3283e6440
Reviewed-on: https://dart-review.googlesource.com/30501
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-19 17:37:16 +00:00
Sam Rawlins b32a56235e Analyzer: fix 'ignore:' comments at the end of a line.
'//ignore:' comments that sit next to code should not invalidate errors on the
next line.

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

Bug: https://github.com/dart-lang/sdk/issues/28467
Change-Id: I15b1787e5fe4dadcdc72c18409e0b82df11060af
Reviewed-on: https://dart-review.googlesource.com/29548
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-18 20:07:56 +00:00
Sam Rawlins 3bc3ab979e Fix IMPORT_INTERNAL_LIBRARY error location
Fixes #31682

Bug: https://github.com/dart-lang/sdk/issues/31682
Change-Id: Id4f52006aa7ca3e5fb0ecce61c0393310f18764f
Reviewed-on: https://dart-review.googlesource.com/30260
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-18 18:22:46 +00:00
Sam Rawlins b50319ca9f Fix RETURN_OF_INVALID_TYPE for anonymous closures
The displayName of an anonymous closure is a blank String, resulting in messages like:

    [error] The return type 'String' is not a 'int', as defined by the method ''.

After this change, an error might instead look like:

$ xcodebuild/ReleaseX64/dart-sdk/bin/dartanalyzer --strong 26056.dart
Analyzing 26056.dart...
  error • The return type 'String' isn't a 'int', as defined by anonymouse closure at 26056.dart:6:28 • return_of_invalid_type
  1 error found.

Bug: https://github.com/dart-lang/sdk/issues/26056
Change-Id: I4003eea22cb23e0b06479482c06d5ce8a936c756
Reviewed-on: https://dart-review.googlesource.com/28382
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-18 15:33:06 +00:00
Dan Rubel ad9ea873c7 Add fasta parser switch case error checks
This refactors fasta parsing of switch statements so that it can
detect `case` statements after `default` statements
and duplicate `default` statements.

Change-Id: If9d2590a3563d0fe8940e9f3ed45375f2bebfa24
Reviewed-on: https://dart-review.googlesource.com/30240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-18 15:21:36 +00:00
Konstantin Shcheglov 31a0fe292d Remember import prefix name for static references.
Bug:
Change-Id: Ib71a9cc8e6c65d597f24c20c0260f7f37ef3674f
Reviewed-on: https://dart-review.googlesource.com/28541
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-12-16 05:09:35 +00:00
Brian Wilkerson 439dfe0c29 Revert "Produce an error if there would be an exception thrown by an assert in an initializer list"
Change-Id: I21553a5a3bf12b7636d9ef507092d0e19f9c0d57
Reviewed-on: https://dart-review.googlesource.com/30041
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-16 01:44:13 +00:00
Dan Rubel 028773e032 Add fasta parser missing switch case recovery
Change-Id: I102586df07cf9178e47b5bb05e8b27af57f393c5
Reviewed-on: https://dart-review.googlesource.com/29920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-16 01:34:53 +00:00
Brian Wilkerson 71dd8acda1 Produce an error if there would be an exception thrown by an assert in an initializer list
Change-Id: Ia95b2e09c64846d319d940e29c422355ab972da6
Reviewed-on: https://dart-review.googlesource.com/29700
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-15 23:03:15 +00:00
Leaf Petersen 53908b0790 Remove warning for "is" checks with generic type parameters.
The analyzer used to emit a warning when a type parameter to a generic
method was used in an "is" check.  This warning was there to help
users write code that worked correctly on both Dart 1.0 and 2.0.  Now
that 2.0 generic methods are being more broadly supported and used,
this warning is blocking further library work, and is being removed.

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

Bug:
Change-Id: I70395305ad082aee3072b5beeb0b1b7f7883391b
Reviewed-on: https://dart-review.googlesource.com/29821
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-15 18:12:03 +00:00
Sam Rawlins ee07335392 Improve message around re-assigning a local final.
Add a new ASSIGNMENT_TO_LOCAL_FINAL code for the new text.

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

Bug: https://github.com/dart-lang/sdk/issues/28721
Change-Id: I5492dd0d9ee09d5b73296b46fe10271661c3c64f
Reviewed-on: https://dart-review.googlesource.com/29621
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-15 01:09:55 +00:00
Mike Fairhurst a9fe991cc5 First pass at plumbing fasta errors through to the analyzer. Hopefully this is
all satisfactory infrastructurally, organizationally, performance wise.

This does not handle summarizing errors so that we can produce them for existing
dill files, and some other places where special analysis is performed like on
the standard libs.

The CompilationMessage object is less rich than the Message object that other
code is using, see \#31644. However, workarounds included.

Bug:
Change-Id: I5b436b0de6051877801c1d128f43a9656df1b549
Reviewed-on: https://dart-review.googlesource.com/29400
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-15 00:49:55 +00:00
Dan Rubel b709bc4bbe Fix AstBuilder interpolation expression construction
Add a new handleInterpolationExpression fasta parser event
so that AstBuilder can correctly construct interpolation expressions
with left and right brackets.

Change-Id: Icca977067fe3a28dbab83488108c7286ec135dca
Reviewed-on: https://dart-review.googlesource.com/29541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-14 19:18:16 +00:00
Brian Wilkerson df479ca916 Accept a trailing comma in asserts in initializer lists (issue 31320)
Change-Id: I6166aac91abc65c0817d14e1d98f5944236016bf
Reviewed-on: https://dart-review.googlesource.com/29520
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-14 15:49:45 +00:00
Paul Berry 09e432a914 Remove StrongModeCode.UNSAFE_BLOCK_CLOSURE_INFERENCE, which is no longer used.
Change-Id: I289a194670dbdec7cda3522bea614beae09a18c3
Reviewed-on: https://dart-review.googlesource.com/29543
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-12-14 15:08:46 +00:00
Sam Rawlins eb834e1886 Analyzer: allow identifier references in comments
When referencing an identifier in a documentation comment that precedes the
identifier, but exists in the same scope, do not raise an error.

Bug: https://github.com/dart-lang/sdk/issues/24880
Change-Id: I1cf9b54e0af280ea9f9a64f5e2a751e9573a1e5b
Reviewed-on: https://dart-review.googlesource.com/29561
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2017-12-14 15:05:55 +00:00
Sam Rawlins 14629098dd Enforce @visibleForTesting annotations.
In particular, enforce that a method annotated with @visibleForTesting can only
be referenced from within the declaring library, or within a file that has
"/test" in its path. This allows @visibleForTesting methods to be accessed from
test files, or files in "/testing" folders, etc.

Bug: https://github.com/dart-lang/sdk/issues/28273
Change-Id: I3c19f73be330c49face7e3203879742d514bca74
Reviewed-on: https://dart-review.googlesource.com/27201
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-14 00:17:24 +00:00
pq 3be583a006 Account for missing option includes (#31648)
Fixes: #31648.
Bug:
Change-Id: I1fae4c0aeff4935ca212b3d9ef52645492f7465c
Reviewed-on: https://dart-review.googlesource.com/29500
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-13 23:36:14 +00:00
Konstantin Shcheglov 4804108735 Support for more than one variable defined in a statement.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I9c5163099e46639a58487d217c1895b21bbc754d
Reviewed-on: https://dart-review.googlesource.com/29440
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-13 22:14:24 +00:00
Konstantin Shcheglov 577ceed6cd Apply resolution to multiple top-level and class fields.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ib6c60b433215c4cd2af8d8a160b0cd9419c64095
Reviewed-on: https://dart-review.googlesource.com/29441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-13 21:47:34 +00:00
Konstantin Shcheglov 3f90f36380 Apply resolution to not procedures/methods invocations.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I419245d819c68a28ecb328e78073cbe5373f7455
Reviewed-on: https://dart-review.googlesource.com/29360
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-13 21:13:14 +00:00
Konstantin Shcheglov 88575a3f4c Fix resynthesis for 'dynamic op value' constant expressions.
1. Move error checking before.

2. Remove check for operator using resolution, because there is no
   resolution for dynamic target. _toBinaryOperatorTokenType() will
   throw if the operatorName is not actually the name of an operator.

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

Bug:
Change-Id: Iaa7d909ec8a6c13f306fd73122a10a0de170e7e1
Reviewed-on: https://dart-review.googlesource.com/29181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-13 18:18:35 +00:00
Konstantin Shcheglov fe7e7df11c Give function expression elements unique names to ensure unique identity.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I1bf76b14a63e35403629bb5864f7f1122cf28d5e
Reviewed-on: https://dart-review.googlesource.com/29002
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-13 15:37:47 +00:00
Dan Rubel ebddad2329 Fix fasta parser recovery of redirection in non factory
Change-Id: Ia9943fb3c600a042b71bd2901cf962c06f61b523
Reviewed-on: https://dart-review.googlesource.com/28940
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2017-12-13 15:24:55 +00:00
Konstantin Shcheglov ccc20bedf5 Apply resolution to function typed formal parameters.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I512bd3aca390d7b8b25dec595d0d7b580ea31fde
Reviewed-on: https://dart-review.googlesource.com/28960
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-13 02:36:29 +00:00
Konstantin Shcheglov 256af31572 Specify the folder with vm_platform_strong.dill when create AnalysisDriver from Analysis Server.
This should let us go a bit further in running the benchmark.
We still fail later though.

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

Bug: https://github.com/dart-lang/sdk/issues/31554
Change-Id: I052d8a1805c17ab464027b35235a3abb59792142
Reviewed-on: https://dart-review.googlesource.com/29000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-13 00:35:10 +00:00
Konstantin Shcheglov f6338287ab Apply resolution to constructor redirection.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Idb9c6c7f43bda03864b9a2ba291b5dba6e45f637
Reviewed-on: https://dart-review.googlesource.com/28841
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-12 20:28:49 +00:00
Konstantin Shcheglov b427e02609 Apply resolution to (real) redirecting constructors.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I6993d549b9b8a459923fa3d72eace63e93cff1cd
Reviewed-on: https://dart-review.googlesource.com/28460
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-12 05:46:06 +00:00
Brian Wilkerson 3be5621449 Handle method invocations that cannot be resolved because of missing type information
Change-Id: I07f22964b07f38fee37ab28ff205f227f50b3024
Reviewed-on: https://dart-review.googlesource.com/28500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-12 01:23:33 +00:00
Konstantin Shcheglov b8b9073e24 Fix for named arguments for InstanceCreationExpression.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Ie9433fdd0f1ea2dfd65fa6bd1f44b9356d0a402e
Reviewed-on: https://dart-review.googlesource.com/28364
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-12-11 22:50:33 +00:00
Brian Wilkerson fbe4151da4 Handle member references that cannot be resolved because of missing type information
Change-Id: I3599846476c082a533882f6d8d18e1adeb70fa3c
Reviewed-on: https://dart-review.googlesource.com/28383
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 22:21:53 +00:00
Konstantin Shcheglov d58e9735bc Apply resolution to 'dynamic' type literal.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I5ca078942c4841f7df8c66261acab3d103cefece
Reviewed-on: https://dart-review.googlesource.com/28365
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 21:52:53 +00:00
Konstantin Shcheglov 5c580dbe21 Remember explicit static get/assign Class and offset.
Revert merging ResolutionApplier with ValidatingResolutionApplier.

Bug:
Change-Id: Ie55ebdcb5d63be26720156a28a68f2727ebc96d3
Reviewed-on: https://dart-review.googlesource.com/28380
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-11 21:46:13 +00:00
Brian Wilkerson fd5a780898 Parse documentation comment references
Change-Id: I35912533db63c3bd681099715e60c94e7af5939a
Reviewed-on: https://dart-review.googlesource.com/28040
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-10 23:08:56 +00:00
Konstantin Shcheglov 94fdf7dfe3 Apply types to top-level variables.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I93577570ae2b1cf1c2a5a837128378f1e2ce785f
Reviewed-on: https://dart-review.googlesource.com/27961
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-09 23:49:35 +00:00
Paul Berry 71b5fa86db Don't invoke type inference listener on synthetic for-in loop assignment.
This avoids the need for a clumsy workaround in the analyzer.

Change-Id: I2ee2ec25a7d13ccaccc4f5b817cf2026f4547378
Reviewed-on: https://dart-review.googlesource.com/27962
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-12-09 00:09:50 +00:00
Konstantin Shcheglov 7e22dbf1f9 Apply KernelType(s) based on function type alias.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I8cb26120cfc7d58f1d59e0034fbe0d94c7422478
Reviewed-on: https://dart-review.googlesource.com/27927
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-08 23:28:20 +00:00
Brian Wilkerson d1a265ba93 Partially fix the copying of constructor-based annotations
Change-Id: I31a6077b7d046fb36dafbff173e3c6861efa5b67
Reviewed-on: https://dart-review.googlesource.com/27900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-12-08 20:06:10 +00:00
Konstantin Shcheglov 065cdadd8f Unwrap forwarding stubs of invoked methods and setters.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: Iccddb3fb1c2537bb0001b2a3280e34949762829b
Reviewed-on: https://dart-review.googlesource.com/27840
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-12-08 18:38:08 +00:00
Konstantin Shcheglov 8a510b6df9 Remember explicit static invocation Class and offset.
So, on Analyzer side each MethodInvocation with a target has the
reference and the type for this target.

Bug:
Change-Id: I76f142da300910445b3a3fe016fed4d04219e9b6
Reviewed-on: https://dart-review.googlesource.com/26402
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-12-08 18:07:50 +00:00