Commit Graph

11784 Commits

Author SHA1 Message Date
Konstantin Shcheglov bdc024a303 Move PackageIndexAssembler into analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2357283002 .
2016-09-21 08:54:46 -07:00
Brian Wilkerson d947a7ba89 Async is no longer optional
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2361433002 .
2016-09-21 08:29:34 -07:00
Brian Wilkerson 6062d5d6bd Fix mustCallSuper to ignore methods from interfaces
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2348383006 .
2016-09-21 08:03:09 -07:00
Brian Wilkerson 2d9e690e6c Fix newly introduced errors and warnings
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2357553003 .
2016-09-21 08:01:04 -07:00
Johnni Winther 0a79576ed0 Move towards using WorldImpact for codegen
CustomElementsAnalysis, TypeVariableHandler, LookupAnalysis and metadata
constants no longer require a [Registry] but instead collect their impact.

R=het@google.com

Review URL: https://codereview.chromium.org/2349163003 .
2016-09-21 12:31:38 +02:00
Johnni Winther ca3c2882ae Introduce OpenWorld.
R=het@google.com

Review URL: https://codereview.chromium.org/2320583002 .
2016-09-21 11:48:10 +02:00
Johnni Winther 012229ec83 Split Universe into ResolutionUniverse and CodegenUniverse
Main changes in universe.dart

R=het@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/2318593003 .
2016-09-21 11:24:26 +02:00
Johnni Winther b7d424f6fd Handle local functions in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2359453002 .
2016-09-21 11:18:03 +02:00
Johnni Winther 614cde5b1c Split World usage into open, inference, and closed world.
This is a step towards separating the backend element model from the frontend model.

Main changes in world.dart.

R=het@google.com

Review URL: https://codereview.chromium.org/2314703002 .
2016-09-21 10:54:34 +02:00
Johnni Winther 7ea9f8b8bc Handle string interpolation/juxtaposition in kernel_impact.
R=het@google.com

Review URL: https://codereview.chromium.org/2357433003 .
2016-09-21 10:44:57 +02:00
John Messerly aa85651820 fix #27403, use AST summaries in DDC
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2353133004 .
2016-09-20 17:55:09 -07:00
Stephen Adams 3d9bbdaa9a dart2js load elimination: Look through refinements for locations
We have to look through the refinements (via .nonCheck()) for locations in order to avoid mistaking two different refinements for two separate locations.

R=het@google.com

Review URL: https://codereview.chromium.org/1459273002 .
2016-09-20 16:12:55 -07:00
Vijay Menon e825d6d63e Update ddc pubspec.yaml
Fixing build ... should we be doing something differently?  E.g., not check in the lock file?

TBR=jmesserly@google.com,rnystrom@google.com

Review URL: https://codereview.chromium.org/2353193002 .
2016-09-20 15:08:05 -07:00
Konstantin Shcheglov ff22a0fe89 Fix 'new KnownClass.unresolvedConstructor()' type computation.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2356843002 .
2016-09-20 14:00:51 -07:00
Paul Berry 36a0807331 Test summary resynthesis of unresolved annotations.
Unresolved annotations were being summarized properly, but this was
untested, and testing them required some bug fixes to the test
infrastructure (mostly due to quirks introduced by dartbug.com/25706).

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2357513004 .
2016-09-20 13:43:41 -07:00
Konstantin Shcheglov 1401a38d59 We do and test only AST based summaries.
There are 3 tests failing.

According to the Spec 'void' and 'dynamic' cannot be prefixes.
"It is a compile-time error if a built-in identifier is used as the declared name of a prefix, class, type parameter or type alias."
So, most probably these tests should be changed to test that the prefix is null.

I will look into "fail_invalid_prefix_type_parameter" in a separate CL.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2353993002 .
2016-09-20 10:48:56 -07:00
Harry Terkelsen 636084afa2 kernel->ssa: implement top-level getters and setters
See https://github.com/dart-lang/sdk/issues/27394

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org/2353793002 .
2016-09-20 10:18:08 -07:00
Paul Berry 2839653161 Fix generation of analysis results in analyzer_cli "build mode".
This was inadvertently broken in 1b10de1a86.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2350963005 .
2016-09-20 10:07:11 -07:00
John Messerly 8c25a41acc ignore dynamic when doing inference
R=leafp@google.com

Review URL: https://codereview.chromium.org/2343863004 .
2016-09-20 09:59:08 -07:00
Brian Wilkerson c369a8449e More clean-up in server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2350143004 .
2016-09-20 08:39:43 -07:00
Konstantin Shcheglov 3355612e13 We don't compute propagated types of non-local variables.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2351623005 .
2016-09-20 08:37:29 -07:00
Brian Wilkerson 3c865fa6b5 Remove use of shared messages
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2346803005 .
2016-09-20 08:25:55 -07:00
Brian Wilkerson d0245ea2b9 Finish removing MethodTrampoline
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2356653003 .
2016-09-20 08:20:56 -07:00
William Hesse 0695b1db3a Remove package root target and support scripts
BUG=https://github.com/dart-lang/sdk/issues/23565
R=kustermann@google.com

Review URL: https://codereview.chromium.org/2346163005 .
2016-09-20 13:32:50 +02:00
Konstantin Shcheglov d13a887292 Remove 'serializeLibrary(LibraryElement)' and its tests.
Switch PrelinkerTest to AST based unlinked summaries.

The *_common.dart files in tests might be not actually 'common', and
we could pull them into corresponding only subclasses.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2353773002 .
2016-09-19 20:28:46 -07:00
Konstantin Shcheglov 979a9bd6da Remove incremental session from analyzer_cli.
This should have been done together with 1310dc801a.

TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2348283004 .
2016-09-19 15:06:03 -07:00
Jacob Richman bad7f76374 Fix crashes due to attempts to create an identifier name containing the word <bottom>. Likely there is a better fix but this appears to work for now.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2354603003 .
2016-09-19 14:52:12 -07:00
Konstantin Shcheglov 1310dc801a Remove incremental analysis cache.
It could cache more than what we cache currently with pub summaries.
But pub and internal summaries seem to be a good level of granularity.

This also makes one user less for element based summarizer.

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

Review URL: https://codereview.chromium.org/2353693002 .
2016-09-19 14:17:30 -07:00
Konstantin Shcheglov 1387e8ec5c Remove fallback mode and corresponding cli flag.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2356523002 .
2016-09-19 14:02:14 -07:00
Konstantin Shcheglov 1b10de1a86 Generate only AST based summaries in build mode.
Should we also remove fallback mode?

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2355613003 .
2016-09-19 13:47:38 -07:00
Konstantin Shcheglov 8010f3ac99 Use MockSdk.getLinkedBundle(), and implement it using SummaryBuilder.
This is a step to removing generating summaries from elements,
as we decided last week.

R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2352573003 .
2016-09-19 12:58:36 -07:00
Paul Berry f7a12f9c83 Allow input summaries to be specified when running analyzer_cli in non-build mode.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2347133004 .
2016-09-19 12:39:24 -07:00
Konstantin Shcheglov 2fa34661d4 Generate SDK summaries using ASTs.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2351863002 .
2016-09-19 12:20:36 -07:00
Konstantin Shcheglov dd5a6c2265 Issue 27390. Visit 'ExecutableElement.typeParameters'.
Otherwise incremental updaters fail to update type parameters' offsets,
which causes failures later in DeclarationResolver when apply elements
to re-created AST.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27390

Review URL: https://codereview.chromium.org/2355543002 .
2016-09-19 12:17:27 -07:00
Paul Berry e77187ff6d Fix pkg/analyzer/tool/task_dependency_graph/check_test.
This was broken by the move to ".packages" files.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2351833002 .
2016-09-19 12:07:54 -07:00
John Messerly 865e808f15 support @virtual fields, fix #27384
R=leafp@google.com

Review URL: https://codereview.chromium.org/2352433002 .
2016-09-19 09:45:24 -07:00
Brian Wilkerson 57f1193c01 First steps toward removing MethodTrampoline
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2348353002 .
2016-09-19 08:24:29 -07:00
Johnni Winther e24939f8d6 Handle generic factory constructors in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2341263002 .
2016-09-19 11:35:56 +02:00
Konstantin Shcheglov f5a616834e Use configurations and declared variables to select import/export URIs during prelinking.
R=paulberry@google.com
BUG= https://github.com/dart-lang/sdk/issues/27045

Review URL: https://codereview.chromium.org/2353433002 .
2016-09-18 14:04:01 -07:00
Konstantin Shcheglov 54ee2b88c8 ImportElement/ExportElement 'uri' should be the selected URI.
So, that the URI is consistent with the imported/exportedLibrary.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2343103003 .
2016-09-17 17:26:13 -07:00
Brian Wilkerson 07aa504eb9 Clean up missed references to deprecated code
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2349863002 .
2016-09-17 10:37:29 -07:00
John Messerly 70f6e16c97 fix #27363, support @checked on fields
Just needed to have the synthetic setter param look for metadata on the field.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2346143003 .
2016-09-16 18:20:23 -07:00
John Messerly 86ae2c8df9 fix #27382, tweak inference heuristic when we have no upper bound info
R=leafp@google.com

Review URL: https://codereview.chromium.org/2348583005 .
2016-09-16 17:28:03 -07:00
John Messerly 0713345b34 address #25232 in strong mode (dart1 behavior unchanged)
R=leafp@google.com

Review URL: https://codereview.chromium.org/2340173002 .
2016-09-16 16:04:18 -07:00
Adam Barth f7c8140aa3 Fix gn build
We need to update the call to make_link.py in the same way the GYP build was
updated.
2016-09-16 15:27:42 -07:00
Stephen Adams a51d185ff5 Do not add type information to constants with constructor taking type information
R=sigmund@google.com
BUG=

Review URL: https://codereview.chromium.org/2343193002 .
2016-09-16 15:09:28 -07:00
William Hesse 82c24568d4 Update status after package root removal
BUG=https://github.com/dart-lang/sdk/issues/27378

Review URL: https://codereview.chromium.org/2347303002 .
2016-09-16 23:46:06 +02:00
Harry Terkelsen 67ab213718 dart2js: fix tests after moving to .packages in the SDK repo
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2346053002 .
2016-09-16 12:07:31 -07:00
Konstantin Shcheglov ea0d3e4430 Issue 27374. Include all configuration sources into REFERENCED_SOURCES.
VerifyUnitTask verifies all Configuration sources, so we need to know
MODIFICATION_TIME all the sources, even if the configuration is not selected.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27374

Review URL: https://codereview.chromium.org/2347123004 .
2016-09-16 11:31:32 -07:00
Brian Wilkerson 772c93ccf2 Rename libraryUri
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2347213002 .
2016-09-16 10:54:25 -07:00