Commit Graph

78 Commits

Author SHA1 Message Date
Konstantin Shcheglov 617f99700a Issue 52363. Check that the current name scope is LocalScope.
PatternAssignment is a strange expression that syntactcally can have
declared variables inside.

Bug: https://github.com/dart-lang/sdk/issues/52363
Change-Id: Id6132be26581112941b7b4828c8e232143ed59b4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/369505
Commit-Queue: Phil Quitslund <pquitslund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
2024-06-04 16:47:14 +00:00
Konstantin Shcheglov ef43762a14 Legacy. Remove tests for language versions 2.9
Change-Id: I55227f3573d8a2ac3d03de93aeca493fdd3c9596
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/349981
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2024-02-02 19:56:19 +00:00
Sam Rawlins 92ffbd2661 Remove older type system-related tests
Related to https://github.com/dart-lang/sdk/issues/44666

I was able to combine a few of these with their modern equivalents,
where test names did not clash, but in general these tests can just be
removed: These tests test specifics about the pre-NNBD type system;
assignability, promotability, etc.

Change-Id: I735ccaf7f29b828c0891c18c87e9d9bc1279e52a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/338428
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2023-11-28 16:26:26 +00:00
pq fe6950eceb enable flutter_style_todos
Change-Id: Ic82963b754404d54e37f5fb03819aebc3fa67954
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/336502
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2023-11-15 23:04:19 +00:00
Konstantin Shcheglov 5cb4093613 Issue 52432. Create DefaultSuperFormalParameterElementImpl for invalid code.
Bug: https://github.com/dart-lang/sdk/issues/52432
Change-Id: I03a1320dce1a56448046bf625ae751cdb8f931af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/307670
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2023-06-07 01:32:58 +00:00
Konstantin Shcheglov 4cf8091c8d Remove PartWithoutLibraryResult, consider a part to be a library instead.
Bug: https://github.com/dart-lang/sdk/issues/49046
Change-Id: I20413cd2b2ff284d2e4b92949f057c97b98fb49b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/246042
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2022-05-25 20:51:04 +00:00
Konstantin Shcheglov 33b6483ad1 Support for AugmentationFileStateKind.
Change-Id: Ib32b7b56739d89118c9a497087dc5066bab177dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/245680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-05-25 16:54:38 +00:00
Konstantin Shcheglov 20b560226e Rename newFile2() to newFile().
Change-Id: I1c2a4f15dee607a0a6241dfaf2d764a7d284389b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/241510
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-04-19 02:59:57 +00:00
Konstantin Shcheglov 7022b2d8fb Issue 48688. Fix for adding unnamed extension to the scope.
Bug: https://github.com/dart-lang/sdk/issues/48688
Change-Id: I8e5225b93a5cc39b53e8ccfb162c86b180e3fa86
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239122
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-03-28 20:23:20 +00:00
Konstantin Shcheglov 41b3e0abcc Make 'content' required in ResourceProviderMixin.newFile()
Change-Id: Id697b0736b95a913c31247a66425027852f1ddc5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/236800
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-03-14 17:31:48 +00:00
Konstantin Shcheglov 09d3beb5ab Rename analyzer/ tests to WithoutNullSafety.
Change-Id: Id9d500b4970ec84ebaad6c2e4000464f95896d1f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/232234
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2022-02-10 04:21:59 +00:00
Konstantin Shcheglov 911fe966dc Fix for annotations on library element after import.
This is not valid, but we should not crash.

Change-Id: I7fb0e5a705072af1f91c3674fe3e0b40e6a7a34a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-06-30 21:12:44 +00:00
Konstantin Shcheglov 85ca8d6472 Store element model in binary format, and ASTs for initializers.
Internal presubmit looks green.
https://test.corp.google.com/ui#id=OCL:371613550:BASE:372858992:1620628216332:c292dc2

Golem shows about 13% less cold memory, and 30% faster edit.
Other benchmarks are not significantly different.
http://shortn/_R1Y4E7Z2rV

Change-Id: I12acec9c46d4f834f8cb2bea1cf9e1e92a341bbd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196502
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-05-10 22:32:33 +00:00
Konstantin Shcheglov ae39dee6fa Fix for invoking a generic method of a generic class from legacy code.
Bug: https://b.corp.google.com/issues/185971662
Change-Id: I71f4f251770e6e371bd6035911ca7c9562610540
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/196342
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-04-22 17:22:56 +00:00
Sam Rawlins f32575e43a analyzer: stop mixing WithNullSafety into tests extending PubPackageResolutionTest
Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I01aa8a5908b8a2f195859c4c9fd99e3127249e29
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/186880
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2021-02-24 17:41:44 +00:00
Sam Rawlins 82bcd13476 Change PubPackageResolutionTest to use null safety.
Some tests had some issues migrating to null safety that I
could not immediately hash out, or may warrant some more discussion.
So I've added WithoutNullSafetyMixin, and we can incrementally
migrate these after this CL.

Many tests have little no-op tweaks to make them null safe, like
initializing variables, adding late, making nullable.

Nest steps:
1. Remove `WithNullSafetyMixin` applications.
2. Remove `WithoutNullSafetyMixin` in every position with a TODO for
   #44666.
3. For every file with pair(s) of test classes (one pre-null safety,
   and one null safety), move around test cases so that they generally
   run with null safety, unless they are testing things very specific to
   before and after null safety.

Bug: https://github.com/dart-lang/sdk/issues/44666
Change-Id: I0512dedcda42e864fd580af4842702095937bdb6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/183140
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2021-02-08 23:06:04 +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
Konstantin Shcheglov cea28f1ac5 Support for AwaitExpression in binary summary format.
Bug: https://github.com/dart-lang/sdk/issues/44699
Change-Id: I174e015ff8378fafc1c528198df2157532cf393a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/180460
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-01-21 23:15:16 +00:00
Konstantin Shcheglov 5e66c2b1a1 Support for ForPartsWithExpression in binary format.
Change-Id: I69b47c6f21a2923731c91ba4d5edf8394b96408f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/179680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-01-16 19:29:43 +00:00
Konstantin Shcheglov c11039702c Replace FindElement.functionTypeAlias() with typeAlias().
Change-Id: I88a5b889310df8a39b54318907ba8bbd68b26b9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176183
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-15 07:13:41 +00:00
Konstantin Shcheglov 72b0d2a297 Terminate null shorting for FunctionExpressionInvocation.
FAILURE: (:s=0?.1(I
['package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart': Failed assertion: line 2785 pos 12: '_stack.isEmpty': is not true.
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
#2      _FlowAnalysisImpl.finish (package:_fe_analyzer_shared/src/flow_analysis/flow_analysis.dart:2785:12)
#3      FlowAnalysisHelper.topLevelDeclaration_exit (package:analyzer/src/dart/resolver/flow_analysis_visitor.dart:224:10)
#4      AstResolver.resolve (package:analyzer/src/summary2/ast_resolver.dart:88:21)
#5      _VariableInferenceNode._resolveInitializer (package:analyzer/src/summary2/top_level_inference.dart:466:17)
#6      _VariableInferenceNode.computeDependencies (package:analyzer/src/summary2/top_level_inference.dart:393:5)
#7      Node.getDependencies (package:analyzer/src/summary/link.dart:148:40)
#8      DependencyWalker.walk.strongConnect (package:analyzer/src/summary/link.dart:53:40)
#9      DependencyWalker.walk (package:analyzer/src/summary/link.dart:119:18)
#10     _InferenceWalker.walkNodes (package:analyzer/src/summary2/top_level_inference.dart:254:9)
#11     _InitializerInference.perform (package:analyzer/src/summary2/top_level_inference.dart:287:13)
#12     TopLevelInference.infer (package:analyzer/src/summary2/top_level_inference.dart:111:26)
#13     Linker._performTopLevelInference (package:analyzer/src/summary2/link.dart:183:29)
#14     Linker._buildOutlines (package:analyzer/src/summary2/link.dart:93:5)
#15     Linker.link (package:analyzer/src/summary2/link.dart:76:5)
#16     link (package:analyzer/src/summary2/link.dart:33:10)
#17     LibraryContext.load2.loadBundle (package:analyzer/src/dart/analysis/library_context.dart:227:24)
#18     LibraryContext.load2.<anonymous closure> (package:analyzer/src/dart/analysis/library_context.dart:258:17)
#19     PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
#20     LibraryContext.load2 (package:analyzer/src/dart/analysis/library_context.dart:256:12)
#21     new LibraryContext (package:analyzer/src/dart/analysis/library_context.dart:78:5)
#22     AnalysisDriver._createLibraryContext.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1538:27)
#23     _rootRun (dart:async/zone.dart:1186:13)
#24     _CustomZone.run (dart:async/zone.dart:1090:19)
#25     _runZoned (dart:async/zone.dart:1626:10)
#26     runZoned (dart:async/zone.dart:1546:10)
#27     NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#28     AnalysisDriver._createLibraryContext (package:analyzer/src/dart/analysis/driver.dart:1536:33)
#29     AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1402:28)


Change-Id: I6b91c6bd89d6e0430a36ded992d8dca82bfedbff
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175961
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-14 08:56:08 +00:00
Konstantin Shcheglov 57fa20a8a5 Fix crash for no flow in annotation.
FAILURE: class=class<@((){x:
[NoSuchMethodError: The method 'labeledStatement_begin' was called on null.
Receiver: null
Tried calling: labeledStatement_begin(Instance of 'LabeledStatementImpl'), #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      FlowAnalysisHelper.labeledStatement_enter (package:analyzer/src/dart/resolver/flow_analysis_visitor.dart:196:10)
#2      ResolverVisitor.visitLabeledStatement (package:analyzer/src/generated/resolver.dart:1636:20)
#3      LabeledStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:6520:49)
#4      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#5      BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1087:17)
#6      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#7      UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:3143:31)
#8      ScopedVisitor.visitBlock.<anonymous closure> (package:analyzer/src/generated/resolver.dart:2473:13)
#9      ScopedVisitor._withDeclaredLocals (package:analyzer/src/generated/resolver.dart:3067:8)
#10     ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:2472:5)
#11     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1083:49)
#12     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1042:13)
#13     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#14     UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:3146:55)
#15     ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:2482:13)
#16     ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:957:13)
#17     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1038:49)
#18     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5010:12)
#19     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
#20     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1460:37)
#21     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#22     ResolverVisitor.visitArgumentList (package:analyzer/src/generated/resolver.dart:887:20)
#23     ArgumentListImpl.accept (package:analyzer/src/dart/ast/ast.dart:355:49)
#24     AnnotationResolver.resolve (package:analyzer/src/dart/resolver/annotation_resolver.dart:35:21)
#25     ResolverVisitor.visitAnnotation (package:analyzer/src/generated/resolver.dart:823:30)
#26     AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:280:49)
#27     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#28     AnnotatedNodeImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:148:17)
#29     TypeParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10298:11)
#30     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#31     UnifyingAstVisitor.visitTypeParameter (package:analyzer/dart/ast/visitor.dart:3475:47)
#32     TypeParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:10294:49)
#33     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#34     TypeParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:10346:21)
#35     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1749:10)
#36     UnifyingAstVisitor.visitTypeParameterList (package:analyzer/dart/ast/visitor.dart:3478:55)
#37     TypeParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:10342:49)
#38     ScopedVisitor.visitClassDeclarationInScope (package:analyzer/src/generated/resolver.dart:2533:26)
#39     ScopedVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:2521:7)
#40     ResolverVisitor.visitClassDeclaration (package:analyzer/src/generated/resolver.dart:1015:13)
#41     ClassDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:1536:49)
#42     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1091:23)
#43     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#44     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)
#45     LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:139:7)

Change-Id: I13a10d2c127528aa9166e82a5ae535ddbbb8a022
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175943
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-14 05:58:23 +00:00
Konstantin Shcheglov b21913b0a3 Fix for NPE when no flow for 'if' statement.
FAILURE: typedef:(:<>(s{if
[NoSuchMethodError: The method 'ifStatement_thenBegin' was called on null.
Receiver: null
Tried calling: ifStatement_thenBegin(Instance of 'SimpleIdentifierImpl'), #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      ResolverVisitor.visitIfStatement (package:analyzer/src/generated/resolver.dart:1556:26)
#2      IfStatementImpl.accept (package:analyzer/src/dart/ast/ast.dart:5705:49)
#3      NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#4      BlockImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1087:17)
#5      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#6      UnifyingAstVisitor.visitBlock (package:analyzer/dart/ast/visitor.dart:3143:31)
#7      ScopedVisitor.visitBlock.<anonymous closure> (package:analyzer/src/generated/resolver.dart:2467:13)
#8      ScopedVisitor._withDeclaredLocals (package:analyzer/src/generated/resolver.dart:3061:8)
#9      ScopedVisitor.visitBlock (package:analyzer/src/generated/resolver.dart:2466:5)
#10     BlockImpl.accept (package:analyzer/src/dart/ast/ast.dart:1083:49)
#11     BlockFunctionBodyImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:1042:13)
#12     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#13     UnifyingAstVisitor.visitBlockFunctionBody (package:analyzer/dart/ast/visitor.dart:3146:55)
#14     ScopedVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:2476:13)
#15     ResolverVisitor.visitBlockFunctionBody (package:analyzer/src/generated/resolver.dart:954:13)
#16     BlockFunctionBodyImpl.accept (package:analyzer/src/dart/ast/ast.dart:1038:49)
#17     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5010:12)
#18     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
#19     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1457:37)
#20     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#21     DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
#22     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#23     UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
#24     ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1239:11)
#25     DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
#26     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#27     FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
#28     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#29     UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
#30     ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2717:11)
#31     FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
#32     FunctionTypeAliasImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5166:18)
#33     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#34     UnifyingAstVisitor.visitFunctionTypeAlias (package:analyzer/dart/ast/visitor.dart:3285:55)
#35     ScopedVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:2819:11)
#36     ResolverVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:1490:11)
#37     ScopedVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:2812:7)
#38     ResolverVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:1482:13)
#39     FunctionTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:5158:49)
#40     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1088:23)
#41     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#42     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)


R=brianwilkerson@google.com

Change-Id: I72bf7219d55d0bf53beae11f977f8fb840dd8e2e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175908
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-12-12 18:19:41 +00:00
Konstantin Shcheglov 3c2e851780 Fix for crash when function expression has empty body.
FAILURE: _(:<>(o;?(a(@([
[NoSuchMethodError: The getter 'contextType' was called on null.
Receiver: null
Tried calling: contextType, #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1      FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:72:35)
#2      ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1424:37)
#3      FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#4      ResolverVisitor.visitConditionalExpression (package:analyzer/src/generated/resolver.dart:1068:16)
#5      ConditionalExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:2265:15)
#6      DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
#7      ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
#8      UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
#9      ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1206:11)
#10     DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
#11     NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#12     FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
#13     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
#14     UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
#15     ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2684:11)
#16     FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
#17     FunctionExpressionImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5009:18)
#18     FunctionExpressionResolver.resolve (package:analyzer/src/dart/resolver/function_expression_resolver.dart:65:10)
#19     ResolverVisitor.visitFunctionExpression (package:analyzer/src/generated/resolver.dart:1415:35)
#20     FunctionExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5004:49)
#21     FunctionDeclarationImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4873:26)
#22     ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1710:10)
#23     UnifyingAstVisitor.visitFunctionDeclaration (package:analyzer/dart/ast/visitor.dart:3271:59)
#24     ScopedVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:2749:11)
#25     ResolverVisitor.visitFunctionDeclarationInScope (package:analyzer/src/generated/resolver.dart:1405:11)
#26     ScopedVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:2742:7)
#27     ResolverVisitor.visitFunctionDeclaration (package:analyzer/src/generated/resolver.dart:1374:11)
#28     FunctionDeclarationImpl.accept (package:analyzer/src/dart/ast/ast.dart:4866:49)
#29     ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1055:23)
#30     CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#31     LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)


Change-Id: I62cde978d075bbafacb1b429e87049ca5d54d268
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175907
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-12 17:13:15 +00:00
Konstantin Shcheglov 1c864b1bc7 Fix for StackOverflow in FileState.library
Change-Id: I6dd9ceefbfa8d5f457d69ae20838290b8a208c98
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175329
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-08 17:26:54 +00:00
Konstantin Shcheglov 8d01debeda For interactive use case in AnalysisDriver use separately stored ASTs for files.
Change-Id: I92ee458a6c143a3164c0b5a10adf42c4dbe4878d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175282
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-12-08 00:58:18 +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
Konstantin Shcheglov a669f440a6 Revert applying resolution after loading AST for summaries.
Reason: causes Flutter analysis performance regression.
https://github.com/flutter/flutter/issues/68716

We will get back to applying resolution after loading AST when
we switch to the binary format, and so recover enough performance.

WIP for it: https://dart-review.googlesource.com/c/sdk/+/168260
Unfortunately this means that it will get even bigger.


Revert "Separate AST from resolution (per declaration)."

This reverts commit 4d6fba37de.


Revert "Remove commented out code from LinkedUnitContext."

This reverts commit c4f2c8ec3e.


Revert "Issue 43890. Implement applying resolution to IndexExpression."

This reverts commit 088524efa6.


Revert "Issue 43888. Fix for applying resolution to PropertyAccess in cascade."

This reverts commit 1f660a7acf.

Change-Id: I808c1fc62161458d7544d7741e4b358c99b0b55f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/168881
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-10-22 22:40:40 +00:00
Konstantin Shcheglov 4d6fba37de Separate AST from resolution (per declaration).
Change-Id: Ic05781f98636e992c5c51d94cde51aa8c64663a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/167242
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-10-16 16:33:42 +00:00
Konstantin Shcheglov 0c342ae491 Fix crash when invalid default field formal parameter has annotation.
Change-Id: Iabb329f850195be981d80b0589d9f7851596c680
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/166740
Reviewed-by: Samuel Rawlins <srawlins@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-10-08 15:17:05 +00:00
Mike Fairhurst 000f3135a5 [analyzer] Remove unused dart:async imports
Change-Id: If21c3a30f3bc521586ad01f8f9e241038e7aa7eb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161448
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2020-09-02 17:14:22 +00:00
Konstantin Shcheglov c2379a800a Move more tests to PubPackageResolutionTest.
R=brianwilkerson@google.com

Change-Id: Ic6c37d069323cc06c6ab630757625a7e0b072200
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/157640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-08-06 22:30:39 +00:00
Sam Rawlins d4f912dadb Analyzer: Move all remaining tests from compile_time_error_code.dart and remove
Change-Id: Id3c2a3df6aea0437b9e0798040ac76fa96a01215
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/156080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-07-29 02:51:50 +00:00
Konstantin Shcheglov 204d22467b Use WithNullSafetyMixin instead of direct AnalysisOptionsImpl.
Change-Id: Ib950d298e3008e708398cb6e8d8d0b3e57114dac
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-21 16:16:28 +00:00
Konstantin Shcheglov 2ec47ad273 Use ElementKind.ENUM for enums.
There was a crash internally, caused by the fact that when we have
duplicate name for class and enum, during linking we put them into
different Reference bucket - @class and @enum, and also inside
the class, the reference to its name is the class.

But when we resolve, we check equality of elements using not
references, but locations. So, we need to make sure that their
kinds are also different, so go into different bucket, and so
not equal.

When they are InterfaceType and equal, we would try to match
type arguments against the wrong number of type parameters and crash.

Change-Id: Iee3f8691adac65d4b0395ceec7fc7250f96afa88
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152404
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-06-25 00:20:31 +00:00
Konstantin Shcheglov fc91636703 Fix for crash when FieldFormalParameter in a local function has annotations.
Saw this in the crash reports.

R=brianwilkerson@google.com

Change-Id: I890592b264a3c33df80d89b45ad55ebe3fdf0c09
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141024
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-26 17:07:03 +00:00
Konstantin Shcheglov cdac6f614c Issue 40837. Fix for invalid function expression flow analysis.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/40837
Change-Id: Id7021aa6b54fede6af2d03f51fd1d53445d174c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139149
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-03-12 15:33:02 +00:00
Konstantin Shcheglov 5bfabfb4f0 Merge some resolution assertions.
Change-Id: I4a5d79d13d890acd641f302c85c7b0f463a11200
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-01-08 17:30:35 +00:00
Konstantin Shcheglov 3e961f4e91 Stop using assertHasTestErrors() where possible.
R=brianwilkerson@google.com

Change-Id: I0ab8d2afd27c3a18d4fd49cb0e3864078cc163ae
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130121
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2020-01-03 16:12:49 +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 7df44023f4 Issue 38878. Update SuperContext for annotations.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38878
Change-Id: Ib2944fd60062fca0ec2899d83656cdc02b0a4a87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125529
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 19:06:48 +00:00
Konstantin Shcheglov b5b45ffe4b Issue 38953. Exit the unit element walker on enter into a directive.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38953
Change-Id: I54e84e28f5d576bcd50c8bb10e99aefdae725c25
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125528
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-11-18 18:11:53 +00:00
Konstantin Shcheglov aa0cf44b05 Issue 38506. Don't attempt to use LibraryElement.metadata for not the first LibraryDirective.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/38506
Change-Id: Ib76b1e81554f061622ec98fae21b4dd9a1280c24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125521
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-18 15:28:45 +00:00
Konstantin Shcheglov a8e48405dd Share search methods in FindElement and ImportFindElement.
Change-Id: I511c23440fbd95b3a27a50d7b80c66c9a8a7f558
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-11-13 22:22:25 +00:00
Konstantin Shcheglov decca61f8c Deprecate TypeDefiningElement.type except ExecutableElement.
Change-Id: I7888f7ff796f1c4523cdc7030451dfc3ab622970
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/122729
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-10-31 05:09:13 +00:00
Konstantin Shcheglov 8c3065e947 Add fuzz tests for annotation resolution crashes.
Change-Id: I2748ae2bee93b621f864c11dc4d58ec9b1e4b9fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119581
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-10-01 21:50:20 +00:00
Konstantin Shcheglov 595022bdea Remove summary1, part 1.
Change-Id: I557785ac13fa411280ce032324b0305bf25a0a6d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119170
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-28 14:30:05 +00:00
Konstantin Shcheglov bf361ebe19 Replace addTestFile()/resolveTestFile() pair with resolveTestCode().
R=brianwilkerson@google.com

Change-Id: Ie3289e355421b0339b012319ce39d2b8eb9569d1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-09-25 16:03:16 +00:00
danrubel 000de948fa add test for 38091
Fixed by earlier parser recovery improvement.

Fix https://github.com/dart-lang/sdk/issues/38091

Change-Id: I9fa4c3870965c1f03bae9f11da6eaf1e65bfabf9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115904
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-09-19 16:56:50 +00:00
Mike Fairhurst 330fccbc0d Implement extension override in summary2
Change-Id: I0c7028eaa53ae070d521cda86a885435e4345089
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117124
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
2019-09-13 21:23:03 +00:00