Commit Graph

102 Commits

Author SHA1 Message Date
Jennifer Messerly 644c1dca75 fix #27429, html wrapper methods pass incorrect number of arguments
R=vsm@google.com

Review URL: https://codereview.chromium.org/2454173003 .
2016-10-27 13:16:00 -07:00
Jennifer Messerly ce76fc1fe5 fix #27644, allow "dart" and "dartx" to be renamed if needed
R=vsm@google.com

Review URL: https://codereview.chromium.org/2435223002 .
2016-10-21 11:48:19 -07:00
Vijay Menon ce963596f0 Emit API-only summaries
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2435203002 .
2016-10-20 16:21:53 -07:00
Jennifer Messerly cc1ad8cdde fix #27532, implementing a native type with fields
R=vsm@google.com

Review URL: https://codereview.chromium.org/2430953006 .
2016-10-20 15:59:18 -07:00
Jennifer Messerly 5111675810 fix #27631, get/set methods no longer shadow index operator
R=rnystrom@google.com

Review URL: https://codereview.chromium.org/2435163002 .
2016-10-20 15:45:29 -07:00
Alan Knight 47150f50d5 Use dart:html prefixes (e.g. webkitAudioNode) on other browsers
BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2431443002 .
2016-10-19 16:43:41 -07:00
Jacob Richman 4f6ce11bc8 Emulate compiling a source file in the context of an existing library. Add --debugger-compile flag that performs permissive dynamic calls on private members. Polish web_command.dart adding the ability to evaluate code in the context of an existing library.
BUG=
R=brianwilkerson@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2423313002 .
2016-10-18 16:34:48 -07:00
Nicholas Shahan 3f67c24cb8 Revert "Fix library name insert and access inconsistency on windows"
This reverts commit d8505ee264.

It was found to cause issues in the web file system when one file
was found to be within a root path.

R=jacobr@google.com

Review URL: https://codereview.chromium.org/2432603002 .
2016-10-18 16:25:03 -07:00
Bob Nystrom 2305865365 Start cleaning up the HTML tests.
My initial goal was just to move some of the HTML tests off unittest,
but that ended up slurping in some other changes as well. I haven't
finished going through all of the tests, but this puts the
infrastructure in place and fixes a batch of them. I'll do more next.

Changes:

- Add a "minitest" package. This shims just enough of the unittest/test
  API to make it easy to swap it out for unittest without having to
  rework the entire test.

- Go through the HTML tests from A-J and change them to use minitest
  when possible. The ones that aren't possible use asynchrony.
  Minitest doesn't support async tests (yet, maybe).

- Triage those tests and enable ones that are passing. Mark them failing
  if failing. Filed a couple of tracking bugs for the common issues,
  but for other cases, I just left a comment.

- In the process of this, I went ahead and make some of the affected
  tests strong mode clean if they weren't already and it was easy.

- Synchronize changes between dev_compiler's fork of expect and
  pkg/expect. We'll want to unfork those at some point. D-:

This gets dev_compiler from 1985 tests to 2042.

R=jacobr@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2413073002 .
2016-10-13 08:47:27 -07:00
Nicholas Shahan d8505ee264 Fix library name insert and access inconsistency on windows
Make naming of libraries on windows consistent with the behaivor on
linux and mac.

Fixes #27576

R=vsm@google.com

Review URL: https://codereview.chromium.org/2415653002 .
2016-10-12 14:14:00 -07:00
Bob Nystrom b30571884f Use expect instead of unittest for json_lib_test.
One step closer to removing the deprecated unittest.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2402123002 .
2016-10-10 09:42:40 -07:00
nshahan 0132d6114a Fix for the missing new keyword on an external factory call.
Added a test for calling an external factory and updated expected test failures/errors from turning on the tests: js_typed_interop_test

Fixes #27443

R=jacob314@gmail.com, vsm@google.com

Review URL: https://codereview.chromium.org/2394103002 .
2016-10-06 10:24:38 -07:00
John Messerly 1129d3d121 fix #27421, DDC did not generate implicit super calls in some cases
this would happen when there was a chain of implicit super calls, leading to an implicit super with field initializers

R=vsm@google.com

Review URL: https://codereview.chromium.org/2365053003 .
2016-09-23 17:06:10 -07:00
John Messerly adc71ab396 re-land fix #27110 with proper DDC side of changes
R=leafp@google.com

Review URL: https://codereview.chromium.org/2362563004 .
2016-09-22 15:47:55 -07:00
John Messerly aa85651820 fix #27403, use AST summaries in DDC
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2353133004 .
2016-09-20 17:55:09 -07:00
John Messerly a4734d4b33 fix #27353, support @checked covariant parameters in DDC
Seems pretty straightforward. Just added a simple test for now.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2340463009 .
2016-09-15 15:42:04 -07:00
Jacob Richman 7341e3d34c Cleanup. Fix new analyzer errors due to recent strong mode changes.
BUG=

Review URL: https://codereview.chromium.org/2338323004 .
2016-09-15 10:45:05 -07:00
John Messerly 48817e61f7 fix strong mode messages in pkg/dev_compiler
R=vsm@google.com

Review URL: https://codereview.chromium.org/2314193002 .
2016-09-07 09:06:24 -07:00
Vijay Menon 9af2fb0115 More DDC mirrors support
(Note, this is a straight migration of the old DDC repo CL. :-))

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2301973002 .
2016-09-01 10:13:31 -07:00
Vijay Menon feb77b40a4 Bind this in ng2 hack code
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2291873002 .
2016-08-29 16:41:29 -07:00
Vijay Menon 6a1a03add4 Make source map paths relative
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2288453002 .
2016-08-26 16:31:53 -07:00
John Messerly c1139934a7 fix #626, add AMD module format and make it default
R=nweiz@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2249233002 .
2016-08-25 09:39:36 -07:00
Vijay Menon 8442efa4d3 Support call methods on functions
Fixes #624

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2255993002 .
2016-08-18 07:51:17 -07:00
John Messerly 0aa5cbd128 fix #620, infer the input files from sources
also simplifies build of packages used by our tests
this caused a bunch of tests that use parts to start passing

R=nweiz@google.com

Review URL: https://codereview.chromium.org/2234343003 .
2016-08-11 13:19:36 -07:00
Vijay Menon 3ddb76b95c Reify type params on map literals
Fixes #621

R=jmesserly@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/2211293002 .
2016-08-05 07:16:02 -07:00
John Messerly e51f9de339 fixes #616, statics on callable functions
also fixes `this` for them

R=vsm@google.com

Review URL: https://codereview.chromium.org/2200913002 .
2016-08-01 17:12:37 -07:00
John Messerly 344124e4a1 fix optional params to mock methods, allow all signatures
switches to use the same technique as `dsend`

R=vsm@google.com

Review URL: https://codereview.chromium.org/2201973002 .
2016-08-01 16:21:59 -07:00
Vijay Menon 437cca2923 Rename build-root to library-root
First step on #557.  Will eliminate the deprecated flag once upstream
uses are switched over.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2197243002 .
2016-08-01 08:30:32 -07:00
John Messerly 18769af805 restore code_generator file from b770039, the nSM mock fix
Review URL: https://codereview.chromium.org/2189683002 .
2016-07-27 09:49:58 -07:00
Brenna Milligan 3d03bee32d Library custom formatters
R=alanknight@google.com, jacobr@google.com, jmesserly@google.com

Review URL: https://codereview.chromium.org/2164763005 .
2016-07-22 14:15:53 -07:00
John Messerly c1e97b495f fix #603, support mock objects
if noSuchMethod is used to implement an abstract member, this will be detected and appropriate code will be generated.

R=leafp@google.com

Review URL: https://codereview.chromium.org/2158173003 .
2016-07-19 13:24:02 -07:00
Leaf Petersen fceb82f49d Fix null aware generic invocation.
Fixes #600

BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2132763002 .
2016-07-07 13:07:17 -07:00
Andrew Krieger 87bcbf9147 Move type tagging logic out of setSignature
setSignature is only called for classes with constructors or static
members, so previously _runtimeType was only set explicitly on such
classes. Now _runtimeType is not set on any classes except for Object,
and all other types inherit _runtimeType from Object.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2076713002 .
2016-06-27 15:29:15 -07:00
John Messerly d27eda4ffc implement user-defined nSM, Object members on functions
fix #591 and fix #59

R=vsm@google.com

Review URL: https://codereview.chromium.org/2061373003 .
2016-06-22 17:18:52 -07:00
Vijay Menon e8e19b4c5a Verify status of statically failing tests
This should catch tests that suddenly start failing (or passing).

This is an admittedly contrived approach to track compilation failures in
the same runtime logic: the statically failing tests are now compiled
to a trivial output that throws a particular exception.  Ideally, we
wouldn't run these, but it's beneficial to keep status in the same
place.

On my laptop, this only adds ~8s to presubmit (which takes ~2:30 min).

Ideas on alternative approaches welcome.  :-)

R=jmesserly@google.com, leafp@google.com

Review URL: https://codereview.chromium.org/2079373002 .
2016-06-22 06:25:48 -07:00
John Messerly 430e8f15af Partial fix for call methods #542
This fixes the generated code to support these. Subtype checks are not fixed yet.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2069903002 .
2016-06-16 16:38:43 -07:00
John Messerly fe360a9321 make "compile" command optional to address #505 2016-06-14 14:45:00 -07:00
John Messerly caff16a49a merged 2016-06-14 13:36:18 -07:00
John Messerly 1c0759a60b DDC changes for Analyzer src/task/strong/info.dart refactor
Review CL: https://codereview.chromium.org/2057373003/
2016-06-13 10:37:12 -07:00
Stephen Adams 68f90ac82b Refactoring assignment
The idea is to have more _emitXXX methods, so that different paths for
the same semantic action (e.g. implicit vs explicit 'this') call the
same _emitXXX method.

This is the first (simplest) step: assignments.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2039173005 .
2016-06-07 17:09:46 -07:00
Stephen Adams e68cee47a1 Handle more boolean conversion cases.
We were missing boolean conversion checks on logical operators in a
value context.

TBR=jmesserly@google.com

Review URL: https://codereview.chromium.org/2042883004 .
2016-06-06 19:51:58 -07:00
John Messerly ec945eed6f enable compatiblity with 1.18 SDKs
fixes #584, works around analyzer message #583

R=leafp@google.com

Review URL: https://codereview.chromium.org/2048463002 .
2016-06-06 17:29:02 -07:00
John Messerly 0ec17d170f Fixes #586 - enums should now work in SDK libs
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2045783002 .
2016-06-06 16:08:58 -07:00
Stephen Adams 5fd923523b Faster type tests
Put type tests (is, as, type assertion) on the types as 'is', 'as' and '_check' methods.
The check

    dart.check(x, core.String);

becomes

    core.String._check(x);

which is more concise and allows the test to be specialized.

In one scrolling action, 224ms in dart.as and dart.check is replaced by 89ms of checks across the specializations.

R=vsm@google.com

Review URL: https://codereview.chromium.org/2012153002 .
2016-06-03 15:35:42 -07:00
Stephen Adams 6ab35de1cf Further bitop optimizations
- avoid unsigned coercion when result is compared with constant
- avoid unsigned coercion when result is shifted right unsigned
- avoid call when right shift result has bits affected by sign bit masked out
- use values of named constants

R=vsm@google.com

Review URL: https://codereview.chromium.org/1950583002 .
2016-06-03 14:29:07 -07:00
Jacob Richman fb20c9d6a4 Switch how we track whether trackDdcProfile is set to reduce the performance impact. sra was seeing this call hit 14% usage in the chrome profile.
Fill in whitelist call ist and add support for list of whitelists that apply to calls only.

BUG=
R=vsm@google.com

Review URL: https://codereview.chromium.org/2032903003 .
2016-06-02 16:59:33 -07:00
Leaf Petersen de24eea382 Check for extension methods when using whitelist
BUG=
R=jacobr@google.com

Review URL: https://codereview.chromium.org/2037473002 .
2016-06-01 20:45:21 -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