Konstantin Shcheglov
46e4363df5
Enforce lint: always_use_package_imports
...
Change-Id: Ib7c9f2b4fe3d3d1a874f97f73def6ba1ffaf911e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187360
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-02-25 16:57:16 +00:00
Konstantin Shcheglov
8a80001cb9
Fix null checks in generated summary format.
...
Change-Id: Ie8c0f19c1604a92c07b8be98301d5ee8f89a2ed8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184520
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-02-11 22:21:57 +00:00
Konstantin Shcheglov
1d5555e67a
Remove support for variants in summary format.
...
We don't use it anymore.
Change-Id: I3c1eaa7bb19629275a2839fd53607d5388178a94
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-02-11 17:36:46 +00:00
Sam Rawlins
af0120803e
analyzer: Remove unnecessary imports
...
Change-Id: Iea88852d6592e14007e9853aa2d568a772678e1e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/184282
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2021-02-10 21:37:45 +00:00
Konstantin Shcheglov
79396b13bf
Migrate analyzer flat buffer generator to null safety.
...
Change-Id: If16c57cc443002f90f7f94b2e08294eb8bb44225
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183766
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2021-02-09 17:14:00 +00:00
Konstantin Shcheglov
9f986d2501
Migrate package:analyzer to null safety.
...
Change-Id: Iffe4370431587e46a141ddc72a86ceec29c163b2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176486
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
2021-02-01 18:56:04 +00:00
Paul Berry
7d3bc4862d
Rename pkg/analysis_tool to pkg/analyzer_utilities.
...
It's no longer just for the tools in the `tool` directory; it also
contains test utilities for use by the analyzer and related packages.
Change-Id: I0f8cf57f24ea7aad8e2177e43ee2bcb2ab3030da
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171704
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-11-13 17:46:30 +00:00
Sam Rawlins
ad5bcf16f1
Analyzer: remove unnecessary this in lib/src/summary,2
...
Change-Id: I110ffd76b1d04f83bbe08b79937c2ef6d02987a9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156487
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-08-01 06:12:11 +00:00
Sam Rawlins
5dfa750393
Convert all function parameters and typedefs to generic syntax
...
Change-Id: I18f8644ecbe61555b2929ed09d446733d33ec2a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128521
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-12-16 23:36:38 +00:00
Paul Berry
b048ac05e6
Fix code generators to avoid generating unnecessary consts
...
This change fixes pkg/analyzer/tool/summary/generate.dart and
pkg/analyzer/tool/experiments/generate.dart so that the code they
generate corresponds with the changes made in
54b7543c55 .
This should fix the broken analyzer-linux-release bot.
Change-Id: I651197da0853687f15bff2f2365f0b85280b5d60
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128561
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2019-12-16 17:21:22 +00:00
Sam Rawlins
40718899fe
Fix pedantic 0.9 lints around collection literals and spreads
...
Change-Id: I64277c36fbeb4ea7a1bb429a8e0a40203520c883
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128380
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-12-14 00:15:41 +00:00
Konstantin Shcheglov
364dd8936b
Fix unnecessary_new in analyzer.
...
R=brianwilkerson@google.com
Change-Id: I70f80baa3da4b14c0a52c1f28da16a9ad26d7dda
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127424
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-12-06 01:11:30 +00:00
Konstantin Shcheglov
f772b572c8
Fix curly_braces_in_flow_control_structures lint.
...
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I63cb372bf04f80182f873e2143971cb3cf1392fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127447
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-12-05 23:46:13 +00:00
Johnni Winther
00c2962db8
[cfe+analyzer] Move messages, scanner and parser to package:_fe_analyzer_shared
...
Change-Id: I4fa87aee65f30a9868a6cf8f0342591869ece7ea
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123663
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2019-11-01 09:37:57 +00:00
Brian Wilkerson
61b4c0f770
Cleanup hints and lints in analyzer packages
...
Change-Id: I7f1a6ad1ed3610da9616683576ebfb5efd543fd9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119164
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2019-09-27 16:12:44 +00:00
pq
8f90265176
de-lint collection size checks
...
Change-Id: Id8e7ce2ec59ad7cd2b0b9c961594a37d4fef621a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108522
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2019-07-10 13:46:43 +00:00
danrubel
6bd64ff8b2
cleanup StringScanner references
...
Change-Id: Ic75305c7a76860c5b96032d4f8c8fff695006f22
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/106004
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-06-14 13:39:47 +00:00
Konstantin Shcheglov
eff6e95385
Improve code generation for variant classes.
...
Change-Id: Iabaceebdf6efbec80d0026b74f71eac45b742760
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103600
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-05-24 21:55:16 +00:00
Konstantin Shcheglov
8208e872f8
Refactor summary IDL generator.
...
I need to make changes to 'collectApiSignature' and 'flushInformative'
to support variants, and we have lots of code around already.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I9ba3b61a22b9e9e2c547e97d5c5adaa07443b24a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103552
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-05-24 00:30:49 +00:00
Mike Fairhurst
5f03a9a07e
Fix lints in summary generator: setter types, star-slash docs
...
Change-Id: I808be84579c775c58b9a4b6d8f4ea10fc6fb29dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98458
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-04-02 23:48:31 +00:00
Mike Fairhurst
1bbd282d65
Make analyzer/tool/summary/generate.dart take an IDL path
...
Change-Id: I919b6d92342076ed4420dcc4a5ee94853a35ed41
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96240
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-03-27 16:08:47 +00:00
Brian Wilkerson
5f0de26d48
Clean up the remaining copyright notices
...
Change-Id: If099be4f71ba551df0dc3d69815ae6a9f55d1eba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97781
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2019-03-24 20:11:28 +00:00
Konstantin Shcheglov
298866ed94
Write / read resolved AST to / from flat buffers.
...
AstBinaryWriter does not yet support all node types, but a lot of them,
and can successfully write many large Dart files, including itself.
Whether it does it correctly, we cannot say yet, because AstBinaryReader
supports much smaller set of node types. I plan to add all nodes in
following CLs, and run over larger bodies of code.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: Iaa2a5c743bd1659ea30c93632028d3a475736bf5
Reviewed-on: https://dart-review.googlesource.com/c/94684
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-03-01 19:48:02 +00:00
Konstantin Shcheglov
67366ed771
Support for @Variant and @VariantId in generator.
...
It also includes a sample how it looks in IDL and generated.
I will remove it before landing.
R=paulberry@google.com
Change-Id: I4c60b33e623cf9c55d46a8dd9624377e5a0f5053
Reviewed-on: https://dart-review.googlesource.com/c/94921
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2019-03-01 02:43:30 +00:00
Konstantin Shcheglov
c49537e743
Support for 'double' fields in summaries.
...
We already can store List<double>, but not `double` itself.
The LinkedConstantValue data structure I'm working on will have a
field of type `double`, so I need to support in in the generator.
R=paulberry@google.com
Change-Id: Ic5aa3a9a7266afabe6c64214fd68097fbebda4e8
Reviewed-on: https://dart-review.googlesource.com/c/93820
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2019-02-21 17:06:49 +00:00
Dan Rubel
94d8e730fb
Remove parser enableSetLiterals flag
...
Change-Id: I5e806f2e4a1dd368417802f7b4ff18bc1b4d0250
Reviewed-on: https://dart-review.googlesource.com/c/92843
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-02-13 22:57:12 +00:00
Kevin Moore
ca4978e363
Add pkg:analysis_tool as an SDK-only set of utils
...
Reduces the API surface of pkg:analyzer that requires pkg:html
Related to https://github.com/dart-lang/sdk/issues/35802
Change-Id: Icd08d76190d6ab77cd180561cdde6df254b22557
Reviewed-on: https://dart-review.googlesource.com/c/91701
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Kevin Moore <kevmoo@google.com >
2019-01-31 16:52:05 +00:00
Aske Simon Christensen
7475080928
Enable set literals by default in the parser
...
Change-Id: I854a7d35b05f95d05f0b13f67677d2e512db4eeb
Reviewed-on: https://dart-review.googlesource.com/c/87844
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2019-01-03 13:45:36 +00:00
Brian Wilkerson
469e1e2e64
Remove unnecessary library directives
...
Change-Id: I7a157080e4d7fd80d64489a13de4e996b5870930
Reviewed-on: https://dart-review.googlesource.com/c/79474
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-13 00:44:04 +00:00
Paul Berry
5ea1d2fb20
Convert idl.dart to triple-slash comment style.
...
Change-Id: If16a8ea5da0f2cd805d3360e1d70cd19be8066a8
Reviewed-on: https://dart-review.googlesource.com/c/78621
Commit-Queue: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-08 19:04:02 +00:00
Peter von der Ahé
eb0ec965e3
Move codegen/tools.dart to package:analyzer
...
Change-Id: Iab61e0dfcdd0969d1bf35e27c13c336a944d14e6
Reviewed-on: https://dart-review.googlesource.com/c/77780
Commit-Queue: Peter von der Ahé <ahe@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-10-03 07:41:43 +00:00
Paul Berry
e72fd5294a
Deprecate unneeded fields from PackageBundle.
...
Change-Id: I071a44499ef20a32388eea7ba04264c8c9b8e1c9
Reviewed-on: https://dart-review.googlesource.com/73285
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-06 14:16:10 +00:00
Aske Simon Christensen
f20672e00a
Parse name of factory as method name instead of constructor reference.
...
Report an error when a factory constructor has type parameters.
Report a better error than the old "couldn't find constructor" or
"illegal method name" when the name of a constructor does not match
the name of the enclosing class.
Fixes https://github.com/dart-lang/sdk/issues/31196
Change-Id: Ie46a5b4cbe07ba05ce2936e1f8f9ca2cad0208f7
Reviewed-on: https://dart-review.googlesource.com/57620
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2018-06-11 09:55:24 +00:00
Brian Wilkerson
602a8c2a7b
Clean up usage of deprecated constants
...
Change-Id: I9005ba6e94529e15d8f7b21322591f4a9dabec47
Reviewed-on: https://dart-review.googlesource.com/45763
Commit-Queue: William Hesse <whesse@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-03-09 01:02:49 +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
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
Paul Berry
e2f77056a5
Eliminate dependencies on pkg/front_end.
...
The API for pkg/front_end is still in flux so we want to avoid having
any packages depend directly on it (other than analyzer and
back-ends).
This CL re-exports some of the critical pieces of front_end needed by
analyzer clients so that those clients can access them via analyzer,
without having to directly depend on front_end. It also updates
pkg/analyzer_plugin to make use of those re-exports.
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2993123002 .
2017-08-07 09:46:30 -07:00
Dan Rubel
278c7bfbeb
merge fasta.Token into analyzer.Token
...
This eliminates much of the duplication between the two token hierarchies
by merging much of the fasta.Token hierarchy into the analyzer.Token.
* merge token hierarchies
* cleanup fasta.Token.copy()
* set preceedingComments field via constructor
* replace isBuiltInIdentifier --> type.isBuiltIn
* change all fasta.Token references to analyzer.Token
* move fasta.Token.value() implementation into analyzer.SimpleToken
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2890523002 .
2017-05-16 11:50:14 -04:00
Konstantin Shcheglov
02cb71685e
Move flat_buffer and api_signature into front_end.
...
I will need to use these in front_end to store precomputed information
and computing combined signatures.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review-Url: https://codereview.chromium.org/2875373002 .
2017-05-12 10:48:28 -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
Paul Berry
2457a79b48
Change summary code generator to use Fasta parser.
...
The end goal is to move summary logic to the front end, which means
that it won't be able to depend on analyzer. This removes a key
dependency on analyzer (the dependency of the code generator on the
analyzer parser).
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2748803003 .
2017-03-14 10:36:45 -07:00
Brian Wilkerson
22f561e914
Reapply "Add support for generic function type syntax, part 1"
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2622303006 .
2017-01-11 14:10:05 -08:00
Brian Wilkerson
85b1e7abbe
Revert "Add support for generic function type syntax, part 1"
...
Review-Url: https://codereview.chromium.org/2624283003 .
2017-01-11 13:30:52 -08:00
Brian Wilkerson
1cd918533d
Add support for generic function type syntax, part 1
...
R=scheglov@google.com
Review-Url: https://codereview.chromium.org/2613383003 .
2017-01-11 13:12:10 -08:00
Brian Wilkerson
ecc84b26a4
Break up another large file
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2342733002 .
2016-09-15 07:49:27 -07:00
Konstantin Shcheglov
35bf41691e
Change summaries setter generation to allow properties named 'value'.
...
R=paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2339053002 .
2016-09-15 07:08:38 -07:00
Konstantin Shcheglov
663a3e810c
Reapply abc5051854: Remove 'Element.docRange'.
...
I also marked the corresponding information in summaries as @deprecated
and made a small tweak to the generator so that it knows that the ids
of deprecated fields are still used.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2330813002 .
2016-09-11 09:41:53 -07:00
pq
b7f0ce083b
Revert "Remove 'Element.docRange'."
...
This reverts commit abc5051854 .
Background: required to keep `analyzer` version-compatible with `test`.
BUG=
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/2293143003 .
2016-08-30 13:10:15 -07:00
Konstantin Shcheglov
abc5051854
Remove 'Element.docRange'.
...
I also marked the corresponding information in summaries as @deprecated
and made a small tweak to the generator so that it knows that the ids
of deprecated fields are still used.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org/2270903002 .
2016-08-24 09:40:23 -07:00
Paul Berry
70bd623f36
Add an "api signature" to summaries.
...
The API signature of a summary is an MD5 hash of the API of the code
being summarized. This will be used by analysis server to detect when
a summary needs to be relinked (because it was built with reference to
another summary whose API has since changed).
R=scheglov@google.com
Review URL: https://codereview.chromium.org/2216873003 .
2016-08-04 16:12:49 -07:00