Commit Graph

73 Commits

Author SHA1 Message Date
Brian Wilkerson 87f753dbd3 Replace some declarations of element with declaredElement
Change-Id: Idd62472b16cccaa98749a510197ec8d0f5053cb1
Reviewed-on: https://dart-review.googlesource.com/67820
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-02 16:00:36 +00:00
Devon Carew f8caffd9e6 Remove some uses of Platform.packageRoot.
Change-Id: Ic01e7f7a9f5c677bcf3779ae2a9386345620793a
Reviewed-on: https://dart-review.googlesource.com/60443
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-06-19 05:12:13 +00:00
Brian Wilkerson 1c5d1a56e7 Clean up some hints
Change-Id: I623a4d86912ad0666b75ad519c15c84b24a5b579
Reviewed-on: https://dart-review.googlesource.com/52861
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-26 22:29:06 +00:00
Brian Wilkerson 7054d92a02 Remove some classes from the analyzer public API
Change-Id: Ic53a8426818b06f44c2876abd16c789589bf78b5
Reviewed-on: https://dart-review.googlesource.com/52421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-24 15:28:15 +00:00
Brian Wilkerson 5460ddbab5 Move three more libraries out of the public API
Change-Id: I8e6aeaea35c739fb26e22ffcfc30a343ebbb5424
Reviewed-on: https://dart-review.googlesource.com/51363
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-16 22:15:28 +00:00
Brian Wilkerson dd897d35a2 Move the task API out of the public API
Change-Id: I0fbafb4965ced89fb9a063edb773c3f1cb3a39fa
Reviewed-on: https://dart-review.googlesource.com/51242
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-16 18:18:08 +00:00
Jens Johansen 22d0696d91 [CFE] Move front-end API under src/
This CL deprecates the front-end API and moves it into src/api_prototype.

For now all usages have been updated to point to the new location,
but they should be updated to use custom-client invocations instead (e.g.
one specific way for DDC, another for dart2js etc.)

Bug:
Change-Id: I9b4f41f6ebf55d42510fd35240d942d1dc7292d6
Reviewed-on: https://dart-review.googlesource.com/24822
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2017-12-01 08:42:16 +00:00
Konstantin Shcheglov 5ea30b4e3d Rename performace_logger.dart to performance_logger.dart
R=paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ib7b6d122dff3ddabde3db2270daa777a269e04ed
Reviewed-on: https://dart-review.googlesource.com/18512
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2017-11-03 20:24:00 +00:00
Paul Berry 70f2969b6c Create a uniform mechanism for finding the 'pkg' directory when running tests.
Several tests need to access source files in the 'pkg' directory, and
they use various mechanisms for finding it.  This CL changes
everything to use the same mechanism.

Change-Id: I146a6d72ec05a20cf07451a83eada9fb8e71a966
Reviewed-on: https://dart-review.googlesource.com/5484
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-09-13 20:05:40 +00:00
Konstantin Shcheglov 1b4239d2e4 Export ByteStore and its implementations from front_end.
R=ahe@google.com, paulberry@google.com, sigmund@google.com

Bug:
Change-Id: Ie2e3413a7f143e270cec2bd3ae4564ad7cc315b1
Reviewed-on: https://dart-review.googlesource.com/3840
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-07 19:23:21 +00:00
Konstantin Shcheglov 455984bbf9 Fix fuzzy arrow warnings in analyzer and analysis_server.
There is one warning which I'd like to fix in a separate CL.

The rest is because of package:test predicate().
I think Leaf fixed it in https://github.com/dart-lang/matcher/commit/3625f13698346576da0f5baf44e95abc9c56fb49


R=brianwilkerson@google.com

Bug:
Change-Id: I060f7ced55dbcc460185916251c47ebbd5c838d3
Reviewed-on: https://dart-review.googlesource.com/3404
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-06 00:26:18 +00:00
Konstantin Shcheglov f78d43c3d3 Convert GeneratedContent to async and use AnalysisDriver for tasks graph.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/3002293003 .
2017-08-26 07:51:34 -07:00
Konstantin Shcheglov c21653c0c4 Regenerate the tasks graph.
TBR

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2837713002 .
2017-04-21 21:21:57 -07:00
Paul Berry c78b4d66bb Move some of analyzer's code generation utilities into front_end.
These utilities are needed for generating the code that supports
summaries; in order to move summary logic into front_end, we will need
these code generation tools in front_end as well.

Also make a minor change to summary code generation logic so that it
talks to the file system directly rather than depending on analyzer's
file system abstraction.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2742333005 .
2017-03-14 12:30:18 -07:00
Konstantin Shcheglov 3ba8c2df3d Regenerate the task graph.
TBR

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2698703002 .
2017-02-15 10:46:04 -08:00
Konstantin Shcheglov ea72cbf830 Don't use Element.computeNode() in tasks graph generator.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2678693002 .
2017-02-06 06:53:01 -08:00
Paul Berry ab6e74cb1c Regenerate task_dependency_graph after 914a117649
TBR=scheglov@google.com

Review-Url: https://codereview.chromium.org/2631683002 .
2017-01-13 04:17:32 -08:00
Brian Wilkerson 96750cd5cb Split out options from ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2425423009 .
2016-10-20 11:03:11 -07:00
William Hesse 92cd3e10f5 Fix test.py and tests to use an explicit --packages flag.
BUG=https://github.com/dart-lang/sdk/issues/27412
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2361813003 .
2016-09-22 17:51:09 +02: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
Brian Wilkerson fa1b80fd82 Remove references to deprecated code
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2331743002 .
2016-09-10 11:28:43 -07:00
Brian Wilkerson 5bd4de469e Clean up warnings and hints
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2324463006 .
2016-09-09 09:09:59 -07:00
Brian Wilkerson e5d10ceed6 Roll back changes that broke the bots (TBR)
Review URL: https://codereview.chromium.org/2319143003 .
2016-09-07 14:07:54 -07:00
Brian Wilkerson 771d296a6c Remove final references to PackageUriResolver
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2320733003 .
2016-09-07 13:03:19 -07:00
Konstantin Shcheglov 09b851c97f Don't perform final fields and top-level variables type propagation.
A similar feature is now implemented in strong mode, and users who
need it, should switch to strong mode.

When we are ready to drop propagated types altogethoer, we could
deprecate or remove UnlinkedVariable.propagatedTypeSlot in IDL.

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

Review URL: https://codereview.chromium.org/2288223003 .
2016-08-29 15:18:12 -07:00
Paul Berry 052a6c867d Fix summary handling of unresolved imports, exports, and parts.
Previously this was working for a few use cases by dumb luck, but it
wasn't well tested and became broken by
b29c6bf330.  This CL fixes it for real
and adds tests to verify the fix.

Note that there is a change to how we represent an unresolved
import/export: instead of storing a URI_EXISTS modifier in the element
model, we simply mark the imported library element as synthetic.
(This library element existed anyway; we just weren't marking it as
synthetic).  This makes it easy to tie in with summaries, since it is
easy for the resynthesizer to detect that the library doesn't exist at
the time the library handle is resolved.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2235373003 .
2016-08-12 13:59:51 -07:00
Brian Wilkerson c41427383b Deprecate DirectoryBasedDartSdk and transition existing uses to the new API
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2242853002 .
2016-08-12 09:18:12 -07:00
Konstantin Shcheglov 296d81f60a Issue 27053. Record errors in InferStaticVariableTypeTask and include them into unit errors.
R=brianwilkerson@google.com, jmesserly@google.com
BUG=

Review URL: https://codereview.chromium.org/2239613002 .
2016-08-11 09:10:31 -07:00
Konstantin Shcheglov 6df5ea27a5 Revert 6ad38498c8 (PARSED_UNIT).
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2231473002 .
2016-08-09 10:14:18 -07:00
Konstantin Shcheglov 6ad38498c8 Extract unresolved AST parsing (PARSED_UNIT1) from full parsing, which includes UriBasedDirective(s) resolution.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2229603003 .
2016-08-08 14:45:27 -07:00
Konstantin Shcheglov fa854d41f6 Fix for limited invalidation in the middle, and the unlimited invalidation for an exported library.
Consider libraries `A`, `B`, and `C`, where `C` imports `B`, and `B`
exports `A`. [RESOLVED_UNIT4] of `C` depends on [LIBRARY_ELEMENT4] of
[IMPORTED_LIBRARIES], i.e. `B`. Even though [LIBRARY_ELEMENT4] of `B`
depends on [LIBRARY_ELEMENT3]s of its [EXPORT_SOURCE_CLOSURE] (i.e. `A`
and `B`), [RESOLVED_UNIT4] of `C` sees only [LIBRARY_ELEMENT4] of `B`.

When invalidate results of `B` (but keep results of `C`), we will
invalidate and remove [LIBRARY_ELEMENT4] of `B`, so we lose knowledge
that [RESOLVED_UNIT4] of `C` indirectly depends on `A`.

The solution is do depend on [EXPORT_SOURCE_CLOSURE] of all
[IMPORTED_LIBRARIES] in [RESOLVED_UNIT4] of `C`.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2171673002 .
2016-07-21 07:26:47 -07:00
William Hesse 60db3bd080 Update task_dependency_graph after analyzer change
BUG=

Review URL: https://codereview.chromium.org/2136543002 .
2016-07-08 15:36:31 +02:00
Konstantin Shcheglov 4bae18ae3b Regenerate tasks graph.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2106483002 .
2016-06-27 12:09:00 -07:00
Jaime Wren f4ff1edcef Provide direction to users of the now deprecated class FileUriResolver
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2078703002 .
2016-06-16 15:24:17 -07:00
pq ae9a984057 Regen task graph.
BUG=
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2023543002 .
2016-05-27 15:02:56 -07:00
Brian Wilkerson 23b02bc351 Add support to the task model for the @required annotation
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1977903002 .
2016-05-13 11:11:48 -07:00
Konstantin Shcheglov 0f0b38dab3 Implement stable resolution of generic types without type arguments to their bounds.
R=brianwilkerson@google.com, leafp@google.com
BUG= https://github.com/dart-lang/sdk/issues/26265

Review URL: https://codereview.chromium.org/1927323002 .
2016-04-29 08:25:55 -07:00
Konstantin Shcheglov 8a7b4ea225 Don't use AnalysisContext.exists() in VerifyUnitTask.
Use REFERENCED_SOURCES and MODIFICATION_TIME instead.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1902403005 .
2016-04-20 14:02:01 -07:00
Paul Berry 22369c3e19 Regenerate task dependency graph after c1475a13a0
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org/1903873002 .
2016-04-20 12:26:14 -07:00
Konstantin Shcheglov cd685d96e8 Use single map of Source to modification time.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1899303003 .
2016-04-19 15:50:56 -07:00
Paul Berry 5e3b3f8d50 Regenerate task dependency graph after d3f6c67732
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org/1896153002 .
2016-04-19 08:14:25 -07:00
Brian Wilkerson 9f002011ea Generate the task model graph as an HTML file and put it in the doc directory.
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1817913002 .
2016-04-09 09:15:52 -07:00
Konstantin Shcheglov 9cc7f2d936 Fixes for import/export directive resolution and tasks graph.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/1854003003 .
2016-04-03 12:19:26 -07:00
Leaf Petersen 7d2976c7d5 Add instantiate method on ParameterizedType and InterfaceType,
and deprecate the old substitute4 in favor of instantiate.

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

Review URL: https://codereview.chromium.org/1758913002 .
2016-03-02 15:06:38 -08:00
Konstantin Shcheglov d9bd7f915d Revert collecting defined elements.
We decided to resynthesize local elements from summaries.
This CL rolls back the following CLs:

https://codereview.chromium.org/1687573002
https://codereview.chromium.org/1681493005

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1729523002 .
2016-02-23 09:55:14 -08:00
Paul Berry 7b4cef6902 Fix broken analyzer tests after 56a9c0d9f1.
Review URL: https://codereview.chromium.org/1708623002 .
2016-02-17 08:56:31 -08:00
Konstantin Shcheglov 4a99fe9e18 Collect defined elements together with used elements.
We cannot visit CompilationUnitElement and reach local variables and
functions. So, we need another way to know them while generating hints.

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

Review URL: https://codereview.chromium.org/1687573002 .
2016-02-09 12:44:58 -08:00
Konstantin Shcheglov c174f4c778 Generate tasks.dot for the new tasks structure.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1672323002 .
2016-02-05 18:17:16 -08:00
Konstantin Shcheglov 217cd8181b Remove unused READY_RESOLVED_UNIT10 and READY_RESOLVED_UNIT11.
...as well as the corresponding tasks that produce them.

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

Review URL: https://codereview.chromium.org/1668993002 .
2016-02-04 13:09:42 -08:00
Leaf Petersen a34bab7fde Use READY_RESOLVED_UNIT flag for ordering tasks.
Fixes #25271.

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1534033004 .
2015-12-18 14:17:52 -08:00