Commit Graph

35 Commits

Author SHA1 Message Date
Konstantin Shcheglov 0b7b70b758 Deprecate synchronous methods in AnalysisSession.
Change-Id: I9bd3bf2d3d6dbc74ffefde1c06f83e9200b0f552
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/235100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2022-03-07 18:17:41 +00:00
Brian Wilkerson ca57dfa2dc Fix references in the docs to fix the windows bot
Change-Id: I5eaedbcf68898511aa1d36abc45b2c3887f17f29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/206660
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2021-07-13 16:35:28 +00:00
Brian Wilkerson f61adaf4c0 Fix a bug in GeneralizingAstVisitor
This also updates a reference to a deprecated API in the tutorial.

Change-Id: If06c95e06eeeafec01986be89cf621e3fc4de07d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203120
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-06-09 22:06:41 +00:00
Konstantin Shcheglov 5dd02f0583 Add getParsedLibrary2(), deprecate getParsedLibrary() and other parse related
Change-Id: I585fa1f01b71522dc99ba86c2b9e20da256b2d27
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-04-19 15:52:39 +00:00
Konstantin Shcheglov 26d9fbbd04 Add getResolvedUnit2(), deprecate getResolvedUnit().
Change-Id: I0217fefb2747f2f9bd757bc041b53acaf3d1a8f1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195495
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-04-16 21:33:54 +00:00
Konstantin Shcheglov 4dc165f7fd Add getUnitElement2(), deprecate getUnitElement().
Change-Id: Ib1ed93f215356442ca9db5b8ed5fab99667e996e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/195361
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-04-15 17:16:27 +00:00
Konstantin Shcheglov 19652ae5ad Use binary format for summaries.
Change-Id: Ibf0221a3c233c958e5065b64207faf9dfae33083
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168260
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-01 21:30:35 +00:00
Sam Rawlins 041e0dd618 Analyzer: Enforce strict-inference
Change-Id: Iba49bfa7cf10f8a3b1d3be03e73fdca280f0940a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155062
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-07-22 00:44:55 +00:00
Brian Wilkerson 1ae02c7379 Add more data to the analyzer tutorial
Change-Id: I790881ebe1da3def1916fbdaa97152e8279d4e73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137340
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-02-26 22:06:51 +00:00
Brian Wilkerson 1993669102 Clean up examples in analyzer docs that were using deprecated APIs and add a test to catch future breakages
Change-Id: I74bdb4c7474d130ae87e7cdc5991d7fadc79e453
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103465
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-05-23 13:15:36 +00:00
Brian Wilkerson 3712235e0e Remove the task graph and the tool that produces it
Change-Id: I8fa4b1e1646f4072fafa4521648f0ec158e4cebc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95561
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-03-06 13:43:37 +00:00
Konstantin Shcheglov 927e758e96 Stop using package:html in analyzer.
Related to https://github.com/dart-lang/sdk/issues/35802

R=brianwilkerson@google.com

Change-Id: I875a8dc657900137c5a7b59f2820b30a81b23405
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95480
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-05 18:36:41 +00:00
Brian Wilkerson 1c534d852c Clean up the tutorial related to implementing a visitor
Change-Id: I04b4fc38ecb558edcc946b3fad122febec57ed2a
Reviewed-on: https://dart-review.googlesource.com/c/93065
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Auto-Submit: Brian Wilkerson <brianwilkerson@google.com>
2019-02-13 19:44:16 +00:00
Brian Wilkerson cecda9043b Update analyzer docs based on previous feedback
Change-Id: I165ac4b816f5dc2c244e53387436dd2409774557
Reviewed-on: https://dart-review.googlesource.com/c/80940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-10-19 21:09:33 +00:00
Brian Wilkerson 531d8235eb Initial documentation for the public API
Change-Id: Id859cf8ff40cd8c0ebce88874f11ca69c2697c59
Reviewed-on: https://dart-review.googlesource.com/c/79479
Reviewed-by: Danny Tuppeny <dantup@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-10-18 22:08:43 +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
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
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
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
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
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
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