Danny Tuppeny
069a2f83d9
[Analyzer] Add support to LSP server for updating imports on file renames
...
Fixes https://github.com/Dart-Code/Dart-Code/issues/2761 .
Change-Id: I9e4779760a02bc91850c45aa0d0bf261ef922222
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175485
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-14 17:06:03 +00:00
Danny Tuppeny
5d2905e8cb
[Analyzer] Add a setting to enable sending TODOs as LSP diagnostics
...
Fixes https://github.com/Dart-Code/Dart-Code/issues/3010 .
Change-Id: Id504f46a0c0ff6dc6eb4005e3779714081df8fd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176085
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-14 17:05:24 +00:00
Konstantin Shcheglov
98d5e770e4
Fixes for review comments after _fe_analyzer_shared migration
...
Change-Id: I77b139caa828d57fa16fd78e1f3ae2824974396c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176020
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-14 16:57:58 +00:00
Konstantin Shcheglov
44b8d530a2
Remove 'template' from Code.
...
Change-Id: I1937e22ba22ba7a0ae809d777f2e61b046519fd6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176021
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-14 16:57:18 +00:00
Daco Harkes
3e7cda8a4e
[vm/ffi] Support passing structs by value
...
This CL adds passing structs by value in FFI trampolines.
Nested structs and inline arrays are future work.
C defines passing empty structs as undefined behavior, so that is not
supported in this CL.
Suggested review order:
1) commit message
2) ffi/marshaller (decisions for what is done in IL and what in MC)
3) frontend/kernel_to_il (IL construction)
4) backend/il (MC generation from IL)
5) rest in VM
Overall architecture is that structs are split up into word-size chunks
in IL when this is possible: 1 definition in IL per chunk, 1 Location in
IL per chunk, and 1 NativeLocation for the backend per chunk.
In some cases it is not possible or less convenient to split into
chunks. In these cases TypedDataBase objects are stored into and loaded
from directly in machine code.
The various cases:
- FFI call arguments which are not passed as pointers: pass individual
chunks to FFI call which already have the right location.
- FFI call arguments which are passed as pointers: Pass in TypedDataBase
to FFI call, allocate space on the stack, and make a copy on the stack
and pass the copies' address to the callee.
- FFI call return value: pass in TypedData to FFI call, and copy result
in machine code.
- FFI callback arguments which are not passed as pointers: IL definition
for each chunk, and populate a new TypedData with those chunks.
- FFI callback arguments which are passed as pointer: IL definition for
the pointer, and copying of contents in IL.
- FFI return value when location is pointer: Copy data to callee result
location in IL.
- FFI return value when location is not a pointer: Copy data in machine
code to the right registers.
Some other notes about the implementation:
- Due to Store/LoadIndexed loading doubles from float arrays, we use
a int32 instead and use the BitCastInstr.
- Linux ia32 uses `ret 4` when returning structs by value. This requires
special casing in the FFI callback trampolines to either use `ret` or
`ret 4` when returning.
- The 1 IL definition, 1 Location, and 1 NativeLocation approach does
not remove the need for special casing PairLocations in the machine
code generation because they are 1 Location belonging to 1 definition.
Because of the amount of corner cases in the calling conventions that
need to be covered, the tests are generated, rather than hand-written.
ABIs tested on CQ: x64 (Linux, MacOS, Windows), ia32 (Linux, Windows),
arm (Android softFP, Linux hardFP), arm64 Android.
ABIs tested locally through Flutter: ia32 Android (emulator), x64 iOS
(simulator), arm64 iOS.
ABIs not tested: arm iOS.
TEST=runtime/bin/ffi_test/ffi_test_functions_generated.cc
TEST=runtime/bin/ffi_test/ffi_test_functions.cc
TEST=tests/{ffi,ffi_2}/function_structs_by_value_generated_test.dart
TEST=tests/{ffi,ffi_2}/function_callbacks_structs_by_value_generated_tes
TEST=tests/{ffi,ffi_2}/function_callbacks_structs_by_value_test.dart
TEST=tests/{ffi,ffi_2}/vmspecific_static_checks_test.dart
Closes https://github.com/dart-lang/sdk/issues/36730 .
Change-Id: I474d3a4ee1faadbe767ddadd1b696e24d8dc364c
Cq-Include-Trybots: luci.dart.try:dart-sdk-linux-try,dart-sdk-mac-try,dart-sdk-win-try,vm-ffi-android-debug-arm-try,vm-ffi-android-debug-arm64-try,vm-kernel-asan-linux-release-x64-try,vm-kernel-mac-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-nnbd-linux-debug-ia32-try,vm-kernel-nnbd-mac-release-x64-try,vm-kernel-nnbd-win-debug-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-debug-simarm_x64-try,vm-kernel-precomp-nnbd-linux-debug-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-precomp-obfuscate-linux-release-x64-try,vm-kernel-msan-linux-release-x64-try,vm-kernel-precomp-msan-linux-release-x64-try,vm-kernel-precomp-android-release-arm_x64-try,analyzer-analysis-server-linux-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140290
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Martin Kustermann <kustermann@google.com >
2020-12-14 16:22:48 +00:00
Danny Tuppeny
f6c6ea5373
[Analyzer] Update to final published version of v3.16.0 of LSP spec
...
Change-Id: I290b462352fc72b58b2f8f5f8b85464257017b7a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176080
Auto-Submit: Danny Tuppeny <danny@tuppeny.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-14 16:03:59 +00:00
Paul Berry
5780cacbdb
Don't pass null to fasta.Parser.
...
Fixes null safety errors arising from the migration of _fe_analyzer_shared.
Change-Id: I7da6b7f2d7c23d5d8f6ed120e03aed754aff5b82
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176061
Commit-Queue: Paul Berry <paulberry@google.com >
Commit-Queue: Ivan Inozemtsev <iinozemtsev@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Ivan Inozemtsev <iinozemtsev@google.com >
2020-12-14 15:55:39 +00:00
Johnni Winther
5dbb6e245b
[kernel,cfe,ddc] Add new method invocation node to package:kernel
...
This adds
* InstanceInvocation, DynamicInvocation, FunctionInvocation, and
LocalFunctionInvocation, EqualsCall, and EqualsNull as a future
replacement for MethodInvocation.
* InstanceGet, DynamicGet, InstanceTearOff, and FunctionTearOff as a
future replacement for PropertyGet
* InstanceSet and DynamicSet as a future replacement of PropertySet
* StaticTearOff as an addition to StaticGet
TEST=pkg/front_end/test/binary_md_vm_tags_and_version_test.dart
This CL combines
* https://dart-review.googlesource.com/c/sdk/+/171729
* https://dart-review.googlesource.com/c/sdk/+/172649
* https://dart-review.googlesource.com/c/sdk/+/172650
* https://dart-review.googlesource.com/c/sdk/+/172651
using the initial encoding fo EqualsCall and EqualsNull
Change-Id: I98e020b5f2b405a812663bdcd2c05aba8efa74c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175480
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-14 10:55:48 +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
Paul Berry
3ee471e490
Flow analysis: additional tests for promotion based on initializers
...
Change-Id: I19b16646097c4638ce44c5ceb3c700edcaa7a23a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175980
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2020-12-14 06:50: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
05cce14437
Write markers into resolution stream.
...
Change-Id: I84092ac81b67637d2975ae331034207027740191
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-14 05:50:57 +00:00
Konstantin Shcheglov
34939ac7b8
Resolve default values of nested parameters of function typed formal parameters.
...
FAILURE: /((=#is!?}=
[NoSuchMethodError: The getter 'nullabilitySuffix' was called on null.
Receiver: null
Tried calling: nullabilitySuffix, #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1 SubtypeHelper.isSubtypeOf (package:analyzer/src/dart/element/subtype.dart:50:29)
#2 TypeSystemImpl.isSubtypeOf2 (package:analyzer/src/dart/element/type_system.dart:1131:27)
#3 DartObjectImpl.hasType (package:analyzer/src/dart/constant/value.dart:487:41)
#4 DartObjectComputer.typeTest (package:analyzer/src/dart/constant/evaluation.dart:2159:44)
#5 ConstantVisitor.visitIsExpression (package:analyzer/src/dart/constant/evaluation.dart:1230:34)
#6 IsExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:6463:49)
#7 ConstantVisitor.visitConditionalExpression (package:analyzer/src/dart/constant/evaluation.dart:1104:48)
#8 ConditionalExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:2265:15)
#9 ConstantEvaluationEngine.computeConstantValue (package:analyzer/src/dart/constant/evaluation.dart:159:16)
#10 _ConstantWalker.evaluate (package:analyzer/src/dart/constant/compute.dart:57:32)
#11 DependencyWalker.walk.strongConnect (package:analyzer/src/summary/link.dart:100:13)
#12 DependencyWalker.walk (package:analyzer/src/summary/link.dart:119:18)
#13 computeConstants (package:analyzer/src/dart/constant/compute.dart:26:14)
#14 LibraryAnalyzer._computeConstants (package:analyzer/src/dart/analysis/library_analyzer.dart:259:5)
#15 LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:145:5)
#16 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:107:12)
#17 AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1414:65)
#18 PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
#19 AnalysisDriver._computeResolvedLibrary2 (package:analyzer/src/dart/analysis/driver.dart:1400:20)
#20 AnalysisDriver._computeResolvedLibrary.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1393:15)
#21 _rootRun (dart:async/zone.dart:1186:13)
#22 _CustomZone.run (dart:async/zone.dart:1090:19)
#23 _runZoned (dart:async/zone.dart:1626:10)
#24 runZoned (dart:async/zone.dart:1546:10)
#25 NullSafetyUnderstandingFlag.enableNullSafetyTypes (package:analyzer/dart/element/null_safety_understanding_flag.dart:42:12)
#26 AnalysisDriver._computeResolvedLibrary (package:analyzer/src/dart/analysis/driver.dart:1392:40)
#27 AnalysisDriver.performWork (package:analyzer/src/dart/analysis/driver.dart:962:22)
#28 AnalysisDriverScheduler._run (package:analyzer/src/dart/analysis/driver.dart:2013:24)
Change-Id: I1d5482390a7d76cccbfbdf1dd871f9473ce2826a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175944
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-14 05:50:17 +00:00
Konstantin Shcheglov
d2e5d475bc
Fix for crash when annotation references synthtic constructor of a generic class alias.
...
FAILURE: mixi@:class<s=a(=m
[NoSuchMethodError: The getter 'enclosingElement' was called on null.
Receiver: null
Tried calling: enclosingElement, #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1 LinkedResolutionReader.nextElement (package:analyzer/src/summary2/bundle_reader.dart:602:22)
#2 ApplyResolutionVisitor._nextElement (package:analyzer/src/summary2/apply_resolution.dart:1106:24)
#3 ApplyResolutionVisitor.visitAnnotation (package:analyzer/src/summary2/apply_resolution.dart:83:20)
#4 AnnotationImpl.accept (package:analyzer/src/dart/ast/ast.dart:280:49)
#5 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#6 ApplyResolutionVisitor.visitClassTypeAlias (package:analyzer/src/summary2/apply_resolution.dart:167:20)
#7 ClassTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:1794:49)
#8 LinkedContext.applyResolution (package:analyzer/src/summary2/bundle_reader.dart:512:11)
#9 LinkedUnitContext.applyResolution (package:analyzer/src/summary2/linked_unit_context.dart:93:25)
#10 ElementImpl.metadata (package:analyzer/src/dart/element/element.dart:2893:21)
#11 ResolutionVisitor.visitClassTypeAlias (package:analyzer/src/dart/resolver/resolution_visitor.dart:256:51)
#12 ClassTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:1794:49)
#13 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#14 CompilationUnitImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:2141:21)
#15 RecursiveAstVisitor.visitCompilationUnit (package:analyzer/dart/ast/visitor.dart:731:10)
#16 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#17 LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:680:10)
#18 LibraryAnalyzer.analyzeSync.<anonymous closure> (package:analyzer/src/dart/analysis/library_analyzer.dart:139:7)
#19 _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:387:8)
#20 LibraryAnalyzer.analyzeSync (package:analyzer/src/dart/analysis/library_analyzer.dart:138:11)
#21 LibraryAnalyzer.analyze (package:analyzer/src/dart/analysis/library_analyzer.dart:107:12)
#22 AnalysisDriver._computeResolvedLibrary2.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1414:65)
#23 PerformanceLog.run (package:analyzer/src/dart/analysis/performance_logger.dart:32:15)
#24 AnalysisDriver._computeResolvedLibrary2 (package:analyzer/src/dart/analysis/driver.dart:1400:20)
#25 AnalysisDriver._computeResolvedLibrary.<anonymous closure> (package:analyzer/src/dart/analysis/driver.dart:1393:15)
Change-Id: I6f04a325b30d9dc61e7eb1a4bba91ed8b9bcd1d3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/176060
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-14 05:37:37 +00:00
Brian Wilkerson
9dad1876d3
Suggest hidden files and folders when completing in YAML files
...
Change-Id: Icea426117c1d8c3bd014511396cebd301586baaf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175941
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-13 23:56:47 +00:00
Parker Lougheed
500e99c988
Fix _fe_analyzer_shared sdk constraint
...
This was causing issues as I believe 2.12 takes precedent over pre-releases with -x.
Change-Id: I4ca2433e266998782cdf3f677dbefd3149a1a054
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-13 20:13:37 +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
bb5b37eb5f
Flow analysis is not available outside of function bodies and initializers.
...
This fixes a group of crashes during fuzz testing.
FAILURE: typedef`(=<?[
[NoSuchMethodError: The method 'nullAwareAccess_rightBegin' was called on null.
Receiver: null
Tried calling: nullAwareAccess_rightBegin(Instance of 'ListLiteralImpl', Instance of 'InterfaceTypeImpl'), #0 Object.noSuchMethod (dart:core-patch/object_patch.dart:54:5)
#1 ResolverVisitor.startNullAwareIndexExpression (package:analyzer/src/generated/resolver.dart:776:26)
#2 ResolverVisitor.visitIndexExpression (package:analyzer/src/generated/resolver.dart:1585:5)
#3 IndexExpressionImpl.accept (package:analyzer/src/dart/ast/ast.dart:5993:49)
#4 DefaultFormalParameterImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:3008:20)
#5 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#6 UnifyingAstVisitor.visitDefaultFormalParameter (package:analyzer/dart/ast/visitor.dart:3198:65)
#7 ResolverVisitor.visitDefaultFormalParameter (package:analyzer/src/generated/resolver.dart:1239:11)
#8 DefaultFormalParameterImpl.accept (package:analyzer/src/dart/ast/ast.dart:3003:15)
#9 NodeListImpl.accept (package:analyzer/src/dart/ast/ast.dart:7611:20)
#10 FormalParameterListImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:4493:17)
#11 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#12 UnifyingAstVisitor.visitFormalParameterList (package:analyzer/dart/ast/visitor.dart:3258:59)
#13 ScopedVisitor.visitFormalParameterList (package:analyzer/src/generated/resolver.dart:2717:11)
#14 FormalParameterListImpl.accept (package:analyzer/src/dart/ast/ast.dart:4489:49)
#15 FunctionTypeAliasImpl.visitChildren (package:analyzer/src/dart/ast/ast.dart:5166:18)
#16 ResolverVisitor.visitNode (package:analyzer/src/generated/resolver.dart:1743:10)
#17 UnifyingAstVisitor.visitFunctionTypeAlias (package:analyzer/dart/ast/visitor.dart:3285:55)
#18 ScopedVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:2819:11)
#19 ResolverVisitor.visitFunctionTypeAliasInScope (package:analyzer/src/generated/resolver.dart:1490:11)
#20 ScopedVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:2812:7)
#21 ResolverVisitor.visitFunctionTypeAlias (package:analyzer/src/generated/resolver.dart:1482:13)
#22 FunctionTypeAliasImpl.accept (package:analyzer/src/dart/ast/ast.dart:5158:49)
#23 ResolverVisitor.visitCompilationUnit (package:analyzer/src/generated/resolver.dart:1088:23)
#24 CompilationUnitImpl.accept (package:analyzer/src/dart/ast/ast.dart:2134:49)
#25 LibraryAnalyzer._resolveFile (package:analyzer/src/dart/analysis/library_analyzer.dart:706:10)
Continues //dart-review.googlesource.com/c/sdk/+/175187
Change-Id: I9518363961b4adcf7f57c2f0661151ef74efc2f5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175906
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-12 17:05:32 +00:00
Sam Rawlins
140afeebc8
analyzer: Prepare some APIs for null safety; specify returns more accurately
...
Change-Id: Ia71bf5958d28c4229f68c0a1612cf44a2f283419
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175903
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-12-12 17:05:10 +00:00
Brian Wilkerson
b0efb3738f
Add enhanced testing support for dart fix
...
Change-Id: I8cf49b85142c242597542eae9306eb09be5e4149
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175920
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-12 16:46:10 +00:00
Konstantin Shcheglov
dd8401ac16
Don't write initializers of static final fields.
...
This was causing one of the new crashes in summaries.
Change-Id: I50e33a83d680070d1863f27b8ee276163b84c9d9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175905
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-12 07:27:40 +00:00
Konstantin Shcheglov
3d67e6f998
Migrate _fe_analyzer_shared to null safety.
...
Some notes.
1. `Token.next` is `Token?` because there are null(s) for comment tokens.
But I think that it is never `null` in code, because there is at
least EOF token. So, lots of `!` null checks.
2. `Link.tail` is never null when `isNotEmpty`, but the type system
cannot express it. So, some number of `!` null checks.
3. I keep assert(s) for now, and use comment
`// ignore: unnecessary_null_comparison`.
4. I disabled `can_get_rid_of_nnbd_issue_error`, I think it fails
because of changes in `_fe_analyzer_shared` language version.
Smoke test in google3 looks green.
https://test.corp.google.com/ui#id=OCL:346825148:BASE:346841611:1607632317129:6e87bf7
I have not tried yet full TAP, will do in the evening.
I have not tried yet Golem, or looked at benchmarks.
Change-Id: I651301e5d3a851dd77d73af960dac779cb0fc991
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175620
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
2020-12-12 03:22:29 +00:00
Konstantin Shcheglov
1b337c5762
Fix crash in VarianceBuilder when more type arguments than type parameters.
...
R=brianwilkerson@google.com
Change-Id: Iffdae11f93a68ad5a63c0f3b08b8f087423b0d84
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 23:20:29 +00:00
Konstantin Shcheglov
15a533f0ac
Add tests for non-function type aliases that end with question types and classes.
...
Change-Id: Id56f2e8dec535e5c7af081bf7b94c759027cac6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175865
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Samuel Rawlins <srawlins@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 21:04:39 +00:00
Sam Rawlins
17b7d05e72
Analyzer: prepare for null safety in tests: casts and late variables
...
Change-Id: I37f3663b340952b79cef0e423caf81e5950b700b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175841
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-11 19:50:39 +00:00
Konstantin Shcheglov
999321ede2
Extract TestInstrumentationService into a library, more tests.
...
R=brianwilkerson@google.com
Change-Id: I563304d4d278fa0755387122a7078b8f020c2d0d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175862
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 19:49:29 +00:00
Konstantin Shcheglov
0c9594a913
Fix a TODO to use resolved AST in ResynthesizeTestCases.
...
R=brianwilkerson@google.com
Change-Id: If9885c8bbcf34ff31459434c654e01b2f1876674
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-11 19:49:07 +00:00
Konstantin Shcheglov
96552d2524
Replace LibraryContext.loadedBundles.add with ElementFactory.
...
Change-Id: I6171e0b738d854d6065591b08bf76c261bfaf6f6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175823
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 16:54:20 +00:00
Konstantin Shcheglov
ccb34a7029
Test resynthesized elements with null safety by default, print mullabilities.
...
Change-Id: If2be6f37df5a93b9392e92d99ea7d7f461798847
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175824
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 16:54:19 +00:00
Sam Rawlins
a59a30b726
analyzer: support glob 2.0
...
Fixes https://github.com/dart-lang/sdk/issues/44429
Change-Id: Ib9851fef367486a376aa33a8a5cbcc8d2b80dc46
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-12-11 16:06:08 +00:00
Jens Johansen
739393b290
[kernel] Fix and test readComponentSource
...
This was broken after constant coverage was recorded in dill because
reading the source then needed to have the link table too (which it
doesn't have when using readComponentSource).
Fixes https://github.com/flutter/flutter/issues/71851 .
Change-Id: I90b6a185abd133c7d08fd335f69faf634684738b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175724
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-12-11 11:57:58 +00:00
Konstantin Shcheglov
b16c212776
Fix ConvertQuotes and ConvertToMutilineString when unterminated string.
...
I finally understood how to reproduce it :-)
R=brianwilkerson@google.com , pquitslund@google.com
Change-Id: Id75fa54057f7db49e8d3f8f3b6f2f25785ed4977
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175822
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 02:36:08 +00:00
Stephen Adams
cc3c70159d
[dart2js] Convert first argument to main
...
- When `main` has arguments, use a callMain shim to convert first
argument passed to `main` to a `List<String>`.
- Make js_runtime/preambles/{d8,jsshell}.js pass command line arguments to
Dart `main`.
Change-Id: I8c04bbe49366e756cfe84d1c705767e0366ee74c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/158373
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Stephen Adams <sra@google.com >
2020-12-11 01:29:28 +00:00
Konstantin Shcheglov
60ec210866
Add debug data to ApplyResolutionVisitor.
...
R=brianwilkerson@google.com
Change-Id: I4873d3101457b1287af59c61781c72e220cc9437
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175800
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-11 00:49:58 +00:00
Konstantin Shcheglov
d54acb59ae
Fix RemoveComparison for empty block in IfStatement, some refactoring.
...
A couple of new tests.
Change-Id: Iab8a6df102c8dcaa8faafec715f1556424e3b571
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175820
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2020-12-11 00:45:28 +00:00
Mark Zhou
2e97d91dcd
[dartdevc] Fixing expression eval breaks from stepping update.
...
Followup on https://dart-review.googlesource.com/c/sdk/+/173800
This change forces certain top-level containers to be emitted (even if empty) per module. These modules also carry a self-referential element so that V8 does not optimize them away.
Change-Id: Ic02adb9c4e322c29ba092951fd912019931b3871
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175445
Reviewed-by: Anna Gringauze <annagrin@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Commit-Queue: Mark Zhou <markzipan@google.com >
2020-12-11 00:18:28 +00:00
Robert Nystrom
9b647f66e7
Add a script to scrape string literal quotation data.
...
Change-Id: Ie338fddece20db0109ecbc2c508d8b3cd0d45754
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175781
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
Reviewed-by: Phil Quitslund <pquitslund@google.com >
2020-12-11 00:13:08 +00:00
Sam Rawlins
69cb9f7a67
Analyzer: Remove legacy parser (replaced by Fasta).
...
* Replace most of the implementation of Parser with the implementation
found in _Parser2, which uses Fasta.
* Rework Parser constructor to do exactly what the previous factory
constructor + _Parser2 constructor did.
* Remove _Parser2 and ParserAdapter.
* Remove `useFasta` argument in several places.
* Delete tests in parser_test.dart which only used the legacy parser.
* Move ParserProxy from parser_fasta_test.dart to parser_test.dart
* Remove ~240 cases of dead code like `if (useFasta)` and `useFasta ?`
in tests.
Change-Id: Iea29a10ff83103293902336490fbc9cd46cd20ce
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175560
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-10 23:47:48 +00:00
Konstantin Shcheglov
b63d2114aa
Switch TopLevelInferenceTest to PubPackageResolutionTest.
...
R=brianwilkerson@google.com
Change-Id: I5409e59d0b6ccf5644687840cdc9767fb8a49cf5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175584
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-10 22:08:48 +00:00
Sam Rawlins
fc80294c89
analyzer: Remove two unused parameters from _checkForMissingReturn
...
Change-Id: Iaef99649f95f8b90bd2844fe5ca8a1ad16d981e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175741
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2020-12-10 19:53:07 +00:00
Brian Wilkerson
5d99e7cdfe
Support using data-driven fixes when using deprecated APIs from the same package as the use
...
Change-Id: I0f12505bf2a772cdb9b187c170bbfa44b2ff85cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175743
Reviewed-by: Phil Quitslund <pquitslund@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-10 18:18:52 +00:00
Danny Tuppeny
c9f6e51315
[Analyzer] Update to include final LSP v3.16 changes
...
Change-Id: Icb35324308485e3a40abfcee8550ba10538a935e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2020-12-10 18:10:47 +00:00
pq
690ae7a7ba
add null check quickfix for index expressions
...
Fixes: https://github.com/dart-lang/sdk/issues/44441
Change-Id: I7cca517fa2864e6b09dd9d7971447420e59e221e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Phil Quitslund <pquitslund@google.com >
2020-12-10 15:44:47 +00:00
Johnni Winther
b24ac718ec
[cfe] Handle missing suffix recovery in body builder
...
Closes #44347
Change-Id: I576e657a74b89cad5b150f11a3af59ee1d5c963d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175660
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-10 14:00:37 +00:00
Oleksii Khomchenko
64226729c1
[corelib] Add Set.unmodifiable backed by an UnmodifiableSetView
...
UnmodifiableSetView does not have backend specific implementations
(simillar to UnmodifiableMapView, unlike UnmodifiableListView).
Closes https://github.com/dart-lang/sdk/issues/36901
Change-Id: I041bb6dc95d6a67a395ca75581ffe8e5933acdc6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/164103
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com >
Reviewed-by: Kevin Moore <kevmoo@google.com >
Reviewed-by: Stephen Adams <sra@google.com >
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com >
2020-12-10 11:00:27 +00:00
Johnni Winther
80161c3081
[cfe] Use Member.fileUri for DillMemberBuilder
...
Change-Id: Iab72b4975029fb262d4fd62a121b7d73a03edb53
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175640
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-12-10 10:17:17 +00:00
Jens Johansen
c1d2c25ef1
[CFE] Add constant coverage in expect files
...
Change-Id: I0fc009708aa6e330366ad0689c4634a1df90d9c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/175368
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-12-10 08:57:17 +00:00
Srujan Gaddam
8e663541c9
[ddc] Change is checks for JS types
...
Changes 'is' checks for JS types such that it no longer does an
instance of check and instead only checks to see if the object
in question is a JS object or appropriate subtype. This means that
any two @JS objects will pass an is check and therefore can be
casted as one another. This makes it consistent with expected
behavior and dart2js.
Also amends the README to reflect the unified behavior.
Change-Id: I11aa105d6cafbbafde482b27dcc1182c0960cce9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/173140
Reviewed-by: Nicholas Shahan <nshahan@google.com >
Commit-Queue: Srujan Gaddam <srujzs@google.com >
2020-12-10 01:38:26 +00:00
Sam Rawlins
1b130f47c1
Analyzer: Prepare some manually lazily initialized fields etc for null safety
...
* Add `/*late final*/ hints for fields which are manually lazily
initialized in a public getter.
* Switch List(size) constructor with [] list literal.
* Force a few non-nullable types.
* Remove `null` assignments in embedder_tests.dart which change type of
fields.
* Remove `null` Tokens in tests where null should not be.
Change-Id: I260657d222f6b8ca10e31d06991dc9e2cb575e5c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/171140
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2020-12-10 01:14:48 +00:00