Commit Graph

362 Commits

Author SHA1 Message Date
hausner@google.com 87ba9c00b5 Nix obsolete function prototype
Review URL: http://codereview.chromium.org//8536038

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1488 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-12 00:10:28 +00:00
srdjan@google.com 6ff41ed334 Require legacy form of type parameters in factories and report errors if a factory class does not have a required parametrized type (fixes crashes in VM). Fix frog code, however, there are frogs problem with --compileall:
leg/util/link_implementation.dart:38:12: error: wrong number of arguments, expected 0 but found 2
    return new Link<T>(element, this);
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
Review URL: http://codereview.chromium.org//8515024

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1464 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-11 17:04:00 +00:00
hausner@google.com 35cc976b4b Separating constructor parsing from function parsing
Make parsing functions and constructors more readable by separating
the two into disjoint functions.
Review URL: http://codereview.chromium.org//8417056

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1172 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-03 22:29:57 +00:00
hausner@google.com 7651034e9e Two-phase constructors
This CL fixes the initializer evaluation order and brings the VM fully up to spec.

Constructors are executed in two phases: the initializer phase and the constructor body phase. An additional implicit parameter tells the constructor code whether to execute the initializer list or the body (or both).

If the super initializer call is not at the end of the initializer list, the super constructor has to be called twice. The arguments to the super initializer have to be evaluated and stored in temporary local variables. At the beginning of the constructor block, a second implicit super call is inserted.

If the super initializer call happens to be at the end of the list, none of this madness has to happen, except for the extra implicit parameter to the constructor.

 
Review URL: http://codereview.chromium.org//8440014

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1102 260f80e4-7a28-3924-810f-c04153c831b5
2011-11-02 17:19:15 +00:00
turnidge@google.com e756497a78 Refactor the dart api a bit:
- Dart_Result is gone.  Dart_Handle mostly replaces it.
- Name/signature changes
  - IsValidResult -> IsValid
  - GetErrorCString -> GetError
  - many more...
- Make details of persistent handle freelist private.
- Add persistent "True" handle to api state.

Things I am not doing in this changelist:

- Documentation updates
Review URL: http://codereview.chromium.org//8380020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@778 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-26 20:38:41 +00:00
srdjan@google.com 584a6f81b4 Some performance improvements to make raytracer faster (e.g, support intensified operation in mixed double/smi, constant folding).
Review URL: http://codereview.chromium.org//8355041

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@596 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-21 07:03:17 +00:00
hausner@google.com ab37c41e1d Interpolated strings are never considered compile time const
Review URL: http://codereview.chromium.org//8318031

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@500 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-17 23:51:28 +00:00
hausner@google.com 13da6d834f Create implicit super constructor call if necessary
Create an implicit call to the super constructor if no explicit
call is present, and also if the constructor does not have an
initializer list at all.

The evaluation order is still not conforming to the spec. Thus,
a couple of tests that happened to pass before now fail.

Fix issue 85
https://code.google.com/p/dart/issues/detail?id=85
Review URL: http://codereview.chromium.org//8286003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@412 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-13 20:16:38 +00:00
hausner@google.com 08a5cffb3b Implement index operator super call
Last portion of super operator calls.
Review URL: http://codereview.chromium.org//8234022

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@359 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 23:50:19 +00:00
hausner@google.com a487770657 Implement super operator calls
Review URL: http://codereview.chromium.org//8222015

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@335 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-11 16:49:35 +00:00
hausner@google.com b8a55bf3d7 Initializer expressions must not access 'this'
Catch explicit and implicit accesses to 'this' in initializer list of constructors.
Review URL: https://chromereviews.googleplex.com/3517020

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@81 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 22:39:25 +00:00
dgrove@google.com 4c0f559d23 Initial checkin.
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15 260f80e4-7a28-3924-810f-c04153c831b5
2011-10-05 05:20:07 +00:00