Commit Graph

5559 Commits

Author SHA1 Message Date
ngeoffray@google.com 14a850cad9 Do not use the NamedMixinApplication node for anonymous mixins: otherwise, the [MixinApplicationElement.computeTypeParameters] would create additional type variables that should not exist.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//19469003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25202 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 10:59:26 +00:00
kustermann@google.com 1cfac5f445 Status update for language/illegal_invocation_test
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org//19543007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25157 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 17:33:53 +00:00
ngeoffray@google.com 031cc9967c Status file update for dart2dart.
Review URL: https://codereview.chromium.org//19713004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25151 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 16:38:16 +00:00
ngeoffray@google.com c69aa59b7d Fix bot redness.
Review URL: https://codereview.chromium.org//19729005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25149 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 16:13:31 +00:00
ngeoffray@google.com 6d7b2a169e Rewrite how we handle synthesized constructors in the compiler. This was motivated by issue https://code.google.com/p/dart/issues/detail?id=11822.
This change:
- Removes the need to create synthesized nodes for the default constructor.

- Treats the default constructor and forwarding constructors in mixins uniformaly: they both are synthesized constructors that call a super constructor.

- Makes the compiler aware that some elements may not have nodes, and acts accordingly. Before, the default constructor had a synthesized node, so the compiler was happy with it. And the forwarding constructors were handled specially to just skip to a non-synthesized constructor. The latter behavior was the cause of issue 11822, and type inference problems.

- Makes the resolver implement what is specified in the specification for forwarding constructors: we create one synthesized constructor per generative constructor of the super class.

- Implements forwarding constructor in named (aka typedef) mixin applications. See builder.dart, and mixin_typedef_constructor_test.dart

- Implements const classes in the presence of mixins: tests/language/const_constructor_mixin_test.dart.

- Fixes type inference in the presence of forwarding constructors: tests/language/inference_mixin_field_test.dart.

R=ahe@google.com, karlklose@google.com

Review URL: https://codereview.chromium.org//19754002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25148 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 15:51:40 +00:00
fschneider@google.com e6b8a47f6d Disable allocation sinking in the presence of try-catch.
Allocation sinking does not handle the case of optimized try-catch yet.

I added a TODO to support it at a later point.

BUG=https://code.google.com/p/dart/issues/detail?id=11873
TEST=tests/language/try_catch_optimized2_test.dart
R=srdjan@google.com

Review URL: https://codereview.chromium.org//19462004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25146 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 14:13:38 +00:00
regis@google.com 4891c126bb Fix generic mixins (issue 11803).
R=hausner@google.com

Review URL: https://codereview.chromium.org//19669010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25136 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-18 00:23:04 +00:00
brianwilkerson@google.com 34ee1e7515 Add implicit blocks in 'if', 'do', 'for', and 'while' statements. This is a result of a change in the specification. See issue 11817 for context.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//19681002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25123 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 21:03:50 +00:00
hausner@google.com 48912b65c7 Update status to make dartium happy
Review URL: https://codereview.chromium.org//19655002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25114 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 18:20:12 +00:00
hausner@google.com 3bf759dcbf Mixin test to repro issue 11803
Minimal test case to reproduce issue 11803

Review URL: https://codereview.chromium.org//19646002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25109 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 17:51:14 +00:00
kustermann@google.com e9a3d1c148 Status file update after dart2js inlining heuristic changes
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//19572003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25099 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 14:21:06 +00:00
kustermann@google.com 37560ff519 Support for inlining small methods (independent of they're called inside a loop or not)
BUG=http://dartbug.com/11478
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//19250002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25093 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-17 13:03:11 +00:00
scheglov@google.com 41d8e6ee39 Test running changes.
1. Change in the test runner to consider any warning as warning.

After this following was required:

2. Triage language tests.

3. Triage co19 tests.

R=brianwilkerson@google.com, kustermann@google.com
BUG=

Review URL: https://codereview.chromium.org//18174010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25069 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 20:35:51 +00:00
ngeoffray@google.com 8d7f4cb3d2 Test now times out on IE.
R=ahe@google.com

Review URL: https://codereview.chromium.org//19378003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25049 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 15:48:43 +00:00
ngeoffray@google.com 319a4c8fc7 Fix crash https://code.google.com/p/dart/issues/detail?id=11793: only compute a range for a loop if all its inputs are integer.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//19347002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25043 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 10:27:16 +00:00
ngeoffray@google.com f6651e3eb0 Fix crash https://code.google.com/p/dart/issues/detail?id=11724: check for erroneous before asking for the signature of an element.
R=karlklose@google.com

Review URL: https://codereview.chromium.org//19332003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25040 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-16 09:08:10 +00:00
kustermann@google.com 057b26ee73 Add regression test for bugfix in r24908
R=ngeoffray@google.com

Review URL: https://codereview.chromium.org//19170002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24998 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-15 10:26:07 +00:00
zra@google.com 765960a56f Removes checks for stack overflow from arm and mips simulators
The checks were performed before runtime and native calls,
but if we abort on an assertion failure there, then we
never make it to the StackOverflow runtime call.

R=regis@google.com

Review URL: https://codereview.chromium.org//18704006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24979 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 23:06:27 +00:00
hausner@google.com 4c629b9b50 Implement forwarding constructors for mixins
By popular demand, fixes issue dartbug.com/9339

R=srdjan@google.com

Review URL: https://codereview.chromium.org//19023005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24977 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 22:09:18 +00:00
regis@google.com 71f88546cc Stop resolving classes prematurely in the vm (issue 11023).
Add missing class finalization to mirrors tests.

R=hausner@google.com

Review URL: https://codereview.chromium.org//19030004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24965 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 17:59:17 +00:00
regis@google.com 8973a8a06f Fix type check elimination bug in code generator (issue 11792).
R=srdjan@google.com

Review URL: https://codereview.chromium.org//18147021

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24962 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 17:37:38 +00:00
zra@google.com c2652c8bc4 Fixes bug in double to int conversion on arm.
R=regis@google.com

Review URL: https://codereview.chromium.org//18295007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24960 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 16:56:38 +00:00
fschneider@google.com 2b947158c7 Fix bug in the inliner when dealing with named optional parameters.
In case of a name mismatch the inliner would still inline the target
method as if nothing was wrong. Added a check that all actual named
arguments are matched against a formal parameter.

TEST=tests/language/named_parameters_with_conversions_test.dart
R=srdjan@google.com

Review URL: https://codereview.chromium.org//18170003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24954 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 16:02:02 +00:00
zra@google.com 9c7f5ca94a Updates status file for crashing test on arm.
Review URL: https://codereview.chromium.org//18473009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24936 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 00:30:34 +00:00
zra@google.com 454327ac05 Updates status file for failing test on arm.
Review URL: https://codereview.chromium.org//19078002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24935 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-12 00:03:37 +00:00
srdjan@google.com 6d8d7388aa Remove unnecessary loop in a test.
Review URL: https://codereview.chromium.org//5799236641751040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24928 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 20:19:20 +00:00
srdjan@google.com 1203f09650 More tests updated to optimize code (Part 2).
R=asiva@google.com

Review URL: https://codereview.chromium.org//18563006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24927 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 20:12:37 +00:00
srdjan@google.com 2ea6b9ee3e Add VMOptions to optimize tests that need to be (Part I).
R=asiva@google.com

Review URL: https://codereview.chromium.org//19034002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24923 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 17:47:40 +00:00
johnniwinther@google.com c13ac06bbe Remove support for conflicting constructors.
This removes the support for constructors with the same name as members. For instance:

class Foo {
 Foo.bar();
 static bar() {}
}

R=ahe@google.com

Review URL: https://codereview.chromium.org//18670003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24914 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 13:05:05 +00:00
floitsch@google.com 73a0db0692 Update test and status file.
R=ahe@google.com

Review URL: https://codereview.chromium.org//18531006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24910 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 11:36:45 +00:00
scheglov@google.com cdfb38b317 New analyzer_experimental snapshot.
The biggest change is in formatting long list literals.
It looks now better and also does not turn Editor into text mode for couple files.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//18612009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24903 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 01:51:53 +00:00
scheglov@google.com c53342b996 Report MIXIN_TYPEDEF_CYCLE.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18293017

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24902 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 01:34:21 +00:00
scheglov@google.com 891af98050 NEW_WITH_INVALID_TYPE_PARAMETERS is warning
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//19018005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24901 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-11 01:28:46 +00:00
zra@google.com 20dcf8afaa Implements OSR for arm and mips.
R=regis@google.com

Review URL: https://codereview.chromium.org//19017007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24896 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-10 23:45:18 +00:00
scheglov@google.com 15239a3a3a Report EXPECTED_ONE_LIST_TYPE_ARGUMENTS.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18660007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24888 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-10 21:32:55 +00:00
scheglov@google.com 9f9f62000b Report MAP_VALUE_TYPE_NOT_ASSIGNABLE warning/error.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//18197003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24880 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-10 16:53:06 +00:00
fschneider@google.com f260416fb8 Support fast noSuchMethod dispatch for any number of arguments.
Until now, the fast dispatch was only available with getters and
zero argument methods.

This CL generalizes the approach to any number of arguments. The
dispatcher functions that are auto-generated by the compiler
are not attached to the class anymore. Instead the dispatcher
is only stored in the IC data of each call site. Each class
contains a cache of dispatcher function that map
(name, arguments descriptor) => dispatcher.

This also fixes a bug where the VM report a wrong error message
when throwing a NoSuchMethodError.

BUG=https://code.google.com/p/dart/issues/detail?id=11528
BUG=https://code.google.com/p/dart/issues/detail?id=11223
TEST=tests/language/no_such_method_dispatcher_test.dart
R=srdjan@google.com

Review URL: https://codereview.chromium.org//18097004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24876 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-10 10:09:14 +00:00
scheglov@google.com 4875b2776b Report LIST_ELEMENT_TYPE_NOT_ASSIGNABLE warning/error.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//18473006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24862 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 19:59:31 +00:00
regis@google.com e8a722870b Support type parameters and classes as expression in the vm.
Turn many compile-time errors into runtime errors per latest spec.
Triage affected tests.

R=hausner@google.com

Review URL: https://codereview.chromium.org//18801007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24861 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 19:35:56 +00:00
scheglov@google.com 21b2cc4d8d Fix for parsing top-level variable named 'get' or 'set'.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18532010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24851 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 16:44:27 +00:00
scheglov@google.com 4f382a4092 Report EXTENDS_NON_CLASS for 'extends dynamic'.
From the old Gilad message: Dynamic is not a class, so this is invalid as well, but for other reasons. In particular, there is no need for a special rule banning it.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//18523012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24834 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 02:25:00 +00:00
scheglov@google.com 9daa818057 Report REDIRECTION_IN_NON_FACTORY_CONSTRUCTOR.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//18341022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24833 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-09 02:21:15 +00:00
scheglov@google.com 8bfdd280e9 Report IMPLEMENTS_SUPER_CLASS
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18808002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24804 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-08 16:36:42 +00:00
scheglov@google.com 9a05cff056 Report RETURN_IN_GENERATIVE_CONSTRUCTOR for ExpressionFunctionBody in generative constructor.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18810002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24802 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-08 16:30:22 +00:00
scheglov@google.com b3f151638e Report RESULT_NUM when constant value is String + String.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18772003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24800 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-08 16:27:18 +00:00
scheglov@google.com 58e638766c Report CTEC.ARGUMENT_TYPE_NOT_ASSIGNABLE and extra/not-enough arguments as errors.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//18690009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24790 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-07 18:11:36 +00:00
johnniwinther@google.com 02782d7cff Add regression test for r24720.
BUG=
R=karlklose@google.com

Review URL: https://codereview.chromium.org//18090004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24780 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-05 07:11:46 +00:00
johnniwinther@google.com 395aab4cb2 Fix minified signature generation.
BUG=dartbug.com/11469
R=erikcorry@google.com, karlklose@google.com

Committed: https://code.google.com/p/dart/source/detail?r=24715

Review URL: https://codereview.chromium.org//18156006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24773 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-04 12:07:43 +00:00
floitsch@google.com 1cbf824a2b Update status file.
Review URL: https://codereview.chromium.org//18328023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24745 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 20:12:30 +00:00
scheglov@google.com 532aa2fab4 New analyzer_experimental snapshot.
Fixes also compilation problem in java2dart translator.

R=pquitslund@google.com
BUG=

Review URL: https://codereview.chromium.org//18325018

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24744 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 19:47:59 +00:00