Commit Graph

5559 Commits

Author SHA1 Message Date
johnniwinther@google.com cdf040237f Handle exports being registered before declarations.
BUG=
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28221 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 13:39:49 +00:00
lrn@google.com d63d797839 Mark language/import_combinators_test as failing.
BUG= http://dartbug.com/13793

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28216 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 12:59:50 +00:00
johnniwinther@google.com 2a375ea84f Update handling of exports.
BUG=http://dartbug.com/13750
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28214 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 12:47:53 +00:00
karlklose@google.com 38ee5cb1e2 Emit a compile-time error for uninitialized final variables.
BUG=13020,13222
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28204 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 10:42:31 +00:00
johnniwinther@google.com 33da06f01a Update status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28200 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 09:01:32 +00:00
johnniwinther@google.com 6a6bfa9e3c Check mixin of black-listed types.
BUG=http://dartbug.com/12445
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28197 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-03 08:10:30 +00:00
scheglov@google.com 81918c517e Report BUILT_IN_IDENTIFIER_AS_TYPE for formal parameters.
R=brianwilkerson@google.com, jwren@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28185 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 22:01:53 +00:00
hausner@google.com 3f238a01a5 Add type check to const conditional expression evaluation
issue 13746

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28182 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 21:08:24 +00:00
hausner@google.com a1cbe467e6 Wrong test expectation in const_conditional_test/08
Review URL: https://codereview.chromium.org//25674006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28169 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 16:30:00 +00:00
kustermann@google.com af4976424c Mark const_conditional_test/08 as failing on drt/dartium
TBR=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28166 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 14:55:58 +00:00
ngeoffray@google.com b01493eee0 Use selectors instead of names to know if a call site returns the element of a list. This fixes the bug where, for example, a.last() would return the element type of the list.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28163 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 14:06:43 +00:00
johnniwinther@google.com a7dedab49b Update status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28160 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 13:37:20 +00:00
johnniwinther@google.com 41135e1734 Handle compile-time constness for conditionals and type literal calls.
BUG=http://dartbug.com/13270
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28154 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 12:43:48 +00:00
kustermann@google.com 22d20313b4 Implement testing support for "--compiler=none --runtime=dartium"
This is implemented without the broken unittest-based wrapping of tests.

R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28141 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-02 07:37:50 +00:00
hausner@google.com 4882c514b0 Support compile time constant conditional expressions
Per latest spec (section 12.1, 0.61 draft)

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28131 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 23:00:08 +00:00
regis@google.com 79b9edbf2a Do not share type arguments of mixin types, but clone them to avoid finalization
errors when cycles are involved (issue 13688).
Add regression test.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28107 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 18:26:05 +00:00
hausner@google.com 1ea4547a96 Disallow double in case clauses and const map literal keys
Implements the latest Spec decisions and clarifications.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28104 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 17:22:39 +00:00
johnniwinther@google.com 68f0116b7b Update analyzer status.
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28094 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 11:58:34 +00:00
johnniwinther@google.com 05f2ef4d7d Check that constant locals have constant initializers.
BUG=
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28093 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 11:47:40 +00:00
johnniwinther@google.com 0f0a48fd7b Move compile-time constant registrations to the backend.
This prepares for handling compile-time constant evaluation in the resolution post-processing.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28091 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 11:32:03 +00:00
fschneider@google.com a329b0e6bc Dart VM: Simplify code generation for equality operators.
By inserting the necessary checks for null inside the callee
at the AST level, the code generation of == operations can be
greatly simplified.

This is a performance-neutral change and a step for allowing
generic inlining of arbitrary == methods. So far we could only
inline them for a common set of types in the flow graph
optimizer.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28084 260f80e4-7a28-3924-810f-c04153c831b5
2013-10-01 10:10:50 +00:00
kustermann@google.com 8a26a3e665 Status file fix
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28046 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-30 11:28:04 +00:00
kustermann@google.com 37858af9e7 Fixed status file update: Restrict MissingCompileTimeError to VM (drt doesn't support it)
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28045 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-30 10:41:10 +00:00
ngeoffray@google.com a61441da8f When visiting arguments in the resolver, always set the [sendIsPropertyAccess] to false.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28044 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-30 10:11:15 +00:00
kustermann@google.com b470d2572a Report MissingCompileTime errors on the VM, status file updates for the remaining issues
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28043 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-30 08:37:59 +00:00
scheglov@google.com 61abfa0ca9 Support for --no-hints in analyzer_experimental.
I did one more snapshot to pick up your latest changes.
I have to extract ErrorCode variables because of type model difference in Java vs. Dart.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28016 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 16:54:38 +00:00
karlklose@google.com 4d1cc0da05 Emit a compile-time error when a named optional parameter has a library private name.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28012 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 14:34:21 +00:00
karlklose@google.com 8255ab3f14 Emit compile-time error when a constant field is not initialized.
R=johnniwinther@google.com

BUG=12932

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28003 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 11:37:41 +00:00
ngeoffray@google.com e340fc4dc9 Re-apply "Move the container tracer to the call graph inferrer.".
If we closurize a method, we still need to collect the users of the parameters for the trace container pass to work.

R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@28001 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 10:31:45 +00:00
ngeoffray@google.com 9bee8c6109 Fix list length optimization bug: do not inline a length access to a constant if the receiver can be null.
Review URL: https://codereview.chromium.org//24680006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27989 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 07:08:12 +00:00
karlklose@google.com e18701ee0b Emit a warning and runtime error when assigning to a function.
BUG=13075
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27987 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 06:53:54 +00:00
regis@google.com 6531272706 Support forwarding constructors for mixin typedefs (issue 11888).
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27979 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-27 00:26:22 +00:00
regis@google.com 42972d1e37 Fix test failure expectations and update status files.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27976 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-26 22:19:02 +00:00
hausner@google.com b0780d316b Check types of case expressions
Implement checks to make sure all case expressions are of the same type and other restrictions.

This change assumes that it's ok to use double values in switch expressions. Will verify with those who are in the know.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27968 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-26 18:54:15 +00:00
ngeoffray@google.com 21bb51cfab Fix bug in the requested type of an SSA instruction: avoid requesting a ContainerTypeMask.
R=kasperl@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27949 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-26 13:02:25 +00:00
kasperl@google.com 956551b6b6 Update status files.
R=ricow@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27930 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-26 06:25:53 +00:00
scheglov@google.com 7ce03ef926 New analyzer_experimental snapshot.
There are couple small changes in analyzer itself:

1. AnalysisCache.entrySet() to return Collection instead of Set - it is expensive to fill actual Set in Dart - hash code, equals, etc. We know there are no duplicates.

2. Matcher in TODO scrapper - there are no start(i) in Dart, I have to change implementation to translate it accurately.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27889 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 16:02:19 +00:00
kustermann@google.com 5bc3562149 Mark language/malformed_test/none as CompileTimeError on dart2dart-vm
This test is behaving differently on dart2dart as does on dart2js (where it is a
RuntimeError)

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27879 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 14:33:24 +00:00
kustermann@google.com dfbf264f40 Automatically converted general Fail status file markers to one of the more specific markers
R=johnniwinther@google.com, ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27876 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 12:47:03 +00:00
ngeoffray@google.com 2316764c9a Ensure only a subset of elements enter in Compiler.analyzedElement.
This was an assumption that most phases had without ensuring them.

R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27871 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-25 09:56:03 +00:00
ngeoffray@google.com 9ac7089179 If the element or selector is a setter, make sure to use the runtime setter name to know whether we need to emit the reflection name.
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27842 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 19:38:55 +00:00
karlklose@google.com 30c9fd6dbe Remove prefix from status file entries.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27799 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 07:10:32 +00:00
karlklose@google.com e39770e0eb Update analyzer test expectations for commit 27796.
R=ngeoffray@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27797 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 06:56:03 +00:00
karlklose@google.com 86d169969c Emit compile-time error for 'static' formal parameters.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27796 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 06:32:50 +00:00
regis@google.com 3b5628fd1b Support mixin application typedef as mixin in the VM (issues 9383, 12773).
Disallow Object as mixin (issue 10952).
Detect illegal cycles in mixins.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27791 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-24 00:25:01 +00:00
ngeoffray@google.com bc51d7789f Update status file.
Review URL: https://codereview.chromium.org//24334005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27763 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 14:04:04 +00:00
ngeoffray@google.com ff74feb0df Test does not pass in minified mode.
Review URL: https://codereview.chromium.org//24362003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27762 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 14:00:20 +00:00
kasperl@google.com 39283e54b3 Fix http://dartbug.com/13462.
R=johnniwinther@google.com, ngeoffray@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27759 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 13:12:16 +00:00
fschneider@google.com 81b8e04b61 VM: Fix bug in constant propagation with integer division and modulo.
BUG=https://code.google.com/p/dart/issues/detail?id=13498
TEST=tests/language/div_with_power_of_two2_test.dart
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27757 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 11:52:09 +00:00
ngeoffray@google.com b3b9cfde78 Re-apply r27739: Fix invocation_mirror_test.dart.
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@27751 260f80e4-7a28-3924-810f-c04153c831b5
2013-09-23 11:06:56 +00:00