Commit Graph

5559 Commits

Author SHA1 Message Date
scheglov@google.com c52c1736ee New analyzer_experimental snapshot.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25902 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 21:15:25 +00:00
ahe@google.com f724aafc87 Compute the correct signature for default constructors.
BUG=http://dartbug.com/12118
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25881 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 15:59:02 +00:00
kustermann@google.com c6b32a0599 Marking language/licm2_test as SKIP on ie9/ie10
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25880 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 15:56:08 +00:00
hausner@google.com e390ba9871 Fix access to type variables in initializer expressions
Allow initializer expressions to capture type arguments.
This used to crash because the receiver is not accessible
in initializer expressions. We don't need the receiver, we
just need to mark it as captured.

Fixes issue 8847.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25877 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 15:15:02 +00:00
johnniwinther@google.com 63f6d5ce6c Handle int/double case expression types correctly.
BUG=http://dartbug.com/11536
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25864 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 09:14:33 +00:00
johnniwinther@google.com 991c9a14f5 Fix uses of throw/rethrow.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25863 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 08:55:30 +00:00
johnniwinther@google.com 130f5ae816 More throw/rethrow fixes.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25861 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 08:04:38 +00:00
johnniwinther@google.com 33d13b8809 Fix uses of throw/rethrow in tests.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25860 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 07:38:44 +00:00
johnniwinther@google.com 1a2f104eaa Remove support for remaining deprecated features.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25858 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:58:25 +00:00
johnniwinther@google.com 79274687c3 Remove support for getters with parameters.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25857 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:35:47 +00:00
johnniwinther@google.com b7faf57835 Update analyzer status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25856 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:25:47 +00:00
johnniwinther@google.com 1319ddbac5 Remove support for missing part-of tag.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25855 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-07 06:02:10 +00:00
scheglov@google.com 190ed7012c Issue 12158. Report error when user code uses 'native' clause.
https://code.google.com/p/dart/issues/detail?id=12158

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25839 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 22:50:22 +00:00
fschneider@google.com 5e6dfa2cc3 Fix register allocation bug in building use intervals.
This bug was only exposed on ARM, but can be a problem
on other platforms as well.

When building the use intervals for a value that
is used more than once at one instruction, the use
interval was not adjusted correctly: Under certain
conditions the resulting interval can be too short.
It can occur when the first use is a writable register use,
and the second use is a normal register use.
This CL grows the use intervals to the correct size
in that case.

BUG=https://code.google.com/p/dart/issues/detail?id=11800
TEST=tests/language/regress_11800_test.dart
R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25810 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-06 12:43:09 +00:00
regis@google.com 09bcdc6d6d Fix VM implementation of CastError not to extend TypeError (issue 5280).
Remove non-compliant fields in various Error classes (issue 10144).
Remove implicit constructor when patching in a constructor (issue 12217).
Patch corelib Error classes instead of declaring subclasses.
Update tests and status files.

R=asiva@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25782 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-05 18:35:04 +00:00
scheglov@google.com 6990320e9c Issue 11987. Make typedef self-reference more restrictive.
https://code.google.com/p/dart/issues/detail?id=11987

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25775 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-05 17:40:15 +00:00
fschneider@google.com 086b60dada Fix a bug in compilation of try-finally.
When nesting try-finally, the outer finally was incorrectly executed
twice under certain conditions (a return in the inner try-block and a outer
finally-block that ends with throw)

This was because finally-code was inlined at return/break/continue statements
and it was associated with the wrong catch-handler when compiling.

This CL tracks indices of try-blocks in the parser so that each inlined
finally block has the correct catch handler index.

BUG=https://code.google.com/p/dart/issues/detail?id=11972
TEST=test/language/throw8_test.dart
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25767 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-05 13:49:48 +00:00
hausner@google.com 2c4b0c880a Forwarding constructors are never const
Forwarding constructors of mixing application classes do not
inherit the super constructor's const-ness. They are also
never abstract or external.

Fixes issue 11917.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25765 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-05 12:13:36 +00:00
scheglov@google.com 1ffea8cae7 Issue 12106. Ambiguous import is now always static warning, never error.
https://code.google.com/p/dart/issues/detail?id=12106

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25734 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 16:48:02 +00:00
zra@google.com fa2ad38a31 Enables per-function far-branches for ARM and MIPS.
R=regis@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25723 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 20:51:46 +00:00
scheglov@google.com abe238736b Report ASSIGNMENT_TO_CONST.
Also more language tests triage.
Some of the tests were already 'fixed' by reporting warnings, but still fail because they are negative (but should not be negative according to the spec).

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25713 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 17:24:13 +00:00
scheglov@google.com 31e79dba9f Triage the rest of the language tests.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25703 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-01 04:07:34 +00:00
regis@google.com 4c90984b43 Set local function type as uninstantiated when applicable (fix issue 12127).
Add language regression test.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25687 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 23:26:26 +00:00
regis@google.com 3b7cdf80a0 Update VM to handle malformed types according to revised spec (issues 9055,
12105, 7247).
Update language tests.
Update status files.
Allow map literals to specify a key type that is not a String.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25666 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 15:20:28 +00:00
fschneider@google.com 461bcccb89 Fix crash bug in the polymorphic inlining.
When inlining a polymorphic call site, we need to update
the use lists so that the graph entry blocks of all the
callee-graphs are removed from the environment use lists.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25665 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-31 14:57:49 +00:00
srdjan@google.com 053d885d02 Optimize equuality operation for two Boolean arguments.
R=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25636 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 20:44:25 +00:00
johnniwinther@google.com a7d13fa228 Treat ambiguous types as malformed.
BUG=
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25605 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-30 05:59:15 +00:00
fschneider@google.com d0858b91c8 Move VM-specific part of a test into a separate vm_test file.
This way dart2js runs the rest of the tests included in the original file.

BUG=https://code.google.com/p/dart/issues/detail?id=11937
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25560 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 13:44:21 +00:00
johnniwinther@google.com 514633d0c9 Update analyzer status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25556 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 10:58:27 +00:00
johnniwinther@google.com 9678639ff0 Update analyzer status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25555 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 10:41:54 +00:00
johnniwinther@google.com 62c042d679 Support new malformed types semantics.
BUG=http://dartbug.com/8325,http://dartbug.com/9056
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25553 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-29 10:19:58 +00:00
zra@google.com dad3270d95 Implements far branch targets for MIPS.
This change adds a flag --mips-far-branches, which when set causes
relative branches to be converted to absolute branches by determining
the PC, adding the branch offset to it, and using the jr or jalr
instruction to jump if the branch test passes.

This procedure clobbers the assembler temporary TMP, so TMP can no
longer be used in a branch test or in the branch delay slot of a
relative branch. Because TMP can't be used in a branch test, a
new temporary is introduced CMPRES2. This change replaces TMP with
CMPRES1 or another register where TMP can no longer be used.

Tests that were failing due to a too-far relative have the
--mips-far-branches flag set.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25543 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-26 23:30:32 +00:00
asiva@google.com c538002bc1 Fix status file (error_stacktrace_test fails only on dart2js)
Review URL: https://codereview.chromium.org//20507002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25500 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 21:23:50 +00:00
asiva@google.com 1b535a42e4 Mark error_stacktrace_test as Failing on dart2dart (Issue 11681).
Review URL: https://codereview.chromium.org//20426004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25495 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 20:31:36 +00:00
asiva@google.com dcb6850f87 Fix for issue 11680
- implicitly store a full stack trace in Error objects when they are thrown.
- the shlFromInt on Mints and Bigints was trying to allocate a new OutOfMemory
  exception objects instead of using the pre-allocated exception object.
  Made the implementation of these methods native so that they can use the
  pre-allocated object.
- Ensure that it is not possible to allocate new OutOfMemory or StackOverflow
  exception objects.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25492 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 19:28:53 +00:00
ahe@google.com 8c33fa12f7 Change how we emit code for Function.apply.
BUG=http://dartbug.com/11993
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25462 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-25 09:10:51 +00:00
regis@google.com 7b9a84dfbb Implement more restrictive checking of typedefs illegally referring to
themselves and fix vm issue 9611.
Update a test and add a test.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25382 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 23:17:42 +00:00
floitsch@google.com 1c1dfeff27 Add failing throw test.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25339 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 12:06:25 +00:00
regis@google.com 9581071936 Refactor resolution code in the vm to properly handle ambiguity errors.
Add test.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25324 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-23 00:19:39 +00:00
floitsch@google.com e26acab759 Update status file.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25269 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 12:26:52 +00:00
ahe@google.com e85e0ff11b Improve decoding of JS TypeError.
R=kasperl@google.com, ngeoffray@google.com, sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25262 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-22 10:47:29 +00:00
iposva@google.com eabff0f9b6 - Make sure to use class X.
Review URL: https://codereview.chromium.org//19568003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25241 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 20:46:01 +00:00
regis@google.com 30609cff91 Use library prefixes in scope of the mixin class when compiling a functions of
a mixin application (issue 11891).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25233 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 18:08:17 +00:00
iposva@google.com c65f3cc89a - Change the test for ambiguous definitions to be a
multi-test from a negative test.
- Add different combinations of ambiguity.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25231 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 17:51:55 +00:00
ngeoffray@google.com 8130feb2f8 Update status for dart2dart.
Review URL: https://codereview.chromium.org//19653003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25216 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 14:00:27 +00:00
ngeoffray@google.com 9ddf8e2bef Continue fiddling with status files.
Review URL: https://codereview.chromium.org//19802005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25209 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 12:44:20 +00:00
ngeoffray@google.com 5d9f90ae6b Update VM status file.
Review URL: https://codereview.chromium.org//19569009

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25208 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 12:36:11 +00:00
ngeoffray@google.com e418bb5ee0 Update status for dartanalyzer.
Review URL: https://codereview.chromium.org//19802004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25207 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 12:14:34 +00:00
ngeoffray@google.com ecdceaef1b Report an error if a const constructor calls a non-const constructor.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25206 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-19 12:05:35 +00:00
ngeoffray@google.com d9e212270c Update status for dart2dart.
Review URL: https://codereview.chromium.org//19723005

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