Stephen Adams
7b70c720fb
dart2js-kernel: Pass non-type arguments to constructor body
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2651503007 .
2017-01-24 16:32:35 -08:00
Johnni Winther
8ffcfdf662
Further improve precision of the type of node that hold type inference data.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2653633002 .
2017-01-24 10:41:23 +01:00
Benjamin Dopplinger
bf5597c95a
Fix "classs" typos ( #28469 )
2017-01-23 17:00:24 +01:00
Johnni Winther
bb9baa6822
Use entities in some full_emitter sublibraries
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2647793003 .
2017-01-23 11:26:28 +01:00
Johnni Winther
f39cc61489
Make full_emitter parts into libraries
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2641353002 .
2017-01-23 11:11:18 +01:00
Johnni Winther
58842470d5
Use entities in native_emitter.dart
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2646733006 .
2017-01-23 11:05:25 +01:00
Johnni Winther
78d85d71b7
Use entities in js_emitter/model.dart
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2647893002 .
2017-01-23 10:44:57 +01:00
Emily Fortuna
0140674958
Fix labeled break statements.
...
BUG=
R=sra@google.com
Review-Url: https://codereview.chromium.org/2644293004 .
2017-01-20 16:18:04 -08:00
Stephen Adams
3b2a92c4c7
reformat previous CL
...
TBR=efortuna@google.com
Review-Url: https://codereview.chromium.org/2641953007 .
2017-01-20 15:04:05 -08:00
Stephen Adams
92d688ceeb
dart2js-kernel: handle [TypeLiteral]s that are function types
...
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2650493002 .
2017-01-20 13:28:46 -08:00
Johnni Winther
240797ca12
Use entities in code_emitter_task
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2647613004 .
2017-01-20 09:59:21 +01:00
Johnni Winther
c75f2f009b
Use entities in main_call_stub_generator
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2639273004 .
2017-01-20 09:33:19 +01:00
Johnni Winther
564476044f
Use entities in interceptor_stub_generator.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2643863005 .
2017-01-20 09:28:05 +01:00
Johnni Winther
b2fa02328a
Use entities in class_stub_generator.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2642063003 .
2017-01-20 09:22:25 +01:00
Johnni Winther
7a7d767f6d
Change js_emitter parts into libraries
...
- to make it easier to discover dependencies for refactoring.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2641813006 .
2017-01-20 09:14:16 +01:00
Stephen Adams
df1bacb60b
dart2js-kernel: Call generative constructor body functions
...
The generative constructor factory now calls the generative constructor body functions for the superclass chain.
The generative constructor body elements are created on demand and compiled via the enqueuer.
The call site is currently broken since it does not pass arguments.
That will done in a separate CL.
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2637533003 .
2017-01-19 19:49:30 -08:00
Stephen Adams
9a2636f99f
dart2js: Move lowering of identical(a, b) from builder to optimizer
...
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2645973003 .
2017-01-19 17:30:39 -08:00
Harry Terkelsen
3e557730ac
enable --dump-info with the --fast-startup emitter
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2637383005 .
2017-01-19 15:42:55 -08:00
Emily Fortuna
d1027b2605
Implement complex switch statement (switch with continue).
...
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review-Url: https://codereview.chromium.org/2648443004 .
2017-01-19 15:20:11 -08:00
Johnni Winther
31202cd96d
Use entities.dart and types.dart in kernel impact computation.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2639903004 .
2017-01-19 13:33:16 +01:00
Johnni Winther
916a8855d4
Mostly use entities in use.dart
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2644533002 .
2017-01-19 13:20:07 +01:00
Stephen Adams
fdbc6688f1
dart2js: Make .runtimeType work for tear-off closures
...
BUG=
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2639733004 .
2017-01-18 17:41:48 -08:00
Emily Fortuna
0297135019
Propagate variable rename.
...
BUG=
Review-Url: https://codereview.chromium.org/2643993002 .
2017-01-18 16:44:32 -08:00
Emily Fortuna
67445d409e
Implement switch statement, without the "complex switch statement" (aka switch statement with continue to a label).
...
Breaking this change up into two changes, as there's one last bug I'm tracking down on switch with continue.
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review-Url: https://codereview.chromium.org/2637483002 .
2017-01-18 16:22:03 -08:00
Emily Fortuna
b7c40cc2e0
Implement async, await, yield and async for-in.
...
BUG=https://github.com/dart-lang/sdk/issues/27394
R=sra@google.com
Review-Url: https://codereview.chromium.org/2610903004 .
2017-01-18 15:15:34 -08:00
Sigmund Cherem
c64c351539
Reverts the following two commits:
...
"Add support for the new function-type syntax." # e4999a6310 .
"In function-type test: remove unused variables, make type stronger." # 02ffb3b140 .
Reason to revert:
We found user code breaks because of ambiguous cases like this:
```
class Function extends Foo {
Function() : super();
}
```
Today this fails when trying to parse the constructor.
We need to:
* indicate this is not allowed anymore (probably at the class declaration)
* allow it until we are ready to make it a breaking change (by maybe
adding a special exception to allow this ambiguity in the syntax).
* consider the language change to see whether we can prevent the breaking
change if we use a different keyword.
BUG=
R=floitsch@google.com
Review-Url: https://codereview.chromium.org/2638063003 .
2017-01-18 10:13:38 -08:00
Johnni Winther
7713e62409
Remove use of FunctionSignature et al from call_structure.dart
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2630743002 .
2017-01-18 12:01:58 +01:00
Stephen Adams
d47c12da31
dart2js-kernel: special-case InvalidType in 'is' and 'as'
...
BUG=
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2630633002 .
2017-01-13 12:08:19 -08:00
Florian Loitsch
e4999a6310
Add support for the new function-type syntax.
...
Fixes #27967
BUG= http://dartbug.com/27967
R=sigmund@google.com
Committed: https://github.com/dart-lang/sdk/commit/85227ba8a60332a18ae92cb1b87bf15d52a909bd
Reverted: https://github.com/dart-lang/sdk/commit/f5fc210f4f79f7e6b7ccefc24e7565e810e9dc7d
Review-Url: https://codereview.chromium.org/2567133002 .
2017-01-13 18:45:47 +01:00
Florian Loitsch
f5fc210f4f
Revert "Add support for the new function-type syntax."
...
This reverts commit 85227ba8a6 .
Review-Url: https://codereview.chromium.org/2627343004 .
2017-01-13 16:50:25 +01:00
Florian Loitsch
85227ba8a6
Add support for the new function-type syntax.
...
Fixes #27967
BUG= http://dartbug.com/27967
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2567133002 .
2017-01-13 15:57:08 +01:00
Johnni Winther
949e3884b2
Register JSFixedArray as instantiated.
...
Closes #27700
R=sigmund@google.com , sra@google.com
Review-Url: https://codereview.chromium.org/2624173002 .
2017-01-12 13:58:21 +01:00
Johnni Winther
9fd9b2fa84
Introduce LibraryEntity
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2620363002 .
2017-01-12 13:54:54 +01:00
Johnni Winther
eac4142d42
Rename Enqueuer.universe to worldBuilder.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2625713002 .
2017-01-12 13:26:59 +01:00
Johnni Winther
9fb86fe21d
Use entities in various ssa helpers.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2619813005 .
2017-01-12 13:08:20 +01:00
Johnni Winther
4d3c9611b6
Fix metadata processing
...
Review-Url: https://codereview.chromium.org/2625343002 .
2017-01-12 12:59:27 +01:00
Johnni Winther
58048f694e
Use elements/types in constants/values
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2620023002 .
2017-01-12 12:22:15 +01:00
Johnni Winther
f30bb5ce43
Use generic methods in DebugIterable
...
- to shut up the analyzer
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2624743002 .
2017-01-12 12:14:30 +01:00
Johnni Winther
e39ce97819
Use entities in all masks.
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2622583004 .
2017-01-12 11:38:32 +01:00
Johnni Winther
9f4774cc81
Make .enclosingClass always return the declaration
...
This aligns the semantics of the Element model with the Entity model.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2619243002 .
2017-01-12 10:56:12 +01:00
Johnni Winther
3964a9e0dd
Rename inference files and classes post refactor
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2619723003 .
2017-01-12 10:39:59 +01:00
Stephen Adams
a608c592fd
Mark some string operations as GVN-able.
...
There are not many GVN optimizations, but knowing the calls are effect-free allows some fields to be load-eliminated, leading to the loaded value having a refined type. In a big app, about 20 calls to String.substring no longer need an interceptor.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2518553003 .
2017-01-11 19:51:46 -08:00
Stephen Adams
82648dbef0
Compute sourceElement for closures
...
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2623303002 .
2017-01-11 17:15:50 -08:00
Florian Loitsch
9007ee6a2a
Fix missing parenthesis.
...
Review-Url: https://codereview.chromium.org/2623283003 .
2017-01-11 22:27:51 +01:00
Florian Loitsch
71ec2f0297
Implement 'covariant' modifier for dart2js.
...
Also adds some tests.
Fixes #28165
BUG= http://dartbug.com/28165
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2626843003 .
2017-01-11 19:12:48 +01:00
Stephen Adams
499248e4e4
Fix for 27467 - dart2js error with re-entrant static initializer
...
BUG=
R=lrn@google.com
Review-Url: https://codereview.chromium.org/2620123002 .
2017-01-10 14:57:26 -08:00
Florian Loitsch
2547caab25
Reapply "reflectType() dynamic type arguments support ( #26012 )"
...
This was a pull request: 8a8033a417
MirrorsUsed doesn't transitively include reflective information. However, it must still be able to create TypeMirrors for types that are used as return- or parameter types.
Initially, the patch checked that TypeMirrors had the correct number of arguments for generic types. This is now disabled.
A better approach would be to know if a class has full reflective information, or not. But this would require much bigger changes to the system.
R=sigmund@google.com
Review-Url: https://codereview.chromium.org/2615943004 .
2017-01-10 15:53:21 +01:00
Stephen Adams
b7dc78a844
dart2js-kernel: handle 'dynamic' as an expression
...
BUG=
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2620593002 .
2017-01-09 15:20:57 -08:00
Stephen Adams
e9ea8e4d87
dart2js-kernel: handle top-level / static unresolved methods / getters / setters
...
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2621433002 .
2017-01-09 14:23:44 -08:00
Stephen Adams
0b00989fc4
dart2js-kernel: implement rethrow
...
R=efortuna@google.com
Review-Url: https://codereview.chromium.org/2616263002 .
2017-01-09 13:13:33 -08:00