Commit Graph

118 Commits

Author SHA1 Message Date
danrubel@google.com fea0ced904 Convert raw strings in compiler
Review URL: https://codereview.chromium.org//10970038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12783 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 15:22:07 +00:00
ahe@google.com 970a4ee600 A library element should know its compilation units.
Review URL: https://codereview.chromium.org//10960033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12755 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-24 06:53:12 +00:00
johnniwinther@google.com 2a82f822b9 Import scope rules updated.
BUG=2946

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12706 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 14:02:25 +00:00
johnniwinther@google.com 608c199175 Stub implementation of patch invariants for the patch refactoring.
This is the first part of the patch refactoring which implements
a stub version of the invariants needed for the new patch implementation.

See the library comment in lib/compiler/patch_parser.dart for a detailed
description of the new patch system, the terminology and the invariants.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12687 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 09:31:08 +00:00
ahe@google.com fcc9f5f0ff Parse new library syntax.
Committed: https://code.google.com/p/dart/source/detail?r=12386
But reverted in: https://code.google.com/p/dart/source/detail?r=12387

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12686 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-21 09:08:12 +00:00
ahe@google.com 8b7b049559 Revert "Parse new library syntax."
This reverts r12386.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12387 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-14 14:35:47 +00:00
ahe@google.com 4f66bc9539 Parse new library syntax.
Review URL: https://chromiumcodereview.appspot.com//10911298

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12386 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-14 14:13:10 +00:00
ngeoffray@google.com b2b57490f9 Runtime support for the new parameter specification.
Review URL: https://chromiumcodereview.appspot.com//10911211

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12258 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-12 12:01:17 +00:00
ngeoffray@google.com 938ce7ebe8 Fix import, spotted by checked mode.
Review URL: https://chromiumcodereview.appspot.com//10917163

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12107 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-10 11:10:00 +00:00
ngeoffray@google.com 13dd7022b5 num implements Comparable and Hashable.
Review URL: https://chromiumcodereview.appspot.com//10916172

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12037 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-07 14:20:36 +00:00
lrn@google.com be2453bae1 Removed/moved "assert" function to core_patch.dart as "_assert".
Changed resolution of assert to only accepting assert in a statement position.
Added more assert tests.

Review URL: https://chromiumcodereview.appspot.com//10915083

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12026 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-07 12:45:02 +00:00
karlklose@google.com 54538f6161 Generate a warning and a runtime error for calls to nonexistent static calls, getters and setters.
R=ngeoffray@google.com
BUG=3086,3089,3095

Review URL: https://chromiumcodereview.appspot.com//10920089

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@12011 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-07 10:41:38 +00:00
ngeoffray@google.com 7ef6d7aac2 Re-apply with a few fixes http://codereview.chromium.org/10913081/: Fix resolution of type parameters in static context, and the use of type parameters in closures.
Review URL: https://chromiumcodereview.appspot.com//10910098

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11966 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-06 16:31:30 +00:00
sgjesse@google.com 247f05e863 Better tracking of provided types at call sites
The tracking of provided types at call sites now take both the
type of named arguments from selectors and the type of the
defualt values for optional paramters into account.

To know the type of the default values for optional parameters
the constant expressions for the default values are always
compiled before the function.

In order to check whether a new selector invalidates the current
provided types for a function the default values for the optional
parameters needs to be stored with all registered optimized
functions.

R=kasperl@google.com

BUG=

Review URL: https://chromiumcodereview.appspot.com//10908068

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11917 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-06 06:38:15 +00:00
ngeoffray@google.com 2edbe0b892 Revert r11881. metadata_test fails for yet to be discover reasons.
Review URL: https://chromiumcodereview.appspot.com//10918078

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11889 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-05 17:04:38 +00:00
ngeoffray@google.com f1aece76c4 Fix resolution of type parameters in static context, and the use of type parameters in closures.
Review URL: https://chromiumcodereview.appspot.com//10913081

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11881 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-05 16:04:25 +00:00
ager@google.com 156e6a71b5 First corelib cleanup patch after unification.
Do not go through coreimpl for object implementation. Instead, use patching
in core directly.

This leads to error message issues in dart2js which I have patched up
the best way I could find.

R=ajohnsen@google.com,johnniwinther@google.com,lrn@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10918047

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11784 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-04 07:26:02 +00:00
ahe@google.com 47db61e5de Parse argument definition test expressions.
Review URL: https://chromiumcodereview.appspot.com//10915030

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11748 260f80e4-7a28-3924-810f-c04153c831b5
2012-09-03 08:26:01 +00:00
ngeoffray@google.com b31af3710a Support checked mode for field setters.
Review URL: https://chromiumcodereview.appspot.com//10908012

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11646 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 19:37:16 +00:00
karlklose@google.com c3d24e1eaf Rename Type to DartType to avoid conflicts with the class Type in the core library.
BUG=http://code.google.com/p/dart/issues/detail?id=4810

Review URL: https://chromiumcodereview.appspot.com//10911007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11619 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-30 15:13:29 +00:00
ahe@google.com 25139ee7e5 Support unary - operator.
Committed: https://code.google.com/p/dart/source/detail?r=11444 (first attempt failed)

Review URL: https://chromiumcodereview.appspot.com//10870066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11496 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 08:39:02 +00:00
kasperl@google.com 3886bb7ee4 Remove more warnings.
R=ahe@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10890007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11489 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-29 05:54:40 +00:00
ahe@google.com 8a347d7bcd Revert "Support unary - operator."
This reverts r11444.

Review URL: https://chromiumcodereview.appspot.com//10892005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11446 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-28 14:15:16 +00:00
ahe@google.com 11e4924af4 Support unary - operator.
Review URL: https://chromiumcodereview.appspot.com//10870066

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11444 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-28 13:55:11 +00:00
iposva@google.com 43c364c8e5 - Change "static final" to "static const" in the lib/ directory.
Review URL: https://chromiumcodereview.appspot.com//10880068

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11401 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-27 18:28:29 +00:00
ngeoffray@google.com 64df7e49ba Support non-const instance field initializers.
Review URL: https://chromiumcodereview.appspot.com//10873033

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11305 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-24 13:04:29 +00:00
ahe@google.com a22ed2cf6b Support abstract getters without parameters.
Review URL: https://chromiumcodereview.appspot.com//10880040

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11293 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-24 08:26:17 +00:00
ngeoffray@google.com 454bf5963d Inlining of static functions: applying Florian's CL.
Review URL: https://chromiumcodereview.appspot.com//10873025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11226 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 13:01:14 +00:00
ahe@google.com 88467d4dfe Evaluate compile-time constants of metadata.
Review URL: https://chromiumcodereview.appspot.com//10870010

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11212 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-23 06:28:25 +00:00
johnniwinther@google.com 7c61b110d8 Const variables handled as final
Review URL: https://chromiumcodereview.appspot.com//10879003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11170 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 16:15:15 +00:00
ahe@google.com 234caf4849 Create an outline of metadata API in dart2js.
Review URL: https://chromiumcodereview.appspot.com//10879006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11147 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 13:37:13 +00:00
lrn@google.com d82749cc47 Make addGetterOrSetter (now: defineAccessor) not add the abstract field as a member.
The abstract field element is only present as a result of a named
lookup in order to return both getter and setter as one result.

Review URL: https://chromiumcodereview.appspot.com//10837140

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11142 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 12:57:04 +00:00
ahe@google.com 1ada772cc1 Remove most superfluous getter arguments from dart2js.
Review URL: https://chromiumcodereview.appspot.com//10876008

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11123 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-22 06:33:24 +00:00
karlklose@google.com 5ac1789d6c Fix dart2dart and dart2js build.
TBR=antonm@google.com

Review URL: https://chromiumcodereview.appspot.com//10827442

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11051 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 14:36:38 +00:00
antonm@google.com d5525c3fa6 Better version of TypeVariableElement.position.
R=ahe@google.com,johnniwinther@google.com

Review URL: https://chromiumcodereview.appspot.com//10837361

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11047 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 14:10:33 +00:00
antonm@google.com 435969e63b Implement TypeVariableElement.position.
R=ahe@google.com,johnniwinther@google.com

Review URL: https://chromiumcodereview.appspot.com//10824399

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11044 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:54:05 +00:00
karlklose@google.com aeafe0fdda Add erroneous elements for function types and use them to allow unresolvable constructors to be handled in the backend.
This is the first step towards runtime error handling of unresolvable constructors, library prefixes and constructor names in new-expressions.

Review URL: https://chromiumcodereview.appspot.com//10829379

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11042 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:40:07 +00:00
ahe@google.com 2134fa0fc1 Clean up state handling in ClassElement.
Review URL: https://chromiumcodereview.appspot.com//10823311

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11040 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 13:23:34 +00:00
karlklose@google.com 16a2cbd760 Fix some type warnings.
Review URL: https://chromiumcodereview.appspot.com//10824350

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@11028 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-21 10:38:00 +00:00
ahe@google.com 19851497ff Support new getter syntax.
Review URL: https://chromiumcodereview.appspot.com//10831332

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10956 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-20 13:26:38 +00:00
lrn@google.com ed1ed6472d Make top-level patch injections be compilation unit under library.
Review URL: https://chromiumcodereview.appspot.com//10824347

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10895 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 13:08:00 +00:00
ajohnsen@google.com 3109b142a3 Fix a performance regressions introduced by r10632.
This gives the compiler the exact same behaviour as before.

BUG=

Review URL: https://chromiumcodereview.appspot.com//10827353

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10891 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 12:12:53 +00:00
johnniwinther@google.com ac5a4808d8 Skeleton typedef type implementation
Review URL: https://chromiumcodereview.appspot.com//10832136

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10880 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 11:15:44 +00:00
ager@google.com 59df4e7735 Add a couple of workarounds for issues caused by current dart2js patch
support.

R=johnniwinther@google.com,lrn@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10836312

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10878 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-17 10:45:08 +00:00
floitsch@google.com ecae19772f Fix field-accesses for private fields that were "shadowed" by other private fields.
Review URL: https://chromiumcodereview.appspot.com//10827359

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10827 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 16:16:17 +00:00
kasperl@google.com 3b87631a1c Make selector registration in the resolver and code generator more explicit.
Get rid of registerFieldClosureInvocations() in the enqueuer by explicit
registering the closure call selectors when we may be calling a getter in
the resolver and the code generator.

R=floitsch@google.com,ahe@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10854158

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10805 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-16 11:52:44 +00:00
lrn@google.com 640e0ee99b Clean-up of getCompilationUnit.
Fixes a few places that assumes libraries can be compilation units.
- VoidElement now belongs to the entry compilation unit of the core library.
- Abstract fields now belong to the compilation unit of the creating accessor.

Review URL: https://chromiumcodereview.appspot.com//10834330

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10711 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-15 11:38:56 +00:00
ahe@google.com 474a7d6d56 Check overrides.
Review URL: https://chromiumcodereview.appspot.com//10836235

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10677 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 20:23:58 +00:00
kasperl@google.com e8268dd78a Add name and library to selectors.
This is the first step towards improving the Selector as an
abstraction used by the resolver, builder, and enqueur. The
intent is to have the resolver construct selectors that can
be used for method lookup, tree shaking, and for simplifying
the logic we use to build the correct SSA instructions for
sends (some of which are quite complex).

Next step is to get rid of more of the adhoc selector building
that's done outside of the resolver and clean up how we resolve
sends. After that, I'll start removing the need for passing
around both a name and a selector in a lot of places.

R=ahe@google.com,sgjesse@google.com
BUG=

Review URL: https://chromiumcodereview.appspot.com//10825337

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10637 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 12:21:51 +00:00
ajohnsen@google.com a262657ca0 Fix bugs found in checked mode.
BUG=

Review URL: https://chromiumcodereview.appspot.com//10826302

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@10636 260f80e4-7a28-3924-810f-c04153c831b5
2012-08-14 12:08:31 +00:00