hausner@google.com
eee56248f0
Remove support for legacy abstract declarations
...
Make keyword 'abstract' illegal in front of class member declarations.
Review URL: https://codereview.chromium.org//12016005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17243 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-18 00:01:14 +00:00
srdjan@google.com
37a715bbbf
Lookup functions by name that contains the private key, except for dart_api which allows ignoring the private key.
...
Review URL: https://codereview.chromium.org//11968022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17178 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-17 00:42:03 +00:00
hausner@google.com
cfb3b53aac
Check whether exceptions are caught
...
The debugger can now determine whether an exemption will be caught or not.
Review URL: https://codereview.chromium.org//11946020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17167 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-16 22:16:09 +00:00
hausner@google.com
245c0e2c3e
Collect debugging info for catch clauses
...
Collect info about try-statement nesting, and a list of
handled types in each catch clause. This will be used by
the debugger to determine whether an exception is handled
by any handler on the stack.
Review URL: https://codereview.chromium.org//11883023
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17100 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-15 22:43:00 +00:00
fschneider@google.com
75c4844bf5
Cleanup uses of X::CheckedHandle where X::Cast or X::Handle is sufficient.
...
The only places where CheckedHandle is appropiate is with arguments to
runtime functions and values from Dart API functions.
For other places in the VM either normal Handle and ^=, or Cast is sufficient.
T::Cast is used when the value is guaranteed to be of type T (and never Object::null()).
Otherwise, the operator^= is used for casting.
Also fix a style issue where a Raw* should be used as return type.
Review URL: https://codereview.chromium.org//11826024
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@17013 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-14 09:51:48 +00:00
regis@google.com
34df344e36
Fix context chaining to prevent memory leak (issue 7681).
...
Review URL: https://codereview.chromium.org//11806003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16757 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 22:24:11 +00:00
floitsch@google.com
4a7dfd2da3
Big merge from experimental to bleeding edge.
...
Review URL: https://codereview.chromium.org//11783009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16687 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 11:23:16 +00:00
kmillikin@google.com
309fcb1ba3
Fix incorrect desugaring of cascades.
...
Make use of the attractive and powerful way that the LoadLocal expression is
really a pair of an arbitrary statement and a local variable load.
BUG=dart:7494
Review URL: https://codereview.chromium.org//11745028
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16684 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-07 10:03:17 +00:00
asiva@google.com
4c069867e4
- Make Boolean 'true' and 'false' singleton VM isolate objects.
...
- Change all uses of it
Review URL: https://codereview.chromium.org//11745022
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16623 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-04 01:52:05 +00:00
asiva@google.com
7022b39e35
Convert all symbol accessors to return read only handles so that it is not necessary to create a new handle in the code that uses it.
...
Added a few more strings to the symbols list.
Review URL: https://codereview.chromium.org//11667012
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16584 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-02 19:31:59 +00:00
regis@google.com
cb27634842
Remove NoSuchMethodErrorImplementation class and use NoSuchMethodError from core
...
lib instead.
Review URL: https://codereview.chromium.org//11712002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16583 260f80e4-7a28-3924-810f-c04153c831b5
2013-01-02 18:52:28 +00:00
hausner@google.com
a2d682d1d8
Improve line info accuracy in debugging
...
Review URL: https://codereview.chromium.org//11696005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16550 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-28 18:51:58 +00:00
tball@google.com
18e748d0b3
Implemented class literals in the VM.
...
Review URL: https://codereview.chromium.org//11633054
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16530 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-27 23:45:40 +00:00
regis@google.com
d273efd45f
Turn compile time errors related to missing getters and setters into invocation
...
of noSuchMethod or into throwing of NoSuchMethodError according to spec.
Return result of InvocationMirror.invokeOn to caller.
Fix various tests.
Review URL: https://codereview.chromium.org//11669015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16463 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-22 00:40:46 +00:00
asiva@google.com
7ea520f10f
Create read only handles for empty_array and sentinel objects
...
(trying out a basic framework and will extend it to others once this
works).
Review URL: https://codereview.chromium.org//11648006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16416 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-21 02:33:05 +00:00
asiva@google.com
2c6de68680
Changed the API in DartEntry for invoking dart code from C++ to make it more compatible with the requirements of the runtime.
...
Deleted all the code duplication that was added to circumvent the old DartEntry API requirements.
Review URL: https://codereview.chromium.org//11613009
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16288 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 21:36:01 +00:00
regis@google.com
6665f3c92c
Include super type in interface list for cycle detection (issue 4318).
...
Report an error if a type appears in both extends clause and implements clause.
Add language test.
Close old pending issue 4905685.
Review URL: https://codereview.chromium.org//11613007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@16237 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-18 00:13:33 +00:00
asiva@google.com
6749a3be79
Add read only handles for the following predefined symbols
...
"=="
"[]"
"[]="
"this"
and use them in the code.
Review URL: https://codereview.chromium.org//11519006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15942 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 01:20:02 +00:00
regis@google.com
3b1dfe51d1
Pass the proper invocation mirror argument to noSuchMethod.
...
Review URL: https://codereview.chromium.org//11523002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15939 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-11 00:31:53 +00:00
asiva@google.com
d5f055b605
- Create frame work for adding read only handles for symbols in the VM isolate
...
- Make the symbol corresponding to "." use this frame work and change code
which was creating a handle to use the read only handle instead.
(Once we agree on this frame work we could create similar read only handles
for the frequently used symbols)
Review URL: https://codereview.chromium.org//11469036
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15920 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-10 18:24:34 +00:00
kmillikin@google.com
275c8d928f
Introduce a class encapsulating arguments descriptor arrays.
...
BUG=
Review URL: https://codereview.chromium.org//11442010
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15727 260f80e4-7a28-3924-810f-c04153c831b5
2012-12-05 12:05:57 +00:00
hausner@google.com
859889b9c5
Eliminate old style import from language tests
...
Also implement multi-part library names.
Review URL: https://codereview.chromium.org//11316283
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15612 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-30 23:20:01 +00:00
regis@google.com
91ad9a0180
Remove support for interfaces.
...
For now, disable tests using obsolete syntax.
Tests disabled in this cl and in previous ones removing default factory classes
will either be deleted or updated in a later cl.
Review URL: https://codereview.chromium.org//11411271
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15562 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-30 01:26:31 +00:00
hausner@google.com
fe1b63afbc
Eliminate support for old getter syntax
...
Empty parameter list in a getter declaration is now a compile time error.
Review URL: https://codereview.chromium.org//11416254
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15532 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-29 18:33:45 +00:00
regis@google.com
7e9531a1d2
Remove support for default factory classes.
...
For now, disable tests using obsolete syntax. More will get disabled as support
for interfaces is completely removed. We may then permanently remove some tests,
while updating and reenabling others whose purpose is not related to interfaces.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15480 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-28 23:39:27 +00:00
regis@google.com
1de3a5c0f7
Enforce rule in vm that factory name must match enclosing class name.
...
This is a step towards removing support for obsolete default factory classes.
For now, disable tests using obsolete syntax. More will get disabled as support
is completely removed. We may then permanently remove some tests, while updating
and reenabling others whose purpose is not related to default factory classes.
Review URL: https://codereview.chromium.org//11419191
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15428 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-28 01:11:29 +00:00
hausner@google.com
1da3a82fbf
Eliminate support of legacy type Dyamic
...
With this change, Dynamic is no longer implicitly converted
to dynamic.
This change breaks code that still uses Dynamic.
Review URL: https://codereview.chromium.org//11419176
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15404 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-27 17:33:17 +00:00
ajohnsen@google.com
0f367f8894
Make List an abstract class.
...
This was the last interface in dart:core.
BUG=
Review URL: https://codereview.chromium.org//11417051
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15240 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-22 07:40:52 +00:00
regis@google.com
c2b4cccaee
Ambiguous type references require a compile time error in some special cases
...
(fix issue 6741).
Review URL: https://codereview.chromium.org//11348188
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15233 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-22 00:14:08 +00:00
hausner@google.com
65bf9cbb2a
Remove abstract from class members in dart libraries
...
Add VM flag to produce compile error for explicitly
defined abstract class members.
Review URL: https://codereview.chromium.org//11299121
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15210 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-21 17:23:35 +00:00
regis@google.com
d529fe1eea
Address review comments of https://codereview.chromium.org/11299020/
...
Review URL: https://codereview.chromium.org//11418098
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15178 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 19:55:05 +00:00
cshapiro@google.com
84aee71eca
Use the Equals method for C strings when comparing against C strings.
...
Review URL: https://codereview.chromium.org//11416094
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15166 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-20 18:08:17 +00:00
hausner@google.com
a6fe1b05cc
Fix bug 6713
...
Ensure that we find the correct closure type class when re-parsing
a nested function or closure.
Review URL: https://codereview.chromium.org//11420066
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15113 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-19 21:34:53 +00:00
regis@google.com
01a31275bd
Make creation of list literal more resilient to changes in the underlying
...
dart implementation of List in the core library.
Do the same for map literal creation.
Review URL: https://codereview.chromium.org//11299020
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14997 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 01:31:15 +00:00
hausner@google.com
f9ab2fdf78
Disallow const native factories
...
We removed the only user of const native factory methods, so remove
the hack in the VM.
Issue 6662.
Review URL: https://codereview.chromium.org//11414019
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14993 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-16 00:57:09 +00:00
regis@google.com
8af5f5e418
Fix result type checking of redirecting factory in checked mode (issue 6596).
...
Review URL: https://codereview.chromium.org//11404004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14916 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 19:56:39 +00:00
regis@google.com
02a8df0c83
Remove private class helping the parser to construct literal lists and maps.
...
Patch List and Map (implementation) classes with literal factories.
Review URL: https://codereview.chromium.org//11369234
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14873 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-14 04:28:02 +00:00
srdjan@google.com
439110bf48
Move lazy deoptimization of all optimized code from top level parsing to end of class finalization (after installing new classes, and --use_cha, we need to invalidate some optimzied code)
...
Review URL: https://codereview.chromium.org//11370008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14871 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 23:31:07 +00:00
regis@google.com
ebc3402925
Create symbols for string constants.
...
Review URL: https://codereview.chromium.org//11360231
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14866 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 21:05:55 +00:00
regis@google.com
7614e956dc
Check result type of redirecting factory in checked mode.
...
Review URL: https://codereview.chromium.org//11369219
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14862 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 19:02:08 +00:00
ajohnsen@google.com
970cc5ba68
Move JSSyntaxRegExp to core as a private member. This removes the last refrences to dart:coreimpl.
...
After this cleanup, RegExp no longer have a const constructor. Use 'new
RegExp(...)' from now on.
BUG=
Review URL: https://codereview.chromium.org//11365196
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14838 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 10:41:37 +00:00
hausner@google.com
4ca0c72fd5
Enforce proper library/import syntax
...
Review URL: https://codereview.chromium.org//11312197
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14828 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-13 01:06:48 +00:00
hausner@google.com
b2cbdba375
Remove named function literals from library and tests
...
Start eliminating old-style function literals, i.e. remove
return type and function names.
Enforcing new style function literal syntax can be turned
on with the vm flag --strict_function_literals.
Review URL: https://codereview.chromium.org//11377102
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14805 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 19:55:11 +00:00
lrn@google.com
1555c1db26
Convert String to a class.
...
Remove the StringImplementation class.
Review URL: https://codereview.chromium.org//11085003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14779 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-12 08:16:59 +00:00
regis@google.com
40276f8c30
Fix result type checking of factory constructors of generic classes in VM.
...
Add a language test.
Fix some language tests.
Fix runtime library.
Note: This does not yet fix result checking of redirecting factories.
Review URL: https://codereview.chromium.org//11369168
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14769 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-09 23:51:06 +00:00
srdjan@google.com
2fdbeb2153
Make sure that ParsedFunction holds onto zone handles.
...
Review URL: https://codereview.chromium.org//11364166
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14718 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-09 00:58:21 +00:00
hausner@google.com
be175c758e
Implement const expressions for local variables
...
Review URL: https://codereview.chromium.org//11265047
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14716 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-09 00:19:43 +00:00
regis@google.com
d372a816bb
Pass closure object as first implicit argument to closure functions.
...
Remove code passing captured receiver to native instance closures; instead,
access captured receiver in context, as non-native functions do.
Review URL: https://codereview.chromium.org//11360116
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14698 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-08 18:28:07 +00:00
hausner@google.com
323c735040
Make sure setter does not conflict with method
...
Review URL: https://codereview.chromium.org//11312109
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14600 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-06 22:51:01 +00:00
hausner@google.com
99c505e9b3
Fix various inheritance bugs
...
Fields can be overridden by subclasses
A setter does not conflict with a method
Eliminate outdated tests
Fixes issue 6482
Review URL: https://codereview.chromium.org//11312095
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@14583 260f80e4-7a28-3924-810f-c04153c831b5
2012-11-06 17:54:27 +00:00