49 Commits

Author SHA1 Message Date
Greg Spencer
5a4558f9bf Synchronizes analysis_options.yaml files, and turns on Function typedef lint. (flutter/engine#5419)
Addresses flutter/flutter#18028 for the engine repo, and synchronizes the analysis_options.yaml files between the engine and the flutter/flutter repo.
2018-05-30 16:06:05 -07:00
Alexander Aprelev
a7009740ff Roll dart to f981f097602ca434ce0a36b1f704723cad105fb6 (flutter/engine#5390)
* Roll dart to f981f097602ca434ce0a36b1f704723cad105fb6

Changes since the last roll

```
f981f09760 Revert "Clone annotations when cloning nodes that have them"
b4699ae795 Improve type parameter and type argument recovery
544863fe68 Remove the no-op rewriter tests
4d271519a1 [VM Bigint] Fix arm64 intrinsic for _estimateQuotientDigit (loop missing jump back). Add regression test. Fix arm64 disassembler (was printing "unknow" instructions). Make decoding stricter in arm64 simulator. This fix addresses https://github.com/a14n/dart-rational/issues/19
57d256377c [fuchsia] Update for port API change
c09e0121f7 Observatory strong mode fixes: add explicit downcasts to button onClick callbacks.
a5bf688622 Observatory strong mode fix: Avoid a String/Uri type mismatch.
1b0c2f4507 Observatory strong mode fix: Add VM.target getter.
210d175cc0 Observatory strong mode fix: Fix a callback parameter type using an explicit downcast.
08d0dcb4b0 Observatory strong mode fixes: specify some list literal types.
462e350a6a Observatory strong mode fixes: Change types of InstanceMock/Instance members.
6ed3b162d6 Added feature specification for upper/lower bounds of top/bottom types
abed87be08 Make BodyBuilder.handleCatchBlock use FormalParameters as catchParameters.
5016f11c08 [fasta] Make lists of type arguments growable
48e8b4cdbb Make Forest.forStatement take the conditionStatement rather than extracting the rightSeparator
2d527801b2 Observatory strong mode fixes: fix several type annotations.
0125a5a235 Observatory strong mode fixes: Fix callback parameter types using implicit casts.
c85b2fc7be Observatory strong mode fixes: Fix an int/double type mismatch
3fb22040cb Observatory strong mode fixes: make iteration types more specific.
2165d2d797 Observatory strong mode fixes: safe uses of dynamic and covariant.
6a34939ba7 Use bottom type for Link constants
20831b1d6f Move ErroneousExpressionGenerator
8e25851870 Split LargeIntAccessGenerator
7b3c3991ea Observatory strong mode fixes: add implicit downcasts.
de0e35829d Discover available files before searching in known files.
d17859ca11 Observatory strong mode fixes: make callback parameter types more general.
ca7d545df8 Follow up on initial fix-all fixes PR, https://dart-review.googlesource.com/c/sdk/+/56220, adding some assertions and a test.
922f9697a0 [VM] Fix for issue 32901 - Isolate.resolvePackageUri has inconsistent behavior when called from a script launched via relative path.
9c70462e3c [vm] Roll boringssl to 189270cd190267f5bd60cfe8f8ce7a61d07ba6f4
785f36853f Last changes to make dart2js strong mode clean when compiling itself!
993b4caf0e Make the change to ContextRoot non-breaking.
30ad3f66ce Set DDK to run on Dart-2 VM
379232a097 Convert remaining IdentifierContext consts
819b212318 Issue 33228. Fix Dart2 error in outline computer.
ec19ebd684 [vm] Fix feature detection of DBC32 versus DBC64 in snapshots with code.
00a5197542 More changes to make dart2js dart 2 strong mode clean.
2d8bf7751e CHANGELOG for invariant generic bounds
de545b4079 Revert "[mirrors] Add IsolateMirror.loadUri."
1be13871bb [ VM ] Addressed additional comments from CL 56461.
5cc3736644 [vm/frontend-server] Include errors count into compile expression response.
891efdca59 Fix status file for analyzer.
ad4cfa0260 [mirrors] Add IsolateMirror.loadUri.
a64bbbf6b3 Bump to watcher 0.9.7+8.
eb19be5ff8 [vm/tool] Teach precompiler2 script to build ELF binaries.
7c43cfad9f [vm] Mark superclasses of interfaces implemented.
2f7874ab99 [ VM ] Updated include path for typed_data_utils.h which was causing Flutter build to fail.
3c6907ed0d [vm/kernel/aot] Approximate numerous invocations per selector in TFA
75a75263d3 Clone annotations when cloning nodes that have them
d3da30c152 Report errors on non-synthetic tokens
351d70674d Initial new union of Dart Analysis Fixes, the initial fix is to remove all unused imports in a file.
e8bb129816 Adjusted setter conflict specification, cf. #33077
0a042a270f Fix a bug in the async transformation of let expressions
6fc0c1fa4f [vm/kernel] Only create zone handles when necessary (e.g. in IR instructions, LocalVariable).
735f7bdcec Updated for expected FF failure.
02bcbc12fa [vm/kernel] Fix partial instantiation implementation in StreamingConstantEvaluator.
8d4a1ccaf6 Split ReadOnlyAccessGenerator
ee9e1c1571 Split TypeUseGenerator
9ec756b31c Split DeferredAccessGenerator
163807ad40 Split LoadLibraryGenerator
51fa5c1662 Correctly transform async functions with FutureOr return types
bca70073ae [vm/kernel] Move kernel2kenrel "constants" transformation before TFA
1d8a72cacd Split StaticAccessGenerator
2d46ebd6a5 Fix Dart 2 runtime errors in the front end
89514bd8cf Cleanup library_loader.
21b65a9732 Remove unused typedef code
18407141b7 Split deferred load entity computation by class, member and local function
b84f18e392 [VM] Mark seemingly consistently failing test on windows
d07b9aa0e0 Add explicit type args on generators
b3862d5a92 Split SuperIndexedAccessGenerator
0ec82e24ce Avoid late creation of entities.
1d59ab22ce Fix #29014, make function type parameters invariant.
4d7bbb53ab Use AbstractValue in ClosedWorld
89f37416fe Fix windows bot breakage for package:build tests.
9b44fc39c8 Deprecate chaseDependencies option.
05f96af05a [ VM ] Fix failing non-UTF8 path test on MacOS
c541cda216 [ VM ] Fixed issue where error code was being clobbered by call to Dart_TypedDataReleaseData on Windows, resulting in OSError returning a 0 error instead of the true error code.
a00dae2260 Update test_parseAwaitExpression_inSync
9cd0e808db Convert more identifier contexts
552680b7f0 First round of changes to dart2js to make it strong mode clean.
cc4fe66de8 Replace parseTypeVariables with computeTypeParam
c3b6df5eb7 Update dartdoc and dependencies to v0.19.1.
3ab7cf0590 Revert "[dart:io] Revert recent non-utf8 path handling"
7c59fe6332 Flip dartfmt to run in Dart 2 mode.
ade600c4b3 Update constructor identifier context
e35ed9c749 [ VM / Build ] Added '--no-include-kernel-service' to build.py. By default, the kernel service is now included in all build modes, including product mode. Providing '--no-include-kernel-service' will build the specified configuration without the kernel service.
e5eee0d57a Add Forest support for labeled statements
83e29023f4 Add schema-based file system
8f4c9bcf15 Add single-root file system.
1567b442dd Add Forest support for catch clauses
9816fce289 Fixed to use catchError instead of try/catch.
88d847ea3e [release] Prepare CHANGELOG.md for 2.0.0-dev.58.0
2a5724c75c New package:build workspace before we support it at the language level
4f5db3aef2 Update pub DEP – includes Dart2 type fixes
0a9697596e Add Forest support for for statements
4fb0c60938 [vm/kernel] Set active class when evaluating Dart annotations
8427d53a4d Extra precedence level in parser to distinguish postfix operators and selectors
1ce9b2541b Replace call to parseTypeVariablesOpt with computeTypeParam
f7e09684b6 Split IndexedAccessGenerator and ThisIndexedAccessGenerator
9f3cd54d3b Remove UnhandledListener
98fcc338ca Fix diet_listener.dart imports
3a5454a691 Split SuperPropertyAccessGenerator
e0144d51bb [VM] Add UNREACHABLE() to AOT constant evaluator in the VM
fa6fd26892 Remove unused IdentifierContext instance
cbe76eeea0 [release] Prepare changelog for 2.0.0-dev.57.0
e62f37f396 Tighten failure and success of test.
a80dfa12d7 Revert "Add colons"
443c23c091 Remove subpackage_relationships_test.dart
7583fb882a [vm] Refactor state bits to free up two bits on Function.
0271003c33 Extract parseFunctionLiteral from parseType
b8cb785aed Improve formal parameter identifier recovery
9f1097948a [fasta] Add and use a type-inference-specific interface of BodyBuilder
3960cacc89 Make peek return null when the stack is empty
3582e30d8e [VM] Remove unused _Random._A field in Dart sources and make constant in C++ code instead
f8cca09ce3 [VM] Do not invoke the empty StackOverflowError/OutOfMemoryError constructors
39bccc125d Split NullAwarePropertyAccessGenerator
29253c57ed Add colons
fc95fd920b Move generators out of body_builder
39516de753 Split ThisPropertyAccessGenerator
2d79c356e0 Start creating common superclass for generators
2a7188523e Fixed status
cf87b84f7d Support Promise to Future for both DDC and dart2js.
6d8f473d4f [ VM / Hot Reload ] Updated kernel_service and hot reload behavior to run as long as the compiler returns valid kernel.
f4f79acb61 Improve annotation identifier recovery
3bdd173175 Call computeType rather than parseType
2c8c05f877 [dart2js] merge generator body into empty entry function
96cfc632bb [infra] Use a less specific browser version that works across platforms
3ac2a3fe19 Address comment from 55981
8c0f5747a0 Add build_integration package and move multi_root_file_system there.
ba0da68563 Update status for new test
3f6c87d5ac [vm/compiler] Do not use Constant(#null) to reserve space on the expression stack.
a756248065 Add Forest support for assert statements and initializers
a9ab8f4e7d [GN] Hack around Dart 2 application_snapshot deps issue
298129c3a4 Improve part of identifier recovery
371c8e4b87 Append version and CRC32 to data in FileByteStore.
6cc0d9770f Skip expressions by parsing them with a no-op listener.
3ccd5a06f5 [js_runtime] Fix for 'o is FutureOr<T>' with function type T
d34fe65afa Revert "New package:build workspace before we support it at the language level."
580e486386 Make CastStreamSubscription.onData handle a null callback
2a8eb8089d [infra] Specify chrome version used by builds running on the test matrix
eeec6466b6 Convert the command-line analyzer to a dart 2 snapshot.
89df6b785d Issue 33181. Use RefactoringWorkspace in rename refactoring to determine when element being renamed is outside the workspace.
85ddeb990a [release] Prepare changelog for 2.0.0-dev.56.0
7ff8adcec9 Fix an incorrect dart:mirrors test
08d466bfad [kernel] Treat TypeParameter.defaultType as a child in visit methods
330dcb19da Rename remaining generators
2c9d8924e3 [fasta] Make explicit Object in bound a constraint during type inference
5924c35640 Prepare to remove expression_generator_impl.dart
c771e4d132 DDC: disallow ignore option on Stream cast failures
e191d4feb5 Simplify errors on invalid arguments
7ab9ea0e4e Change return type of Fangorn.parenthesizedCondition
09582b46ea Remove FastaAccessor and Accessor
a738567968 Convert ContextAccessor to ContextAwareGenerator
bbdf560ee7 Convert UnresolvedAccessor to UnresolvedNameGenerator
b5c6143d74 Convert IncompleteSend to IncompleteSendGenerator
63ff7ee922 [vm/interpreter] Support closures in bytecode. Support reordered bytecode metadata sections. For now, read but ignore exceptions table in bytecode metadata.
e1cabfd1d4 [dart2js]  'Fix' error in registrations
49d5ca3bb4 Switch to BigInt for ConstantValue.
9696c9dcd0 Change analysis_server tests to use /project/test.dart as the test file.
e71bd048e5 [vm, kernel] Fix async stack code traversal in dart2.
714697efbb [vm/kernel/bytecode] Write constant pool before bytecode and exceptions table
80b48195b1 [frontend-server] Serialize compiled expression procedure into the file.
68b19b4ff4 [vm/kernel/bytecode] Add invocation kind to StaticICData constant
929b79e865 [dart2js] Don't insert redundant checks
4cf51e6c1a Give (the old) ContextRoot path.Context to work with paths.
bea580c3a4 Disallow ignore on any explicit cast failures
1cf871a4d2 Improve import/export combinator identifier recovery
79a0ef60e0 Fix for 'Convert to final field' quick assist when no return type.
bbb8905075 Observatory strong mode fixes: specify type argument to .map when not inferable.
841a91b3a0 Observatory strong mode fixes: Add abstract Location.toUserString to Location.
fc206a7589 Add Kill isolate service request.
aad3270ab8 Observatory strong mode fixes: fix C-style parameter declarations.
ea4d10915c Observatory strong mode fixes: make return types more specific.
0f506ba3ae Added period to comment for consistency.
5ab4294074 [vm] Allow for creating a CoreJIT snapshot from a kernel file.
d5b99860e4 [frontend-server] Introduce compile-expression command.
ac8971a98a New package:build workspace before we support it at the language level.
99eb2195c8 Add Forest support for break and continue statements
4d3ebab589 [vm] Fix error message when an API function is called without a current isolate.
c31b9a461d [vm/kernel] Reference constants in Dill by offset into constants table.
0ff6c20c66 Add Forest support for return statements
85fbc71f22 More test framework cleanup
6202749429 [vm/kernel/bytecode] Support try-catch-finally in bytecode generator
78cc8a13a2 Improve type parameter recovery
3e7eef12d4 Remove reference to token.previous
5b4d67b22e Compute runtime completions in the context file itsef.
720b6c963c Improve some tests and fix a Dart 2 error
ff76905aeb [dart2js] Don't try to generate stubs for generator bodies
4610daa1c1 Convert ThisAccessor to ThisAccessGenerator
cb9bf910f9 Test that fasta_codes_generated.dart is up to date
eec11ebe4a Convert ErrorAccessor to ErroneousExpressionGenerator
a155d6c9e5 Update dependencies on async, collection, http_throttle packages
ce1dc86620 Adjust status file.
21fbf7d767 fix #33103, switch dartdevk to use Kernel nSM stubs
5632b1cb47 Adjust status file for precompiled target (see issue 33168)
41468e7c03 [VM] bypass some app_jit tests which have issues with mismatched VM options between the snapshot version and the invoked dart process.
c38bca632d [fuchsia] Fix bad state error on namespace cleanup
b911f78ee2 Use AbstractValue/AbstractValueDomain in function_set.dart
c9ea44bd8f Use the static type from the identifier element is local completions.
715ba58048 Remove reference to token.previous
4edb23cfc1 Bump to linter 0.1.51.
2ff2af7921 Allow running pub with --preview-dart-2
7aacf7e188 [ VM / dart:io ] Fixed memory leak in SecurityContext on MacOS.
ada23cde0b Add deferred test for local functions
f1f660fe1e Small cleanup
9f6e8a3a96 Move DDC to Dart 2 snapshot
be5b189c19 Exclude synthetic import prefixes from runtime completion.
7ac05a120a Add Forest support for do statements
029e1394f7 Make type promotion conditional depending on which builder is being used
817965f49d Runtime completion support for constructors, for loops, and function expressions.
02e47a9731 [VM] Fix for issue 32188 (cannot use `pub` with --preview-dart-2)
```

* Update license. Fix to license script to accommodate boringssl additional build-time license

* Revert changes to pubspec.lock

* Roll to buildroot with boringssl fix

* Update license
2018-05-26 12:17:26 -07:00
Todd Volkert
47746e586a Revert "Dart SDK roll for 2018-05-25" (flutter/engine#5384)
Reverts flutter/engine#5376

It was causing failures of the sort:

$ flutter test --local-engine=host_debug_unopt test/cupertino/scrollbar_paint_test.dart
00:06 +0: - Paints iOS spec                                                                                                                                                                                                
══╡ EXCEPTION CAUGHT BY FLUTTER TEST FRAMEWORK ╞════════════════════════════════════════════════════
The following TestFailure object was thrown running a test:
  Expected: Object or closure painting: 'a rounded rectangle with Color(0x99777777),
  RRect.fromLTRBR(795.0, 4.0, 797.5, 86.0, 1.3)'
  Actual: ?:<exactly one widget with type "CupertinoScrollbar" (ignoring offstage widgets):
  CupertinoScrollbar(state: _CupertinoScrollbarState#c371a(tickers: tracking 1 ticker))>
   Which: threw the following exception:
          '': error: native function 'Canvas_translate' (3 arguments) cannot be found
2018-05-25 14:47:31 -07:00
Ben Konyi
0f97c842e4 Dart SDK roll for 2018-05-25 (flutter/engine#5376)
1be13871bb7 [ VM ] Addressed additional comments from CL 56461.
5cc37366445 [vm/frontend-server] Include errors count into compile expression response.
891efdca599 Fix status file for analyzer.
ad4cfa0260f [mirrors] Add IsolateMirror.loadUri.
a64bbbf6b30 Bump to watcher 0.9.7+8.
eb19be5ff84 [vm/tool] Teach precompiler2 script to build ELF binaries.
7c43cfad9fd [vm] Mark superclasses of interfaces implemented.
2f7874ab99a [ VM ] Updated include path for typed_data_utils.h which was causing Flutter build to fail.
3c6907ed0d2 [vm/kernel/aot] Approximate numerous invocations per selector in TFA
75a75263d35 Clone annotations when cloning nodes that have them
d3da30c152e Report errors on non-synthetic tokens
351d70674d2 Initial new union of Dart Analysis Fixes, the initial fix is to remove all unused imports in a file.
e8bb129816f Adjusted setter conflict specification, cf. #33077
0a042a270f5 Fix a bug in the async transformation of let expressions
6fc0c1fa4fb [vm/kernel] Only create zone handles when necessary (e.g. in IR instructions, LocalVariable).
735f7bdcec5 Updated for expected FF failure.
02bcbc12fa2 [vm/kernel] Fix partial instantiation implementation in StreamingConstantEvaluator.
8d4a1ccaf6d Split ReadOnlyAccessGenerator
ee9e1c15719 Split TypeUseGenerator
9ec756b31c7 Split DeferredAccessGenerator
163807ad406 Split LoadLibraryGenerator
51fa5c16628 Correctly transform async functions with FutureOr return types
bca70073ae0 [vm/kernel] Move kernel2kenrel "constants" transformation before TFA
1d8a72cacdf Split StaticAccessGenerator
2d46ebd6a5c Fix Dart 2 runtime errors in the front end
89514bd8cf7 Cleanup library_loader.
21b65a97328 Remove unused typedef code
18407141b7a Split deferred load entity computation by class, member and local function
b84f18e3929 [VM] Mark seemingly consistently failing test on windows
d07b9aa0e07 Add explicit type args on generators
b3862d5a922 Split SuperIndexedAccessGenerator
0ec82e24ce1 Avoid late creation of entities.
1d59ab22ce1 Fix #29014, make function type parameters invariant.
4d7bbb53ab5 Use AbstractValue in ClosedWorld
89f37416fec Fix windows bot breakage for package:build tests.
9b44fc39c86 Deprecate chaseDependencies option.
05f96af05a9 [ VM ] Fix failing non-UTF8 path test on MacOS
c541cda2161 [ VM ] Fixed issue where error code was being clobbered by call to Dart_TypedDataReleaseData on Windows, resulting in OSError returning a 0 error instead of the true error code.
a00dae22601 Update test_parseAwaitExpression_inSync
9cd0e808db2 Convert more identifier contexts
552680b7f04 First round of changes to dart2js to make it strong mode clean.
cc4fe66de8f Replace parseTypeVariables with computeTypeParam
c3b6df5eb79 Update dartdoc and dependencies to v0.19.1.
3ab7cf05904 Revert "[dart:io] Revert recent non-utf8 path handling"
7c59fe63326 Flip dartfmt to run in Dart 2 mode.
ade600c4b39 Update constructor identifier context
e35ed9c7495 [ VM / Build ] Added '--no-include-kernel-service' to build.py. By default, the kernel service is now included in all build modes, including product mode. Providing '--no-include-kernel-service' will build the specified configuration without the kernel service.
e5eee0d57a1 Add Forest support for labeled statements
83e29023f4d Add schema-based file system
8f4c9bcf159 Add single-root file system.
1567b442ddc Add Forest support for catch clauses
9816fce2897 Fixed to use catchError instead of try/catch.
88d847ea3e6 [release] Prepare CHANGELOG.md for 2.0.0-dev.58.0
2a5724c75c8 New package:build workspace before we support it at the language level
4f5db3aef2c Update pub DEP – includes Dart2 type fixes
0a9697596e3 Add Forest support for for statements
4fb0c609387 [vm/kernel] Set active class when evaluating Dart annotations
8427d53a4d8 Extra precedence level in parser to distinguish postfix operators and selectors
1ce9b2541b9 Replace call to parseTypeVariablesOpt with computeTypeParam
f7e09684b6d Split IndexedAccessGenerator and ThisIndexedAccessGenerator
9f3cd54d3bb Remove UnhandledListener
98fcc338ca0 Fix diet_listener.dart imports
3a5454a691c Split SuperPropertyAccessGenerator
e0144d51bbe [VM] Add UNREACHABLE() to AOT constant evaluator in the VM
fa6fd268923 Remove unused IdentifierContext instance
cbe76eeea01 [release] Prepare changelog for 2.0.0-dev.57.0
e62f37f3961 Tighten failure and success of test.
a80dfa12d7c Revert "Add colons"
443c23c0913 Remove subpackage_relationships_test.dart
7583fb882ab [vm] Refactor state bits to free up two bits on Function.
0271003c332 Extract parseFunctionLiteral from parseType
b8cb785aed9 Improve formal parameter identifier recovery
9f1097948af [fasta] Add and use a type-inference-specific interface of BodyBuilder
3960cacc89e Make peek return null when the stack is empty
3582e30d8ec [VM] Remove unused _Random._A field in Dart sources and make constant in C++ code instead
f8cca09ce3d [VM] Do not invoke the empty StackOverflowError/OutOfMemoryError constructors
39bccc125d0 Split NullAwarePropertyAccessGenerator
29253c57edd Add colons
fc95fd920bb Move generators out of body_builder
39516de7531 Split ThisPropertyAccessGenerator
2d79c356e09 Start creating common superclass for generators
2a7188523e6 Fixed status
cf87b84f7d5 Support Promise to Future for both DDC and dart2js.
6d8f473d4f6 [ VM / Hot Reload ] Updated kernel_service and hot reload behavior to run as long as the compiler returns valid kernel.
f4f79acb61d Improve annotation identifier recovery
3bdd1731753 Call computeType rather than parseType
2c8c05f877b [dart2js] merge generator body into empty entry function
96cfc632bb0 [infra] Use a less specific browser version that works across platforms
3ac2a3fe19c Address comment from 55981
8c0f5747a08 Add build_integration package and move multi_root_file_system there.
ba0da68563f Update status for new test
3f6c87d5ace [vm/compiler] Do not use Constant(#null) to reserve space on the expression stack.
a7562480655 Add Forest support for assert statements and initializers
a9ab8f4e7d2 [GN] Hack around Dart 2 application_snapshot deps issue
298129c3a42 Improve part of identifier recovery
371c8e4b870 Append version and CRC32 to data in FileByteStore.
6cc0d9770f7 Skip expressions by parsing them with a no-op listener.
3ccd5a06f5f [js_runtime] Fix for 'o is FutureOr<T>' with function type T
d34fe65afad Revert "New package:build workspace before we support it at the language level."
580e486386d Make CastStreamSubscription.onData handle a null callback
2a8eb8089dc [infra] Specify chrome version used by builds running on the test matrix
eeec6466b6a Convert the command-line analyzer to a dart 2 snapshot.
89df6b785d3 Issue 33181. Use RefactoringWorkspace in rename refactoring to determine when element being renamed is outside the workspace.
85ddeb990a8 [release] Prepare changelog for 2.0.0-dev.56.0
7ff8adcec9d Fix an incorrect dart:mirrors test
08d466bfad9 [kernel] Treat TypeParameter.defaultType as a child in visit methods
330dcb19dab Rename remaining generators
2c9d8924e31 [fasta] Make explicit Object in bound a constraint during type inference
5924c356401 Prepare to remove expression_generator_impl.dart
c771e4d1325 DDC: disallow ignore option on Stream cast failures
e191d4feb5f Simplify errors on invalid arguments
7ab9ea0e4e0 Change return type of Fangorn.parenthesizedCondition
09582b46ea0 Remove FastaAccessor and Accessor
a7385679685 Convert ContextAccessor to ContextAwareGenerator
bbdf560ee7e Convert UnresolvedAccessor to UnresolvedNameGenerator
b5c6143d74d Convert IncompleteSend to IncompleteSendGenerator
63ff7ee922f [vm/interpreter] Support closures in bytecode. Support reordered bytecode metadata sections. For now, read but ignore exceptions table in bytecode metadata.
e1cabfd1d43 [dart2js]  'Fix' error in registrations
49d5ca3bb4d Switch to BigInt for ConstantValue.
9696c9dcd08 Change analysis_server tests to use /project/test.dart as the test file.
e71bd048e57 [vm, kernel] Fix async stack code traversal in dart2.
714697efbb9 [vm/kernel/bytecode] Write constant pool before bytecode and exceptions table
80b48195b16 [frontend-server] Serialize compiled expression procedure into the file.
68b19b4ff44 [vm/kernel/bytecode] Add invocation kind to StaticICData constant
929b79e8653 [dart2js] Don't insert redundant checks
4cf51e6c1af Give (the old) ContextRoot path.Context to work with paths.
bea580c3a45 Disallow ignore on any explicit cast failures
1cf871a4d26 Improve import/export combinator identifier recovery
79a0ef60e01 Fix for 'Convert to final field' quick assist when no return type.
bbb8905075f Observatory strong mode fixes: specify type argument to .map when not inferable.
841a91b3a01 Observatory strong mode fixes: Add abstract Location.toUserString to Location.
fc206a7589a Add Kill isolate service request.
aad3270ab81 Observatory strong mode fixes: fix C-style parameter declarations.
ea4d10915c0 Observatory strong mode fixes: make return types more specific.
0f506ba3ae9 Added period to comment for consistency.
5ab42940745 [vm] Allow for creating a CoreJIT snapshot from a kernel file.
d5b99860e40 [frontend-server] Introduce compile-expression command.
ac8971a98a8 New package:build workspace before we support it at the language level.
99eb2195c8e Add Forest support for break and continue statements
4d3ebab589e [vm] Fix error message when an API function is called without a current isolate.
c31b9a461d9 [vm/kernel] Reference constants in Dill by offset into constants table.
0ff6c20c666 Add Forest support for return statements
85fbc71f225 More test framework cleanup
62027494294 [vm/kernel/bytecode] Support try-catch-finally in bytecode generator
78cc8a13a2b Improve type parameter recovery
3e7eef12d4d Remove reference to token.previous
5b4d67b22e1 Compute runtime completions in the context file itsef.
720b6c963c4 Improve some tests and fix a Dart 2 error
ff76905aebb [dart2js] Don't try to generate stubs for generator bodies
4610daa1c10 Convert ThisAccessor to ThisAccessGenerator
cb9bf910f9b Test that fasta_codes_generated.dart is up to date
eec11ebe4af Convert ErrorAccessor to ErroneousExpressionGenerator
a155d6c9e59 Update dependencies on async, collection, http_throttle packages
ce1dc866207 Adjust status file.
21fbf7d7677 fix #33103, switch dartdevk to use Kernel nSM stubs
5632b1cb473 Adjust status file for precompiled target (see issue 33168)
41468e7c031 [VM] bypass some app_jit tests which have issues with mismatched VM options between the snapshot version and the invoked dart process.
c38bca632df [fuchsia] Fix bad state error on namespace cleanup
b911f78ee23 Use AbstractValue/AbstractValueDomain in function_set.dart
c9ea44bd8fe Use the static type from the identifier element is local completions.
715ba58048d Remove reference to token.previous
4edb23cfc17 Bump to linter 0.1.51.
2ff2af79213 Allow running pub with --preview-dart-2
7aacf7e188b [ VM / dart:io ] Fixed memory leak in SecurityContext on MacOS.
ada23cde0b8 Add deferred test for local functions
f1f660fe1e6 Small cleanup
9f6e8a3a96a Move DDC to Dart 2 snapshot
be5b189c19c Exclude synthetic import prefixes from runtime completion.
7ac05a120ad Add Forest support for do statements
029e1394f7d Make type promotion conditional depending on which builder is being used
817965f49d1 Runtime completion support for constructors, for loops, and function expressions.
02e47a97313 [VM] Fix for issue 32188 (cannot use `pub` with --preview-dart-2)
2018-05-25 10:37:58 -07:00
Alexander Aprelev
00424d36f7 Perform exit from server, not starter as awaiting from starter causes hanging in incremental compilation scenario. (flutter/engine#4955) 2018-04-09 14:34:46 -07:00
Alexander Aprelev
0f5bffce62 Return non-zero exit code when frontend reports errors. (flutter/engine#4952) 2018-04-09 13:06:59 -07:00
Alexander Aprelev
8dc44e0d70 Leave only widget creation tracker kernel pass in flutter frontend server. (flutter/engine#4727)
* Leave only widget creation tracker kernel pass in flutter frontend server.

This is follow-up to https://dart-review.googlesource.com/c/sdk/+/43888.

* Adapt to updated interface

* Tyop

* Fix imports. Compiler interface extension

* Add trivial test back. Rename library to flutter_frontend_server.
2018-03-02 07:52:19 -08:00
Alexander Markov
8bd1d0d50e Move generated entry points JSON out of flutter_patched_sdk, add an option to pass entry points to frontend_server (flutter/engine#4734)
Flutter downloads only one version of flutter_patched_sdk, which was obtained from host_debug build on Linux. Generated entry points JSON files are different in profile and release builds (as release build omits observatory), so these files should be downloaded independently of flutter_patched_sdk.

This PR moves generated entry points JSON files from flutter_patched_sdk to a separate directory (out/*/dart_entry_points) and adds an option to specify entry points to frontend_server (as Flutter tools will need to pass custom locations of entry points files outside of flutter_patched_sdk).
2018-03-01 14:02:35 -08:00
jensjoha
ae33eb844f Specify sdkSummary when compiling via frontend server (flutter/engine#4733)
Without specifying sdkSummary it defaults to vm_outline.dill which is not what we want if using mixins from the sdk.
2018-03-01 11:32:08 +01:00
Alexander Markov
446118c542 Prepare to enable global type flow analysis in AOT (flutter/engine#4725)
* Generate Flutter-specific entry points JSON file while building engine.
* Add ''--tfa' option to front-end server.
* Rename _entryPoint field in front-end server to _mainSource to avoid disambiguation.
2018-02-28 15:31:52 -08:00
Alexander Aprelev
91babc8e83 Fix analyzer warning. (flutter/engine#4715)
* Fix analyzer warning.

  warning • This function declares a return type of 'Future<void>', but doesn't end with a return statement at flutter/frontend_server/lib/server.dart:340:1 • missing_return

* Remove await

* Ignore warning.
2018-02-26 10:56:51 -08:00
Alexander Aprelev
a9798b413c Add an option '--depfile' to produce ninja-style depfile for the generated kernel. (flutter/engine#4704)
* Add an option '--depfile' to produce ninja-style depfile for the generated kernel file.

* Use [program.uriToSource] as a source of dependencies.
2018-02-26 08:55:20 -08:00
Alexander Aprelev
294daddbf1 Add option for recompile request to switch to new main file(entrypoint). (flutter/engine#4703)
* Add option for recompile request to switch to new main file(entrypoint).

This is needed to reuse incremental compiler to compile unrelated programs. First use case is reuse single
incremental compiler for all tests run by 'flutter test'

* Remove left over print
2018-02-22 23:08:54 -08:00
Alexander Aprelev
9742ed5cb6 Write artifacts produced during frontend_server training into temp folder. (flutter/engine#4687)
* Write artifacts produced during frontend_server training into temp folder.

* Write artifacts produced during frontend_server training into temp folder.

* Fix File/String mixup

* Remove temp directory. Use full prefix for package

* Delete in finally {}
2018-02-18 14:48:55 -08:00
Alexander Aprelev
c5feb1bb10 Remove workaround for handling of relative paths (flutter/engine#4673) 2018-02-13 18:46:00 -08:00
Alexander Aprelev
c69188ad9f Add output path option (flutter/engine#4663) 2018-02-13 14:00:34 -08:00
Jacob Richman
a98c9a16a6 Track widget creation locations. (flutter/engine#4529)
* Track widget creation locations.
2018-02-13 12:33:23 -08:00
Alexander Aprelev
69c776b209 Switch to accept/reject-friendly incremental compiler (flutter/engine#4601)
* Switch to accept/reject-friendly incremental compiler

* Merge
2018-02-13 06:58:04 -08:00
Alexander Aprelev
d8718d5feb Use Uri.file expecting filepath (flutter/engine#4646) 2018-02-07 15:24:44 -08:00
jensjoha
b7a3eb583d Let frontend_server bootstrap the incremental compiler from a previou… (flutter/engine#4642)
* Let frontend_server bootstrap the incremental compiler from a previously build dill file

* Wrap 'invalidateIfBootstrapping' in try and don't bootstrap if getting an exception
2018-02-07 14:03:05 -08:00
Alexander Aprelev
b4425bcd06 Fix default value for 'packages' option to be null (flutter/engine#4570) 2018-01-18 17:12:29 -08:00
Alexander Aprelev
a8e9231915 Accommodate flutter test --preview-dart-2 on windows and linux (flutter/engine#4564)
* Support .packages option in frontend_server, bundle_path in main_mac.

This is needed to be able to run  in  mode.

* Remove byte store tests

* Remove unused import

* Fix formatting

* Enable flutter test argument passing on win and linux.

* Fix formatting
2018-01-18 16:05:19 -08:00
Siva Chandra
f8600043cc Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06. (flutter/engine#4558)
* Roll Dart to 93d8c9fe2a2c22dc95ec85866af108cfab71ad06.

* Fix analyzer nits

* Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get

* Pin dart to dev.16 to overcome pub issue

* Revert "Try to pin dependency for tools/licenses to convert 2.0.1. Add verbose flag to pub get"

This reverts commit d525a83f4494a511996226d328a5208d4651d46e as it is no
longer needed, was added to diagnose the problem, which turned out to be
a problem with pub in latest dart dev release.

* Fix license hash

* Reintroduce api methods and tests
2018-01-18 12:35:09 -08:00
Ian Hickson
28564ac5f9 Analysis cleanup of the Dart in the Engine repo (flutter/engine#4554)
* Analysis cleanup of the Dart in the Engine repo

* Update painting.dart

* Update painting.dart
2018-01-17 09:48:56 -08:00
jensjoha
54fdc2f5ae Train frontend_server snapshot (flutter/engine#4560)
Reland d7e7abbcc2dfac04861e257a35d5e6314f27e182 with a fix for Windows build

Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-17 10:33:10 +01:00
Alexander Aprelev
c03cd3798d Revert "Train frontend_server snapshot (#4512)" (flutter/engine#4556)
This reverts commit d7e7abbcc2dfac04861e257a35d5e6314f27e182 as it
breaks Windows engine buildbot.
2018-01-16 10:05:00 -08:00
jensjoha
d7e7abbcc2 Train frontend_server snapshot (flutter/engine#4512)
Cuts 30% from hot-reload benchmarks with `--preview-dart-2`
2018-01-15 15:59:57 +01:00
Siva
04d910f0b1 Add support for --strong option in the engine, create a strong mode version of the platform file (flutter/engine#4504)
* Add a --strong option to the front end server so we can use strong mode with preview-dart-2.

* Plumb the --strong option through the dart controller into the VM.

* - Build a strong version of platform.dill for use with the engine.
- Fix a strong mode static error in the assert statement

* Enable asserts when running debug version even in strong mode.

* Use the correct platform dill file for linking when doing the aot builds.

* Fix formatting issue.
2018-01-03 16:52:24 -08:00
Alexander Aprelev
12e9e426fa Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)" (flutter/engine#4506)
* Revert "Revert "Fix filename handling for Windows. (#4482)" (#4484)"

This reverts commit fc9dac8435bc01141c549436262139ad7cee8c93.

Reverting now since issue with
gen_snapshot(as described in https://github.com/flutter/flutter/issues/13708) was fixed.

* resolve->resolveUri, drop underscores

* Fix underscore
2018-01-03 09:43:35 -08:00
Alexander Aprelev
fc9dac8435 Revert "Fix filename handling for Windows. (#4482)" (flutter/engine#4484)
This reverts commit d65485dd0e61dc3a21920e0132bb37b8da37720c.

This change is not sufficient as it exposes problem with kernel-based
gen_snapshot on Windows and results in Flutter test failures.
2017-12-20 22:55:27 -08:00
Alexander Aprelev
d65485dd0e Fix filename handling for Windows. (flutter/engine#4482)
* Fix filename handling for Windows.

Bug: https://github.com/flutter/flutter/issues/13708

* Fix tyop

* Add final to make analyzer happy
2017-12-20 16:40:18 -08:00
Vyacheslav Egorov
88e1e258a7 Fix frontend_server error reporting. (flutter/engine#4461)
* Do not use CompilerOptions.onError to report errors.

CompilerMessage does not carry correct SourceSpan
which makes errors unreadable: they all point to
line 1 column XYZ.

* Run dartfmt on frontend_server/lib/server.dart.

* Fix linting issues for frontend_server
2017-12-14 16:26:53 +01:00
Alexander Markov
e7d9371831 Front-end server: use VM-specific package:vm/kernel_front_end (flutter/engine#4412)
* Use the VM-specific wrapper for the kernel front-end to support VM-specific kernel transformations.
* Also, pass a flag to distinguish AOT mode from JIT mode to enable whole-program optimizations.
2017-12-02 17:37:32 -08:00
Alexander Aprelev
e05c8cc2d8 Roll dart to 48a927acb2dc4178691b4ddfa817e87043e30b01 (flutter/engine#4409)
* Roll dart to f5fc335a4cdfcf96ae550044c64044ffe599e595

* Update license hash

* Roll a little further to pick up a revert

* Update hash
2017-12-01 11:13:31 -08:00
Alexander Aprelev
35acd03c15 Run frontend server from temp directory to force absolute URIs in Kernel file. (flutter/engine#4394)
* Run frontend server from temp directory to force absolute URIs in Kernel file.

* Create special directory to cwd into to avoid conflicts with app sources in temp folder

* Make variable final
2017-11-28 13:58:51 -08:00
Alexander Aprelev
eca8948a88 Turn off smart minimal IKG compilation (flutter/engine#4383) 2017-11-21 16:09:41 -08:00
Alexander Aprelev
dcdf709491 Make sure we await for the file writing to complete before reporting that compilation is done. (flutter/engine#4210) 2017-10-12 13:39:19 -07:00
Alexander Aprelev
df45191b54 Add an option to link platform.dill into app kernel file (flutter/engine#4204) 2017-10-12 10:11:47 -07:00
Alexander Aprelev
cf981ae074 Add an option to specify file byte store location (flutter/engine#4201) 2017-10-11 17:33:22 -07:00
Alexander Aprelev
d73c211831 Add reset method to reset incremental compiler. (flutter/engine#4187)
* Add reset method to reset incremental compiler.

This is needed to support Flutter app restart request.

* Indent constructor calls
2017-10-09 14:58:27 -07:00
Alexander Markov
2b0120bc36 Roll Dart to 9ee73fe322ce3875a6b1f16ba16d64b11c680e90 (flutter/engine#4176)
* Switch from FlutterFastaTarget to FlutterTarget as FlutterFastaTarget was removed.
2017-10-04 16:28:30 -07:00
Alexander Aprelev
6b506e5dd2 Switch from FlutterTarget to FlutterFastaTarget (flutter/engine#4169) 2017-10-03 13:57:18 -07:00
Alexander Aprelev
a87bbccccd Capture all aspects of messages from compiler (flutter/engine#4118)
* Capture all aspects of messages from compiler

* Make static
2017-09-15 16:04:58 -07:00
Alexander Aprelev
93c9eb30ef Use MemoryByteStore for incremental compilation (flutter/engine#4077) 2017-09-08 13:06:34 -07:00
Alexander Aprelev
4009e524e8 Return generated kernel filename on incremental compilation results. (flutter/engine#4069) 2017-09-06 15:13:25 -07:00
Alexander Aprelev
93713ea712 Use BinaryPrinter instead of KernelSerializer to accommodate IKG (flutter/engine#4058)
* Use BinaryPrinter instead of KernelSerializer to accomodate IKG

* Close sink opened with openWrite
2017-09-05 10:14:59 -07:00
Alexander Aprelev
cf23a4d599 Fix frontend_server problem with _filename not being set in compile. (flutter/engine#3998)
* Fix problem with _filename not being set. Add tests for that(and add mockito to mock IKG).

* Initialize KernelSerializer, Fix indentation

* Style nits and reworded comment
2017-08-22 11:19:24 -07:00
Alexander Aprelev
e859ef3093 Missed one feedback item from https://github.com/flutter/engine/pull/3982 (flutter/engine#3996) 2017-08-21 17:41:16 -07:00
Alexander Aprelev
c5c4abaeff Introduce frontend_server that flutter tools will use for compilation. (flutter/engine#3982)
* Introduce frontend_server that allows for interactive and batch modes.

Example of batch mode:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart

out: result 79256789-598c-4909-a9e4-0ef36d4c26ba
out: 'State&TickerProviderStateMixin^#U0^' is exported from both 'package:flutter/src/widgets/animated_cross_fade.dart' and 'package:flutter/src/widgets/animated_list.dart'.
...
out: Superclass has no method named 'hitTest'.
out: 79256789-598c-4909-a9e4-0ef36d4c26ba $HOME/p/f/t11/flutter/flutter/examples/flutter_gallery/lib/main.dart.dill
$
```

Example of interactive mode - communication via stdin/stdout:
```
$ dart $HOME/p/f/t11/flutter/engine/src/flutter/frontend_server/bin/server.dart --sdk-root=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk --platform-kernel-dill=$HOME/p/f/t11/flutter/engine/src/out/android_debug/flutter_patched_sdk/platform.dill --incremental

out: Frontend server is ready.
in: compile abc.dart
out: result fd99c0f9-12bb-4083-818e-2521d454fdc8
out: fd99c0f9-12bb-4083-818e-2521d454fdc8 abc.dart.dill
in: accept
in: recompile kuka
in: 123.dart
in: 456.dart
in: kuka
out: result d12f8d05-6c79-44f7-a775-1d3469e1be53
in: quit
$
```

* Add test. Cleanup dependencies.

* One more test with mocks

* Remove platform-kernel option. Refactored CompilerOptions. Clean up comments.

* Update license

* Use Uri.base.resolve consistently. Ensure folder path for sdk root. Fix test.

* Fix main_dart for frontend_server build target

* Reintroduce .packages file, add README.md, revert changes to licenses_flutter

* Run analyzer on frontend-server. Update .packages deps so tests can be run too.

* Add analyzer options file

* Clean up dependencies

* Add frontend_server files to license file back

* Fix comment in analysis_options.yaml

* Run frontend_server tests in travis

* Update licenses

* Change a+x permission on travis/test.sh

* pub get before pub run test

* Fix path to when

* Clarify accept/reject instructions

* Formatting, fixed docs, style

* Update license script to skip .travis.yml, when/example. Update license file.

* Update style nits

* Fix license

* Trim license extracted text. Fix licenses

* Update licenses_third_party signature

* Few more tests

* Update dart license

* Update dart license

* Style changes. Fix return value for Future<Null>
2017-08-21 12:55:17 -07:00