Commit Graph

1367 Commits

Author SHA1 Message Date
Leaf Petersen 40c7ac9038 Wire up class hierarchy for recursive inheritance
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2033543002 .
2016-06-01 19:21:45 -07:00
Leaf Petersen ae4341cf8a Make whitelist check per element
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2021553002 .
2016-06-01 13:12:41 -07:00
Stephen Adams 73479a600c Throw TypeError instead of CastError for type coercions.
Added 'tag' type StrongModeError, implemented by all errors that are
specific to strong mode semantics.

Failed casts throw CastError(Implementation) or StrongModeCastError.
Failed type assertions and reified coercions throw TypeError or
StrongModeTypeError.

Triaged some tests. Some pass due to now throwing a TypeError, many
pass for unknown reasons.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2026133002 .
2016-06-01 10:18:17 -07:00
Stephen Adams 562f01e4d1 _visitTest should look through parentheses
We were missing using dart.test on expressions like
a && (b || c)

TBR=vsm@google.com

Review URL: https://codereview.chromium.org/2022213002 .
2016-05-31 10:34:28 -07:00
John Messerly f0517c4deb Enable strong mode in DDC, fix all warnings/errors
R=leafp@google.com

Review URL: https://codereview.chromium.org/2016483002 .
2016-05-26 11:13:32 -07:00
Leaf Petersen 834c1bf764 Angular template workarounds
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2015753002 .
2016-05-25 22:43:59 -07:00
Leaf Petersen 70698bacf0 Short circuit for 'as dynamic'
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2007423003 .
2016-05-25 21:44:34 -07:00
Stephen Adams a7174ce8c2 Tweak _checkPrimitiveType
V8 does better with  typeof x == 'string'

TBR=vsm@google.com

Review URL: https://codereview.chromium.org/2015513005 .
2016-05-25 20:23:43 -07:00
Stephen Adams d094888eec Use factory constructor for list literals
The list literal `<int>[1, 2, 3]` was

    dart.list([1, 2, 3], core.int)

now becomes

    JSArrayOfInt().of([1, 2, 3])

R=leafp@google.com

Review URL: https://codereview.chromium.org/2006443002 .
2016-05-25 17:40:46 -07:00
Stephen Adams cb1cafcaff More consistent order of type caches
R=leafp@google.com

BUG=

Review URL: https://codereview.chromium.org/2002153006 .
2016-05-25 17:29:14 -07:00
Alan Knight 451478b208 Add types for valueFromDecomposedDate
BUG=
R=sra@google.com

Review URL: https://codereview.chromium.org/2010873002 .
2016-05-25 16:09:36 -07:00
Leaf Petersen 3e9ed11db6 Name and hoist types
Adds infrastructure for naming and hoisting types in various ways. Makes an initial cut at how to slice the naming, but we will want to adjust.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988023008 .
2016-05-25 11:07:38 -07:00
Jacob Richman d4dd53ede6 Add generic types to Sort and Comparable. Fix crasher bug in codegen.
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/2011973002 .
2016-05-25 10:42:23 -07:00
Alan Knight fb363715f3 Add a type on lazyAsJsDate
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2010693002 .
2016-05-24 17:35:10 -07:00
Stephen Adams c74d092ba2 Name loader functions.
This helps when looking at profiles.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2006353002 .
2016-05-24 13:28:17 -07:00
Vijay Menon 10dc45de2d Disable mirrors metadata gen by default
This is not used by most apps.

R=het@google.com

Review URL: https://codereview.chromium.org/2000243002 .
2016-05-23 10:52:27 -07:00
John Messerly e3836901c3 Make DateTime use in the SDK typed
R=leafp@google.com

Review URL: https://codereview.chromium.org/2004463004 .
2016-05-23 09:17:03 -07:00
Leaf Petersen e6e5635a83 Optimize const construction
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1998113004 .
2016-05-20 17:53:28 -07:00
John Messerly 1e0295d4a5 fix performance of setType
it was mutating the class (e.g. JSArray<int>) every time an instance was constructed (!)

R=leafp@google.com

Review URL: https://codereview.chromium.org/1999273002 .
2016-05-20 17:46:13 -07:00
John Messerly 31e9d9983d Simplify ordering of top-level declarations.
We had some leftover complexity that could be refactored away. This doesn't fix anything yet, but simplifying the foundation may help with recursive generic types. Removes "customEmitDeclaration" too.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1992373002 .
2016-05-20 12:32:46 -07:00
Jacob Richman 41bac633e1 Fix debugger
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1997473007 .
2016-05-20 11:11:43 -07:00
Leaf Petersen 2e5e9fea63 Flatten _Future at runtime as well
Fixes #551

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1998843002 .
2016-05-19 15:33:32 -07:00
John Messerly f950e422b8 fix #577 - correctly toString ES Symbols
R=sra@google.com

Review URL: https://codereview.chromium.org/1993293002 .
2016-05-19 12:33:06 -07:00
Stephen Adams ed77841603 Better boolean conversion tests.
- Same errors as VM & Dartium

  - Failed assertion: boolean expression must not be null
  - type 'int' is not a subtype of type 'bool' in boolean expression

- All boolean conversion contexts use the same logic
- No false positives from combining null and as-bool checks in other contexts

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1993023003 .
2016-05-19 12:04:59 -07:00
Harry Terkelsen e105544411 implement top-level JS annotated getters
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1993813003 .
2016-05-19 11:10:24 -07:00
Sigmund Cherem 73a7eb71ac Support @JS with path expressions.
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1998473002 .
2016-05-19 09:23:32 -07:00
Leaf Petersen 220553b7e7 Future flattening at runtime.
This implements basic one-level future flattening of the runtime
types.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1997473002 .
2016-05-18 15:47:26 -07:00
Stephen Adams 0235eba4b9 Updates to collection_patch.dart
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1987043002 .
2016-05-18 15:10:40 -07:00
Stephen Adams 4cf7ee3332 Use _extensionType for detecting prototype inheritance.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988683004 .
2016-05-18 11:14:26 -07:00
Stephen Adams 5ed8b5ecab Misc doc-only updatee, rerun build_sdk.
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1994473002 .
2016-05-17 20:51:53 -07:00
Stephen Adams 69d11e8df8 Misc updates (mostly doc)
TBR=vsm@google.com

Review URL: https://codereview.chromium.org/1987963003 .
2016-05-17 20:27:23 -07:00
John Messerly d2b6f53630 fix #470, string interpolation now respects Dart toString
R=sra@google.com

Review URL: https://codereview.chromium.org/1989663002 .
2016-05-17 17:23:57 -07:00
Vijay Menon 9e816ffbef Wrap and unwrap types in dart:mirrors
This is pretty nasty - just the minimum to get us back to where we were before I think.

R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1989593002 .
2016-05-17 15:56:01 -07:00
Vijay Menon 7a9da0081b Provide option to suppress mirrors metadata
Fixes #268

Probably too small to affect perf, but I'm looking into adding some more for mirrors and don't want it on by default.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1986693003 .
2016-05-17 15:42:26 -07:00
Bob Nystrom d95a368e70 Update dart:collection.
This doesn't include the copious changes in collection_patch.dart
because I believe (1) those are quite old and (2) are dart2js specific.

The changes here have basically no effect on DDC, but it at least gets
us a little better test coverage and reduces noise in the diffs.

R=sra@google.com

Review URL: https://codereview.chromium.org/1977003002 .
2016-05-17 15:39:52 -07:00
John Messerly 0cedeb49af simplify constructors, fixes #564
we still have an init method, for better or worse, to break out of ES6 restrictions

The idea here is default Dart constructor (really an initialization method) is always called `new` instead of the class name. We already do this for unnamed factory.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1965213003 .
2016-05-17 14:36:56 -07:00
Leaf Petersen 59012493cb Eliminate unnecessary covariance checks.
This eliminates the erroneous checks inside of nested closures, and
eliminates checks where the type parameter is only used covariantly.

We still don't handle the cases where a generic is implemented by
a non-generic correctly.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1988613006 .
2016-05-17 12:21:02 -07:00
John Messerly 1265dc470b fix #569, cache constants defined in methods
R=leafp@google.com, sra@google.com

Review URL: https://codereview.chromium.org/1979013003 .
2016-05-17 11:09:59 -07:00
Stephen Adams 3c44af0a51 Named constants are (usually) not null.
R=vsm@google.com

BUG=

Review URL: https://codereview.chromium.org/1986683002 .
2016-05-17 10:55:14 -07:00
Vijay Menon 70306e1d31 Don't check in summary
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1982163002 .
2016-05-17 06:48:08 -07:00
Stephen Adams 69337e11d4 Minimal patch to collections to use correct LinkedHashMap for map literals.
TBR=leafp@google.com

Review URL: https://codereview.chromium.org/1982953002 .
2016-05-16 20:26:49 -07:00
Jacob Richman d22a01bdba Extend polyfill to support SourceBufferList
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/1982053002 .
2016-05-16 17:31:21 -07:00
Jacob Richman 26ee0cff3a Remove polyfill for WebGLVertexArrayObjectOES that adds 200ms to startup.
BUG=

Review URL: https://codereview.chromium.org/1988473002 .
2016-05-16 17:28:33 -07:00
Vijay Menon d15a603538 Allow the SDK to be set via a summary file
The generated summary file matches the generated DDC sdk - i.e., it
does not include dart:io.  I modified the codegen_tests to the summary
and had to prune the parts of unittest that relied on dart:io.

Paul / Konstantin: can one of you please look at the summary part?

Bob: can you please look at the unittest changes?

R=rnystrom@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1982853002 .
2016-05-16 17:10:08 -07:00
Stephen Adams 6852dba63f Dont install methods if implementation superclass corresponds to an installed extension class
BUG=
R=leafp@google.com

Review URL: https://codereview.chromium.org/1979863002 .
2016-05-16 15:03:46 -07:00
Harry Terkelsen 9458bdf428 enable top-level @JS() getters
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1976383002 .
2016-05-16 09:22:32 -07:00
Bob Nystrom 4a51a187d3 Upgrade to the latest dart:convert.
This fixes html_escape_test as well as codec1_test.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1978963002 .
2016-05-13 16:33:35 -07:00
Harry Terkelsen 2136fdc40e implement @JS classes
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/1977893002 .
2016-05-13 10:24:54 -07:00
Jacob Richman abb242846d TBR: fix polyfill code to work on browsers that do not support webgl.
BUG=

Review URL: https://codereview.chromium.org/1974673003 .
2016-05-12 15:35:41 -07:00
Jacob Richman 6a01f9589d polyfill prototypes on window for important dart:html types where recent versions of Chrome hide the prototype.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1974063002 .
2016-05-12 14:34:24 -07:00