Bob Nystrom
44db042cd8
Redo how Type objects are exposed from DDC.
...
- Instead of using the raw runtime type that DDC uses for its type
checks, use a WrappedType that correctly implements Type's interface.
- Compile class literals to wrap the type in a WrappedType.
- Make Object.runtimeType() do the same thing.
Fixes #488 . Fixes #511 .
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1944483002 .
2016-05-03 14:24:08 -07:00
Stephen Adams
6485751d8c
Implement Map.unmodifiable
...
This is a temporary solution.
When we have an implementation of const maps, we should switch to that.
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1946663002 .
2016-05-03 12:02:20 -07:00
Vijay Menon
dc8e00b2da
Revert "Workaround #537 "
...
Undoing this. Paul fixed this in 1.17. We'll need to run with 1.17 builds going forward, but we need that for other reasons.
Fixes #537
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1936693002 .
2016-05-03 10:38:59 -07:00
Vijay Menon
6d8dc11397
Suppress extra cast
...
If I rebuild the SDK, I see a cast from List to List<E> on the next line without this. With the change, we just infer List<E> in the first place.
R=sra@google.com
Review URL: https://codereview.chromium.org/1945793002 .
2016-05-03 10:30:17 -07:00
Stephen Adams
1aa00bc447
List.unmodifiable
...
Most operations don't check, that will happen as more code is updated
to a more recent sdk.
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1939093003 .
2016-05-03 09:34:44 -07:00
John Messerly
733773476d
instantiate generic tear-offs, fixes #525
...
R=het@google.com
Review URL: https://codereview.chromium.org/1930323004 .
2016-04-29 16:41:24 -07:00
Harry Terkelsen
428cb00f7d
include type parameters on generic sync/async functions
...
fixes #538
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1935823002 .
2016-04-29 15:25:56 -07:00
Vijay Menon
b2c0a7446e
Workaround #537
...
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1933383002 .
2016-04-29 12:47:16 -07:00
Stephen Adams
a7504464c3
Improve code for shifts and bitwise operations.
...
- JavaScript shifts can be used for operands in certain ranges.
- Coercion from signed-32 to unsigned-32 can be omitted if
- it is a no-op
- the context performs the coercion
- the context is insensitive to the most significant bit
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1920293005 .
2016-04-29 12:22:15 -07:00
Stephen Adams
a9837e0af6
Fix for messed-up short-circuit operators.
...
BUG= https://github.com/dart-lang/dev_compiler/issues/502
R=leafp@google.com
Review URL: https://codereview.chromium.org/1929283002 .
2016-04-29 11:57:23 -07:00
John Messerly
6598fa0f7d
implement generic method runtime behavior, fixes #301
...
R=leafp@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1926283002 .
2016-04-29 10:41:48 -07:00
Jacob Richman
7db49e6a44
Fixed 3 final missing casts in dart:js
...
BUG=
R=leafp@google.com
Review URL: https://codereview.chromium.org/1931373002 .
2016-04-29 08:50:14 -07:00
Harry Terkelsen
d109467369
Use lazy static fields when overriding static getters or setters.
...
Fixes #522
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1927353002 .
2016-04-28 15:42:01 -07:00
Stephen Adams
8c745c69d1
Fix modulo and bitwise operators.
...
Dart `%` is modulo, JS `%` is remainder, so call the runtime version.
Use dart2js interpretation of bit operations and shifts which always
produce a 32-bit unsigned result.
Optimization of the bit operations to follow.
BUG= https://github.com/dart-lang/dev_compiler/issues/518
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1924413002 .
2016-04-28 13:47:22 -07:00
John Messerly
9f764bf5b4
Make parts hermetic, fixes #531
...
R=paulberry@google.com , sigmund@google.com
Review URL: https://codereview.chromium.org/1930133002 .
2016-04-28 13:37:10 -07:00
Vijay Menon
9d49469af4
Reenable typed_data and html tests
...
TBR=jacobr@google.com
Review URL: https://codereview.chromium.org/1924423002 .
2016-04-28 13:00:07 -07:00
Jacob Richman
efa2303c64
Add all dart:html tests from the sdk to test/codegen. All tests are added except for js_array_test.dart and js_dart_to_string_test.dart which have to be stripped out for now due to failures.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1930043002 .
2016-04-28 12:30:25 -07:00
Vijay Menon
acc4d6867d
Stop concatenating all tests
...
R=sra@google.com
Review URL: https://codereview.chromium.org/1928443006 .
2016-04-28 11:29:38 -07:00
Jacob Richman
eef7f81d0a
Land fix to StackTrace.current performance already landed in dart2js.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1927813002 .
2016-04-28 09:28:25 -07:00
Sigmund Cherem
b163c86585
Make file-paths absolute before providing them to the CustomUrlResolver
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1931553003 .
2016-04-28 09:07:28 -07:00
Vijay Menon
3483e1974c
Qualify library names in packages
...
Partially addresses #504 . This is WIP, but wanted your thoughts.
Comment / questions:
- The current js_ast ImportDeclaration assumes a legal identifier I think.
E.g., this gets lowered:
import { src$interfaces } from "matcher"
- Should we thread package root through ModuleCompiler to let it packagify urls?
- How should we handle non-package urls? Pass in an explicit root dir
and go relative?
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1917863005 .
2016-04-27 21:03:58 -07:00
John Messerly
9de1e7426f
allow JS builtin to be typed as needed
...
this removes a lot of bogus casts. It also revealed one test that appeared to be passing, but was not actually passing.
R=vsm@google.com
Review URL: https://codereview.chromium.org/1649583002 .
2016-04-27 13:04:26 -07:00
John Messerly
aa0b75f893
simplify emitting dart.bind for native types
...
R=het@google.com
Review URL: https://codereview.chromium.org/1921503007 .
2016-04-27 09:59:32 -07:00
John Messerly
45f57aab55
small cleanup in dart:_runtime
...
there was LazyTagged thing that was not necessary
R=vsm@google.com
Review URL: https://codereview.chromium.org/1920743003 .
2016-04-26 17:58:13 -07:00
Harry Terkelsen
bc0536a56a
Use static dispatch for dynamic on Object methods
...
Fixes #510
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1919173004 .
2016-04-26 17:54:02 -07:00
Harry Terkelsen
6a7e3ca102
Remove virtualField helper, just emit getters/setters in codegen.
...
Also fixes problems with final field overrides, which only override
the getter, not the setter.
BUG=https://github.com/dart-lang/dev_compiler/issues/486
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1918033002 .
2016-04-26 12:39:48 -07:00
Vijay Menon
936f059f48
Use correct annotation for JS names
...
Did we switch from "@JS" to "@JsName"?
R=jacobr@google.com
Review URL: https://codereview.chromium.org/1920473003 .
2016-04-25 08:33:52 -07:00
Jacob Richman
afc18e6061
Update sdk removing explicit as checks.
...
BUG=
R=leafp@google.com
Review URL: https://codereview.chromium.org/1907353003 .
2016-04-25 08:25:03 -07:00
Vijay Menon
886616c3aa
Fixes #519
...
This is the Symbol bug which is breaking package:unittest.
R=leafp@google.com
Review URL: https://codereview.chromium.org/1915533004 .
2016-04-22 11:26:57 -07:00
Jacob Richman
cb59a83138
Fix build break due to bug 522
...
BUG=
Review URL: https://codereview.chromium.org/1904373002 .
2016-04-21 17:18:44 -07:00
John Messerly
ea5016ccbe
fixes #516 , nested cascade code generation
...
our let* was not hygenic, due to incorrect use of named substitution
R=vsm@google.com
Review URL: https://codereview.chromium.org/1910233002 .
2016-04-21 15:19:15 -07:00
Jacob Richman
27ed87462b
Cleanup dart:indexed_db, dart:svg, and dart:js errrors. update dart:html with extra generic methods.
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1909193002 .
2016-04-21 14:51:18 -07:00
Harry Terkelsen
0d36e889e2
Emit forwarding getter/setter when overriding just a getter or setter.
...
Based on Vijay's change: https://github.com/dart-lang/dev_compiler/commit/74dc4a6a808b271312aabe1bf463f1e7f4889a43
BUG=https://github.com/dart-lang/dev_compiler/issues/497
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1899373002 .
2016-04-20 18:08:09 -07:00
Jacob Richman
a429090901
Fix undefined method errors adding no-op stubs for methods needed by dart2js but irrelevant in ddc. We could later optimize ddc by providing a custom dart:html that doesn't use these methods. Fixes https://github.com/dart-lang/dev_compiler/issues/506
...
BUG=
Review URL: https://codereview.chromium.org/1905803002 .
2016-04-20 18:03:29 -07:00
Jacob Richman
5dd5c364d6
Fix all dart:html strong mode errors except for spurious FINAL_NOT_INITIALIZED_CONSTRUCTOR warnings.
...
BUG=
R=jmesserly@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1887233005 .
2016-04-20 15:31:41 -07:00
Jacob MacDonald
419f6e5382
add e2e tests for usage/compile errors
2016-04-20 14:29:38 -07:00
Jacob MacDonald
486d9f50cc
Move to AsyncWorkerLoop since CommandRunner.run returns a future.
2016-04-20 14:09:32 -07:00
John Messerly
261d7bf63a
a few small dart:_runtime cleanups
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1896343002 .
2016-04-20 12:52:32 -07:00
Vijay Menon
5cb361db25
Fix for node modules
...
We weren't emitting the actual program. :-)
Seems to work really well - using for easy command line testing.
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1893293003 .
2016-04-19 14:28:43 -07:00
Harry Terkelsen
b53f682660
pipe filenames through sort for consistent ordering
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1895863003 .
2016-04-18 15:33:26 -07:00
Harry Terkelsen
7e32a93b26
emit 'this.x' when 'super.x' accesses a field
...
BUG=https://github.com/dart-lang/dev_compiler/issues/501
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1895903002 .
2016-04-18 14:44:23 -07:00
Jacob MacDonald
4e54ff0181
Move all args to per-request for the worker, and add a test
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1896613002 .
2016-04-18 11:17:08 -07:00
Harry Terkelsen
9f4ea0936c
don't crash when given no arguments
...
BUG=
R=vsm@google.com
Review URL: https://codereview.chromium.org/1900693002 .
2016-04-18 09:26:10 -07:00
vsmenon
eb49d944cd
Update USAGE.md
2016-04-16 11:24:02 -07:00
John Messerly
4e958f5f54
Support reading summaries in DDC
...
R=sigmund@google.com
Review URL: https://codereview.chromium.org/1893603003 .
2016-04-15 13:52:18 -07:00
Jacob MacDonald
cb358696e1
dont reuse the analysis context across worker requests
...
BUG=
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1892553003 .
2016-04-15 10:54:06 -07:00
Jacob MacDonald
308fa5ccb4
Add bazel worker support to the dev compiler.
...
BUG=
R=jmesserly@google.com , vsm@google.com
Review URL: https://codereview.chromium.org/1884073003 .
2016-04-15 06:51:40 -07:00
John Messerly
b8d55ce95d
add command test, fix relative paths
...
R=vsm@google.com
Review URL: https://codereview.chromium.org/1886393003 .
2016-04-14 12:35:05 -07:00
John Messerly
7950a0a88e
Fix DDC build
...
this was a last minute fix for relative paths, but it went wrong and broke the SDK build
Review URL: https://codereview.chromium.org/1887163002 .
2016-04-14 11:58:16 -07:00
John Messerly
0c148ecef4
Implement modular compilation
...
Highlights
* compile one module at a time
* use summaries to speed up compiles
* use command runner so we can add more commands later
* some long needed renames and file organization
* various other technical debt has been addressed
Lowlights
* lost node.js runner/tests (node output format still supported)
* possibly lost some closure support/workarounds (format still supported)
* needs more end-to-end tests of the new system
R=vsm@google.com
Review URL: https://codereview.chromium.org/1879373004 .
2016-04-14 11:28:12 -07:00