Commit Graph

1263 Commits

Author SHA1 Message Date
hausner@google.com 3c34f42110 Add debugging info for 'this'
Token range for 'this' was wrong in the debug info, so its value was
not shown in most functions. Fixes issue 11435.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24762 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 23:26:03 +00:00
hausner@google.com 98883150d6 Partial solution to analyze potentially constant expressions
This change adds code that detects if an expression can definitively
never be constant. We use this to analyze the initializer expressions
in const constructors. This check is not entirely water tight, but
together with the checks in canonicalization code catches most
illegal initializer expressions.

The const constructor of class Symbol turns out to be illegal. The
name verification check can't be part of the constructor code.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24749 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 20:47:14 +00:00
floitsch@google.com 438767ca3a Add stackTrace to Error object.
BUG=
R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24726 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-03 14:51:30 +00:00
hausner@google.com 8b8795fc0b Const constructor must have const super initializer
Compile time error if a const constructor calls a non-const super
constructor (either explicitly or implicitly).

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24704 260f80e4-7a28-3924-810f-c04153c831b5
2013-07-02 20:09:24 +00:00
kmillikin@google.com 5f9331e20c Fix a VM bug in the handling of try/catch/finally.
In the case that code in the catch block threw in any fashion, the
finally block was not executed.  Fix this by properly treating the
finally block of try/catch/finally as an exception handler for the
catch block.

R=fschneider@google.com, srdjan@google.com
BUG=https://code.google.com/p/dart/issues/detail?id=430

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24583 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-28 12:28:56 +00:00
iposva@google.com 50fc824be9 - Remove arguments definition test from the VM.
- Update tests still referring to it.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24539 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-27 18:37:53 +00:00
iposva@google.com 11632110c6 - Revert r24441 until issues found have been addressed.
Review URL: https://codereview.chromium.org//17769004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24443 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:38:45 +00:00
iposva@google.com ddc3e13f8a - Trial balloon for removal of argument definition test.
This change removes the support for the ? operator.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24441 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-25 23:04:19 +00:00
fschneider@google.com 0bf7251d1a Reland: Optimizing noSuchMethod invocation with no arguments.
This is the same CL as https://codereview.chromium.org/17315008/ with
one bug fixed:

If a method is invoked with a mismatching number of arguments, we don't
add a no-such-method-dispatcher function since the dispatcher currently
can only invoke noSuchMethod and would not work if the method
is invoked with correct arguments at a later point.

I extended the test to cover that case.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24351 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-24 17:18:51 +00:00
fschneider@google.com 48555c83ac Back out r24266 to investigate dartium test failure.
TBR=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24284 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 11:56:32 +00:00
fschneider@google.com ab1981b421 Optimizing noSuchMethod invocation with no arguments.
On each call that triggers a noSuchMethod invocation we 
attach a custom dispatch function that allocates the 
invocation object and invokes noSuchMethod. This dispatcher
is compiled and optimized like a normal Dart function.

Similar to method-extractors, these implicit dispatchers
do not show up as normal functions.

As a first step this CL only handles invocations of getters
and methods with no like o.foo or o.foo().  This CL gives
a >25x speedup of such noSuchMethod invocations. Calls with
multiple arguments still go through the slow path.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24266 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-21 07:31:51 +00:00
johnmccutchan@google.com b7003f166b Stop unwanted class finalization when using dart:io HttpClient from builtin.dart
BUG=11232
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24252 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-20 20:51:14 +00:00
kmillikin@google.com 8adf4fb4bb Try to avoid checks for lazy initialization when recompiling.
When recompiling implicit static getters, it can happen that the field
is already initialized.  In this case parse the getter to a field load
instead of a pair of sentinel checks and initialization code.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24122 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-18 06:55:32 +00:00
srdjan@google.com 71340907c2 Cosmetic change: s/arg_descriptor/args_descriptor/
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24103 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-17 17:31:00 +00:00
hausner@google.com 457bb1bdcb Remove support for + prefix in number literals
Also fix some tests that expected + prefix in hex numbers to be illegal. According to our documentation, int.parse() accepts + for numbers in all formats/radixes.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@24051 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-14 21:16:46 +00:00
srdjan@google.com 4ce490fdae One more premature load-static node generation solved.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23940 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 22:33:11 +00:00
srdjan@google.com 5543ce104c When canonicalize instances check if all fields are canonical. If a field is a non-canonical number or strings, canonicalize it. Otherwise report an error if a field is not canonical.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23934 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 21:27:37 +00:00
hausner@google.com 0374dc9b12 Reified metadata in the VM
R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23912 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-12 15:44:57 +00:00
regis@google.com 09bb36b8db Move code setting super type of class Object to null from object.cc to parser.cc
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23847 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-11 12:22:04 +00:00
srdjan@google.com 2b12036d2d Make AST generation deterministic: always call a static getter if it exists, regardless if the statuic field was initialized or not. Previously we may have created a LoadStaticFieldNode dependgin if the static field was already intialized at compile time.
Note that we do not generate implicit static getter nodes if their initialization is trivial.

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23825 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-10 19:32:03 +00:00
asiva@google.com 69b5efffd2 Create specific null read only handles for the frequently used types
Array, String, Instance, Object and use them.

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23785 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-08 00:47:35 +00:00
zra@google.com 68f4a66a3d Improvements to 53-bit overflow checking.
- Integer literals that require more than 53 bits will cause a compile-time error.
- Checking is added to unary negate for the case that the most negative
  53-bit integer is negated.
- The tests are improved to also check optimized code.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23774 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-07 21:28:49 +00:00
fschneider@google.com be806854c9 Simplify AST by extending LetNode and replace CommaNode.
LetNode now supports a list of expressions as the body.

The last expression is the result value of the let-expression.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23678 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-06 12:32:42 +00:00
fschneider@google.com 004a1f81c9 Enable optimization of try-finally in the VM's optimizing compiler.
I changed the status of two co19 tests that crash with a stack overflow
because of recursion in dart2js. Optimized functions may take more stack
space, and this CL enables optimizations for more functions in dart2js.

I added smaller versions of those two tests to our own test suite.

BUG=dart:8857
R=ahe@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23597 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-04 14:35:43 +00:00
asiva@google.com 9c993cfc85 Cache the isolate pointer in the parser object.
R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23571 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-03 23:57:36 +00:00
fschneider@google.com 07966b62da Fix two bugs in the Dart VM's super-noSuchMethod invocation.
1. The result value of an expression 
"super.someMissingSetter = val" was incorrect in case of a noSuchMethod call.

To fix this I refactored the BuildStaticNoSuchMethod function. It now no longer
creates AST nodes and visits them, because the last argument may be needed saved
as a result value.

2. The evaluation order of "super[e1] = e2" was wrong in case of a noSuchMethod call.

BUG=dart:8917, dart:10965
TEST=tests/language/super_operator_index7_test.dart, tests/language/super_operator_index8_test.dart
R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23553 260f80e4-7a28-3924-810f-c04153c831b5
2013-06-03 17:09:09 +00:00
asiva@google.com 3f97d1492a More cleanup to avoid creation of redundant handles
- create read only handles for null object and sentinel smi value
- add a RawCast function to allow direct casting of Raw pointers without the
  need to create a Handle for it
- use Smi::Value where possible
- hoist out handle creation from some loops

R=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23502 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 22:55:29 +00:00
iposva@google.com 1836035266 - Modify dart_api.h to be a proper C API.
- Verify that dart_api.h can be used from C
  by changing the test_extension to be a pure C file.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23476 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-31 16:36:27 +00:00
fschneider@google.com 9a6657cd4d Eliminate temporary locals for some expressions
This CL affects a subset of expressions that use temporary locals: constructor
calls, array literals and and instance getter postfix-ops.

For expressions that are de-sugared in the parser I added LetNode.
It creates a scoped temporary local bound to an initializing expression.

For expressions where we need a temporary local at graph-building time,
I added a helper class TempLocalScope to easily create a single temporary
local in the graph builder since this is a frequently recurring pattern.

This simplifies code in the parser and the graph builder and also fixes a
bug with indexed-super invocation and NoSuchMethod.

BUG=dart:8918
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23401 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-30 12:19:21 +00:00
srdjan@google.com d1adfc37a3 Fix issue 3874: non-deterministic AST generation caused by exceptions being thrown during parsing (StackOverFlow). Mark functions that throw and exception as non-optimizable.
Fix flow graph printing (optimized vs non-optimized).

R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23350 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-29 13:07:46 +00:00
fschneider@google.com fa9885005a Remove pseudo-node from LoadLocalNode and replace it with a proper AST node.
The newly introduces CommaNode denotes a sequence of two nodes, the result
is the value of the second child node.

There are only two places where the pseudo-node was used, and therefore
it does not warrant adding an extra member to all LoadLocalNode objects.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23243 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 09:30:43 +00:00
fschneider@google.com bd7c82d0a5 Small code cleanup in the parser.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23214 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-27 11:43:19 +00:00
asiva@google.com 2955920c62 Remove checks for Expect and ExpectException from
Parser::ResolveNameInCurrentLibraryScope

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23117 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-24 00:39:59 +00:00
asiva@google.com e33c2d4254 Delay Class parsing until the class is actually used.
Prior to this change the initial heap sizes were as follows:
ia32:
Size of isolate snapshot = 1230921
New space (0k of 32768k) Old space (1446k of 1604k)

X64:
Size of isolate snapshot = 1223943
New space (0k of 32768k) Old space (2630k of 2692k)


After this change the initial heap sizes are as follows:
ia32:
Size of isolate snapshot = 686443
New space (0k of 32768k) Old space (677k of 836k)

X64:
Size of isolate snapshot = 684731
New space (0k of 32768k) Old space (1220k of 1412k)

R=hausner@google.com, iposva@google.com, regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23115 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-24 00:13:10 +00:00
asiva@google.com ca3452e4a9 - Allocate symbols for 'get:' and 'set:'
- Remove some redundant handle creation

R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23110 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-23 22:59:26 +00:00
asiva@google.com 41b01ececf - Some of the pre registered classes like Int, Double etc. were not being
marked as being prefinalized. Mark them as pre finalized.
- Replaced the check (cls.functions() != Object::empty_array().raw()) as
  indicating it is a pre-registered class.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22914 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-21 01:02:28 +00:00
fschneider@google.com 0a243bf66c Revert r22620 because of dart2js test failures.
TBR=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22621 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-13 12:41:02 +00:00
fschneider@google.com 8df37f63e2 Enable optimizing try-finally.
Everything needed is already in place by my previous CL
(https://codereview.chromium.org/14682020/)

This just removes the early bailout in the parser.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22620 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-13 12:09:14 +00:00
regis@google.com 53347a3337 Remove stack_frame_<arch>.cc files.
The architecture specific information is in stack_frame_<arch>.h files.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22470 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-07 18:06:21 +00:00
regis@google.com 880af693cf Introduce architecture specific headers describing Dart stack frames.
The actual cleanup will follow in another cl.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22394 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-03 21:42:16 +00:00
hausner@google.com 8e29370a1b BREAKING CHANGE: enforce part of directive
For historical reasons, the VM is currently too lenient when parsing library parts. Files that get loaded through a 'part' directive must start with a 'part of libraryname;' clause. The VM so far has not reported an error if the clause is missing.

This change enforces the grammar as the Spec mandates it. Library parts that do not start with 'part of' will no longer compile.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22278 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-01 20:46:48 +00:00
srdjan@google.com 706e79d074 Fix error reporting when calling static methods and closures withh mismatched arguments.
Closures BEFORE:
----
Unhandled exception:
Class '(dynamic, dynamic, dynamic) => dynamic' has no instance method 'call'.

NoSuchMethodError : method not found: 'call'
Receiver: Closure: (dynamic, dynamic, dynamic, dynamic) => dynamic from Function 'foo':.
Arguments: [2]

Closures NOW:
----
Closure call with mismatched arguments: function 'A.foo'

NoSuchMethodError: incorrect number of arguments passed to method named 'A.foo'
Receiver: Closure: (dynamic, dynamic, dynamic, dynamic) => dynamic from Function 'foo':.
Tried calling: A.foo(2)
Found: A.foo(a, b, c)


Statics BEFORE:
----
Unhandled exception:
No top-level method 'foo' declared.

NoSuchMethodError : method not found: 'foo'
Receiver: Type: class '::'
Arguments: []

Statics NOW:
----
Unhandled exception:
No top-level method 'foo' with matching arguments declared.

NoSuchMethodError: incorrect number of arguments passed to method named 'foo'
Receiver: top-level
Tried calling: foo(...)
Found: foo(a, b, c)

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@22209 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-30 22:05:14 +00:00
hausner@google.com 51e4445539 Fix debugging of top-level getters
Parser didn't set the valid token range of top-level getters, so they
were invisible to the debugger.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21976 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-24 20:26:14 +00:00
hausner@google.com 9ae17640bf Handle built-in function identical correctly
The parser, rather than the backend, recognizes the built-in function identical
and replaces is with the old token for the === operator. This fixes compile
time constant handling of calls to identical.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21753 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-19 16:26:05 +00:00
srdjan@google.com 5ea0d55fa6 Do not allocate unnecessary ObjectArrays. When allocating an empty growable array, pass it a compile time constant empty array instead of allocating a new empty array at runtime, since the factory method will anyway allocate its own object array of length 4.
Review URL: https://codereview.chromium.org//14023005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21490 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-15 18:06:59 +00:00
hausner@google.com 54dde7ce89 Implement rethrow statement
Or: how to turn a 5 minute task into a 2 hour ordeal.

The actual business of the change is one line in token.h and one line in parser.cc.
Review URL: https://codereview.chromium.org//14012005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21371 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-12 16:32:37 +00:00
regis@google.com 5900ae72af A patch class must be given the same name as the class it is patching, otherwise
the generic signature classes it defines will not match the patched generic
signature classes. Therefore, new signature classes will be introduced and the
original ones will not get finalized.
Review URL: https://codereview.chromium.org//14097006

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21235 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 22:34:02 +00:00
regis@google.com bdcca76e3a Prohibit use of dynamic when extending or implementing classes (was crashing).
Added test.
Fix typos in array patch.
Cleanup factory result finalization.
Do not verify field offsets after a finalization error.
Review URL: https://codereview.chromium.org//13992002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@21217 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-10 16:43:39 +00:00
hausner@google.com 89346f3e3a Remove legacy syntax support for library import
Remove legacy syntax for #import, #library and #source
Update test programs
Recalc fingerprints of inlined functions that were apparently
affected by the change of library name from "dart:io" to dart.io.
Review URL: https://codereview.chromium.org//12880023

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20466 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-25 18:11:08 +00:00
hausner@google.com d4872a1499 Support initialized mixin fields across scripts
Add capability to set parser to read tokens from different
scripts and token positions. This is used when the initializer
expression of a field resides in a different script.
Review URL: https://codereview.chromium.org//12827007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20388 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-22 17:06:42 +00:00