Hidden DOM types are types whose prototype is not accessible until you have an instance--they cannot be used at init time.
Issues fixed for these types include:
* "is", type assertions, and getters/setters are now inserted on the prototype lazily
* now patches correct prototype when binding these
* handles incompatible hidden native overloads (rare in practice, but we have a test case for it)
Also some other type check fixes:
* Type checks handle false correctly
* Dart TypeError is now used (before--would pick up the JS one)
* TypeError has an actually usable error message
These last fixes cause some code bloat (lots of type check fallbacks on Object.prototype), but for right now I think it's more important to give good errors.
Review URL: http://codereview.chromium.org//8746005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1916 260f80e4-7a28-3924-810f-c04153c831b5
demonstrates how to create a custom isolate abstraction. In this
test, we use an event queue to share a single thread among our custom
isolates.
Add a callback which allows embedders to see when a port is created.
Not sure if I should keep this or not.
New apis:
Dart_CreatePort() -- allocates a port id and adds a port->isolate mapping.
Dart_IsolateHasActivePorts() -- does the current isolate have open ports?
(this name a bit awkward...)
Bail out of PortMap::ClosePorts() early if there are no open ports.
This suppresses calls to the close_port_callback when there are no
open ports.
Use DART_CHECK_VALID to provide better error output when the test lib
has errors.
-------------------------
Sample output of the test:
-- (isolate=0x815600) Constructing isolate
-- Enter: CustomIsolateImpl_start --
-- Adding port (7111) -> isolate (0x830800) --
-- Adding StartEvent to queue --
-- Exit: CustomIsolateImpl_start --
-- Adding port (7112) -> isolate (0x815600) --
-- Posting message dest(7111) reply(0) --
-- Adding MessageEvent to queue --
-- Starting event loop --
>> StartEvent with isolate(0x830800)--
-- (isolate=0x830800) Running isolateMain
$$ MessageEvent with dest port 7111--
-- (isolate=0x830800) Received: 42
-- Posting message dest(7112) reply(0) --
-- Adding MessageEvent to queue --
$$ MessageEvent with dest port 7112--
-- Closing port (7112) --
-- Adding ShutdownEvent to queue --
-- (isolate=0x815600) Received: 43
<< ShutdownEvent with isolate(0x815600)--
-- Finished event loop --
Review URL: http://codereview.chromium.org//8588040
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1906 260f80e4-7a28-3924-810f-c04153c831b5
- the return types must be covariant or contravariant (an earlier version of the
guide specified contravariance only).
- the names of optional parameters must match in the same order (an earlier
version of the spec specified that any subset was allowed, no order required).
Review URL: http://codereview.chromium.org//8664015
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1898 260f80e4-7a28-3924-810f-c04153c831b5
The accept method have been removed from the ServerSocket class and
the signature for the connectionHandler callback have been changed to
provide the accepted socket as an argument.
This is to avoid the possibility for accept to return null even in the
case of pending connection. This could happen if an error like EAGAIN,
EWOULDBLOCK and EINTR was returned by it OS accept call and previously
there was no way of propagating this without returning null from the
Dart call to accept.
R=ager@google.com
BUG=
TEST=
Review URL: http://codereview.chromium.org//8726031
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1889 260f80e4-7a28-3924-810f-c04153c831b5
- Add support for [foo] implicit links to markdown.
- Add hook so that outside code can define what markup a [foo] link creates.
- Make dartdoc look up [foo] names to resolve the identifier.
- Fix unmatched tag unwinding bug.
- Add [:...:] code support to dartdoc.
- Fix text and URLs for generic types in docs.
- Sort classes by name.
- Don't generate docs for private types.
- Fix generated docs for inheritance chain.
- Make source code in generated docs optional.
- Fix showing base class in docs.
- Implement insertRange() for List in frog.
- Add dartdoc shell script.
Review URL: http://codereview.chromium.org//8725007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1886 260f80e4-7a28-3924-810f-c04153c831b5
We will have to revert this if we go back to pure interfaces.
Fixes:
dartfrog-generated/dom/Cache.html text
dartfrog-generated/dom/Exceptions.html text
dartfrog-generated/dom/IsolateLight.html text
dartfrog-generated/dom/DOMConstructors.html text
BUG=
TEST=
Review URL: http://codereview.chromium.org//8473008
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1878 260f80e4-7a28-3924-810f-c04153c831b5
After removing optional initializing formal parameters from the VM
yesterday, the language team decided that they should be allowed
and made usable.
- The name of an optional initializing formal is the name of
the field it initializes.
- The parameter is only visible at the call site of the constructor,
to name the parameter.
- The parameter is NOT visible in the constructor's initializer list
and body.
class A {
A([this.x = 10]);
A.bad([this.x = 10]) : y = x; // Error: parameter x not in scope
A.ok([this.x = 10]) { print(x); } // Refers to field x, not parameter x.
var x, y;
}
o = new A(x: 50); // o.x == 50.
o = new A(); // o.x == 10.
Review URL: http://codereview.chromium.org//8682025
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@1819 260f80e4-7a28-3924-810f-c04153c831b5