Commit Graph

1343 Commits

Author SHA1 Message Date
Jens Johansen 41c11716b0 [kernel] Make round-trip script work; improve fastas compare dill tool
Change-Id: I194987772349f6c673263662346a28560ecb168a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120645
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-08 09:55:37 +00:00
Johnni Winther 9276d50fdc [cfe] Remove Severity.errorLegacyWarning
Change-Id: I1cc7a34af307b9edee4c92e43e8607a450cf471d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120585
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-08 09:16:47 +00:00
Paul Berry d93a6b596b Prepare to publish analyzer version 0.38.5
Change-Id: I314944fb68375644860477185c88ce93a8839341
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-07 16:34:01 +00:00
Dmitry Stefantsov a81ea1e0d2 [cfe] Upload the first draft of Nullability in CFE doc
Change-Id: I48cd08ed885a022e45bc6eae0fae3384728bbf06
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118988
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-04 11:04:02 +00:00
Ryan Macnak d65a60db00 [vm, bytecode] Populate bytecode cache when initializing an incremental compiler from a kernel file.
AST
"without_change_elapsed_time_ms": 2863,
"implementation_change_elapsed_time_ms": 6009,
"interface_change_elapsed_time_ms": 5888,
"with_coverage_time_ms": 2884

BYTECODE BEFORE
"without_change_elapsed_time_ms": 5216,
"implementation_change_elapsed_time_ms": 8517,
"interface_change_elapsed_time_ms": 8895,
"with_coverage_time_ms": 5462

BYTECODE AFTER
"without_change_elapsed_time_ms": 3384,
"implementation_change_elapsed_time_ms": 8139,
"interface_change_elapsed_time_ms": 8073,
"with_coverage_time_ms": 3473

Change-Id: Ic8e1c183070cb6019ea48f16c04ea5363df41a97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119620
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-10-02 23:53:42 +00:00
Alexander Markov 5a2a5204dd [kernel] Fix metadata_test in presence of control flow collections
Block nodes inside BlockExpression are not serialized separately in
kernel binary, so attached metadata is not preserved.

This change fixes Fixes pkg/kernel/test/metadata_test test failure
revealed by https://dart-review.googlesource.com/c/sdk/+/119520.

Change-Id: I38c2cde6311e001f16faf2641762aaf42dd6d2b1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119527
Reviewed-by: Ben Konyi <bkonyi@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-10-02 15:53:04 +00:00
Dmitry Stefantsov bdf6b9505e [cfe] Ask for subtype checking mode explicitly
The interpretation of the subtype check result depends on the mode.  In partial
NNBD mode all type errors that wouldn't be errors in non-NNBD programs should
become warnings.  In full NNBD mode all such errors are errors.  This CL adds
the mode explicitly to the interface of the subtype check as a parameter.

Bug: http://dartbug.com/38673
Change-Id: I14bcdd260618530cfdd8189c01abba7469a16679
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119545
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-10-02 11:30:29 +00:00
Dmitry Stefantsov c1616157d1 [cfe] Use a class instead of the enum for subtype check results
Bug: http://dartbug.com/38673
Change-Id: I3f435c1c9b214ac822e6892849dddc9f6be8a462
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119544
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-02 11:30:29 +00:00
Dmitry Stefantsov be43bce0b6 [cfe] Make interface of subtype checks aware of nullabilities.
Change-Id: Id4dbd2c903a36df511f7d638d24dc63f8a9344c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119541
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-02 11:30:29 +00:00
Jens Johansen 998f1efbe9 [kernel] Add test for keeping sources when loading concatenated component
This CL adds a test for what was fixed in
79cc54e519, namely that when loading a
concatenated component, the uriToSource map shouldn't have its values
overwritten with objects with no source in them.

Change-Id: Ief899295d0b4ab97cbfe598a39bb47441d38c3ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119542
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-01 13:14:52 +00:00
Jens Johansen 84848b1467 [kernel] Add VM pragma prefer-inline to certain methods in kernel serialization
In my measurements this changes the time it takes to write the sdk by
-11.1274% +/- 0.624366% (via slightly modified
pkg/kernel/test/binary_bench.dart AstToBinary out/ReleaseX64/vm_platform_strong.dill)

Change-Id: I4c5cbe17f42b70ef361b2edda0b33c8fc1727b63
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119540
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-10-01 12:03:42 +00:00
Johnni Winther 8218857032 [kernel] Handle Extension in BianryBuilderWithMetadata
Change-Id: Iba967214e592d6836863ac523850ec573bd40998
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119335
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-01 08:15:50 +00:00
Ryan Macnak 14983a2941 [vm/bytecode] Add timeline events for major compilation phases.
Change-Id: Ie2a1f8a5979bb58133535b7698c5137d4ab2b046
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118648
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2019-09-30 16:36:09 +00:00
Dmitry Stefantsov 902a36e36f [cfe] Thread nullability of typedef types from source into Kernel
Closes #38214, #38215.

Bug: http://dartbug.com/38214
Bug: http://dartbug.com/38215
Change-Id: I6f96668f3dc7b315b0848a8d8953783ceb5f1c47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119326
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov b361639a74 [cfe] Account for nullability in type substitution on TypeBuilders
Closes #37689.

Bug: http://dartbug.com/37689
Change-Id: Ifac30bede3dbec9008e31e5fc81014cc69069afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119145
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov 7d75eb1fd9 [cfe] Account for nullability in type substitution on DartTypes
Bug: http://dartbug.com/37689
Change-Id: I5c37f0e13da956285300288cffc58263e67ac302
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119140
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Johnni Winther e52542b421 [cfe] Handle generic return types
Returns types on generic methods in generic extension that contained
type variables declared on the generic method were not substituted,
leaving these as unindexed type parameters during serialization.

Change-Id: I4f53005318ba2be014bfe6e92f4f6c93288f2a4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118995
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 10:58:05 +00:00
Johnni Winther dd028547ce [cfe] Support patching of extension methods
Change-Id: I453e17e63f97a0ca2477371541c6a9602bee2404
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119322
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 09:51:31 +00:00
Kallen Tu 134839098b Serialization/Deserialization for Variance in Type Parameters.
Change-Id: I9bce86293c23c4b9d2b8011e866f04bcab80e74a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118881
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Kallen Tu <kallentu@google.com>
2019-09-27 16:57:00 +00:00
Kallen Tu 327bc451f8 Added variance support in listeners to ast.
Pass variance data to field in TypeParameter through the listeners.
ast_to_text will print variances for classes and mixins if specified.

Avoids serialization/deserialization (impl in future CL).

Change-Id: I298537604823710f0d30001f4cb5f1e81530959f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118464
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-26 18:11:10 +00:00
Paul Berry 39a1baef6b Prepare to publish analyzer 0.38.4
Change-Id: I251e7bde7b3423cbfb2ee6fe1150088bf44747dd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118647
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-25 19:00:01 +00:00
Jacob MacDonald bd1ca04b79 add meta dependency to kernel and front_end
Towards https://github.com/dart-lang/sdk/issues/38482 and  https://github.com/dart-lang/sdk/issues/38483

Change-Id: I4a8431d7864fbfa682a3fa80696e2f8a998f0f38
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118320
Auto-Submit: Jake Macdonald <jakemac@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2019-09-25 15:51:27 +00:00
Dmitry Stefantsov e034104f04 [cfe] Remove TypeEnvironment.*Type getters
The getters were returning types of undefined nullabilities.  Now the
nullability-aware getters on CoreTypes should be used instead.

Closes #38224.

Bug: http://dartbug.com/38224
Change-Id: I617a0ef8ee17ebd792c2bc1ec6477a5ee469fee1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118570
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-25 13:28:28 +00:00
Dmitry Stefantsov adbfe7ce05 [cfe] Update the rules for TypeParameterType.nullability
Closes #38220.

Bug: http://dartbug.com/38220
Change-Id: If200e1173bd36997715003cc87c35a8e17f4e115
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118561
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-25 08:15:47 +00:00
Ryan Macnak 79cc54e519 [kernel] Avoid trampling sources when loading split components.
Change-Id: Ia906d6ca90cc2dae392a50ccb03c6a76cf4b3907
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118475
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-25 00:13:44 +00:00
Dmitry Stefantsov 8d487b4fdc [kernel] Recover TypeParameter.variance while deserializing
Change-Id: I46d78dc5e98c5e3707d448eccfd6bdabb1c25ddb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/91827
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov c719d02753 [kernel] Add function to compute variance of typedef type parameters
Change-Id: If00727835c0008917f5ce8154b4bffafb0f31630
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85102
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov 3779122bed [kernel] Don't preserve typedefType in terms with free variables
Change-Id: I46e80d9f6406775ce5bcb517f485a8a3823563b6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85449
Reviewed-by: Peter von der Ahé <ahe@google.com>
2019-09-23 15:17:38 +00:00
Dmitry Stefantsov 9505a1b87f [fasta] Add variance field to type parameters
Change-Id: I0c3eda4057b52853c063a682ff15fb17a595db3b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/85082
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-09-23 15:17:38 +00:00
Johnni Winther 94dd49cdb6 [cfe] Add NullCheck expression node
Change-Id: I17223bffa5dec7b1ce7652b21bf1a3381137f4f4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118380
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-23 10:04:48 +00:00
Paul Berry dcd5cd13fb Prepare to publish analyzer version 0.38.3.
Change-Id: I338f5a5ae9f3384ecb1d3e9ae5d3231e0288552d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118160
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-19 20:42:17 +00:00
Aske Simon Christensen 6e4794a584 [kernel] Clone all co-defined type parameters before visiting them.
Fixes https://github.com/dart-lang/sdk/issues/38384

Change-Id: I8292e91549c14e1ebac4ea4ab497ff16e6a8a81f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118047
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-19 15:19:06 +00:00
Dmitry Stefantsov 515a597710 [cfe] Remove Class.rawType
Bug: http://dartbug.com/38224
Change-Id: If0af5487b1d43125738575ee3e0fcd747db54fa9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117546
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-19 10:42:10 +00:00
Jens Johansen 740c72e251 [kernel] Mark class as non-dirty after computeCanonicalNames is run
Change-Id: I8ef374145c58cd0da45eb074d1fb10c8cb14e358
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117724
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-19 07:37:40 +00:00
Dmitry Stefantsov 97b561a8de [cfe] Update CoreTypes to handle raw types with it
Change-Id: Ic931ff639600cc7bae03a8b51301005952d726c5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117320
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-18 09:52:00 +00:00
Dmitry Stefantsov 0281f9c425 [cfe] Add members to construct nullability in Library and LibraryBuilder
Change-Id: Iaaa9cf0c5a5789e6b303d646c5ed7fb6eed15b9b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117155
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-18 09:52:00 +00:00
Aske Simon Christensen 7799f424f4 [CFE] Encapsulate int operations in separate classes for VM and JS
This refactoring achieves the following:

- Collect the integer operation semantics into one place instead of
having it sprinkled all over the constant evaluator with many
"if (targetingJavaScript)" tests.

- Avoid emitting the internal JavaScriptIntConstant node, which is
serialized as normal DoubleConstant nodes, thus achieving parity
between direct consumers and consumers seeing output that has been
serialized.

- Implement the JavaScript semantics for unsigned right shift.

- Fix truncating divide with a result outside int64 range incorrectly
clamping the result for JS targets.

- Fix positive hex constants >= 2^63 through int.fromEnvironment
producing negative values in dart2js.

- Clarify in Kernel documentation how numeric constants are represented
on VM vs JS targets.

Change-Id: If30bb2c2c77c54eff120b611b059c2ec726c99a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116525
Reviewed-by: Mayank Patke <fishythefish@google.com>
2019-09-16 13:10:59 +00:00
Jens Johansen f35f9e8e24 [kernel] Don't lazy load classes when dills are concatenated
We have two layers of laziness.
Lazy loading functions (the old one) disables itself when loading a
concatenated dill file.
Lazy loading class content (the new one) forgot to do that while not
being geared towards it either.
This means that it - when loading lazily - can look into the wrong
string table, the wrong link table etc.
This CL brings the laziness for classes on par with the laziness for
functions in that it is now disabled when loading a concatenated dill
file.

Change-Id: If3449d5aff34287221a14fb7e940779d93b1e7b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117145
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-13 12:52:52 +00:00
Johnni Winther 4b72fffaaf [cfe] Use VariableSet for variable assignment
Change-Id: Ia94f9e1a3548e615fef111256aa2419cc1fd8c75
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116209
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-13 07:38:25 +00:00
Johnni Winther 7d2ebd3ce9 [cfe] Introduce InternalExpression
Create Cascade, DeferredCheck, LoadLibraryTearOff,
NullAwareMethodInvocation and NullAwareMethodPropertyGet as internal
only expressions.

Change-Id: Ie9e12a2fd87ae47f632076429eebd5a21717a062
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116203
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-13 07:38:25 +00:00
Johnni Winther 2c6f779a76 [cfe] Remove legacyMode
Change-Id: I9384631af94feaf1a345958ff23e6d35c2ba4049
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116202
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-13 07:38:25 +00:00
Johnni Winther 15ccf4c703 [cfe] Remove unneeded Judgments
Removes StatementJudgment, ExpressionJudgment, and InitializerJudgment
classes that are identical to existing nodes.

Change-Id: If67c1972387bb158bfe775cdf091cae4eadd47c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/116061
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-13 07:38:25 +00:00
Dmitry Stefantsov bdf237fa77 [cfe] Add a bit to Library to inticate if it's opted in for NNBD
Closes #37682.

Bug: http://dartbug.com/37682.
Change-Id: Ibe21cd0a1eac25a2883d2e2241d7476ca627edba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114857
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-12 12:15:56 +00:00
Dmitry Stefantsov 94b3a3f2ac [cfe] Don't reuse type parameters of FunctionNode in its functionType
Closes #37536.

Bug: http://dartbug.com/37536.
Change-Id: I7e5d2fc59a0cf53e67c43989cf806ca7dbcc307e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115368
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-12 11:12:52 +00:00
Jens Johansen ce5556ab36 [kernel] Load classes lazily
This CL gives the option to load classes lazily (on by default),
meaning that fields, procedures, constructors and redirecting
factory constructors of classes are not initially read,
but instead read when (or if) needed.

The idea being that many classes aren’t needed, and that
spending time on reading them is thus just a waste of time.

This is especially true in modular compilation where a lot
of modules needs to be given as input as the compilation at
hand might technically rely on it, but in practice only very
few of the classes are actually needed (or very few classes
actually need their members).

The below numbers are comparing a VM without this change and without
the lazy class hierarchy member lists change with
b31566b297 (the base change for those
two changes).

For running a simple hello-world script, on my machine 500 times
and doing statistics on it I can measure the following differences:

With verbose, from kernel_service startup to compile complete:
Difference at 95.0% confidence
        -17.8 +/- 0.555817
        -24.3455% +/- 0.760206%
        (Student's t, pooled s = 4.48379)

With verbose, total runtime measure by `time`
Difference at 95.0% confidence
        -19.346 +/- 0.905217
        -12.0333% +/- 0.563051%
        (Student's t, pooled s = 7.30242)

Without verbose, total runtime measure by `time`
Difference at 95.0% confidence
        -17.862 +/- 0.842905
        -12.0635% +/- 0.569276%
        (Student's t, pooled s = 6.79974)

For running a number of modular compilations I’ve recorded an
improvement in actual runtime in the order of 20-37% depending
on the circumstance. In a real build system, though, the
difference seems to be more in the order of around 5%.

Change-Id: Id329bcf2b01d12c12d7a49f2b8abacd9c2447f05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115703
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-12 08:08:33 +00:00
Jens Johansen 2bfe714d42 [kernel] Make class hierarchy member lists lazy
This should
a) Make it faster in situations where we don't need the member lists
b) Pave (some of) the way for loading dill files more lazy

Change-Id: I877026d5e503aec6b398ba93f5816a187aa11c6e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115217
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-12 08:01:52 +00:00
Aske Simon Christensen dc204ec879 [CFE] Preserve file URIs of expressions in unevaluated constants.
This fixes missing positions on error messages from dart2js arising
from errors in constants in connection with environment constants.

Change-Id: Icc0666b82d0f28add053fbc231d680c6fdeeeff1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114603
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-09-06 12:22:09 +00:00
Aske Simon Christensen 0242f0c724 [kernel] FileUriExpression node
Change-Id: I8ea3cbeb17d555cebd6d693fbf2bb3148e9f2db3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114321
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-06 12:22:09 +00:00
Martin Kustermann 70a7cbf49d [vm] Support extensions in ffi transformation and tfa tree shaker
Change-Id: I8c3d13b1683224b918f51b2c75885dabf81fb906
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115709
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-09-06 10:05:29 +00:00
Johnni Winther 34004f7f6b [cfe] Support modular compilation of extensions
Includes serialization/deserialization of Extension and
ExtensionMemberDescriptor.

Change-Id: I04df581355b0d6f9e6bfa638241c8b7f210d3ce5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115369
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-05 11:19:53 +00:00