f336830ceb
Also fixes similar issue (classes with 'call' getter were recognized as Function). BUG= http://dartbug.com/16401 R=johnniwinther@google.com Review URL: https://codereview.chromium.org//147743005 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32252 260f80e4-7a28-3924-810f-c04153c831b5
36 lines
789 B
Dart
36 lines
789 B
Dart
// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
import "package:expect/expect.dart";
|
|
|
|
class A {
|
|
int call(String str) => 499;
|
|
}
|
|
|
|
typedef int F(String str);
|
|
|
|
main() {
|
|
var a = new A();
|
|
if (a is Function) {
|
|
Expect.isTrue(a is A);
|
|
} else {
|
|
Expect.fail("a should be a Function");
|
|
}
|
|
|
|
var a2 = new A();
|
|
if (a2 is F) {
|
|
Expect.isTrue(a2 is A);
|
|
} else {
|
|
Expect.fail("a2 should be an F");
|
|
}
|
|
|
|
Function a3 = new A();
|
|
// Dart2Js mistakenly assumed that Function and A couldn't be related and
|
|
// returned false for a is A.
|
|
Expect.isTrue(a3 is A);
|
|
|
|
F a4 = new A();
|
|
Expect.isTrue(a4 is A);
|
|
}
|