53 lines
929 B
JavaScript
53 lines
929 B
JavaScript
//// [staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.ts]
|
|
interface A {
|
|
name();
|
|
}
|
|
class B {
|
|
public name() { }
|
|
}
|
|
class C {
|
|
public static name() { }
|
|
}
|
|
|
|
var a: A = new B();
|
|
a = new C(); // error name is missing
|
|
a = B; // error name is missing
|
|
a = C;
|
|
|
|
var b: B = new C(); // error name is missing
|
|
b = B; // error name is missing
|
|
b = C;
|
|
b = a;
|
|
|
|
var c: C = new B();
|
|
c = B;
|
|
c = C;
|
|
c = a;
|
|
|
|
|
|
//// [staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js]
|
|
var B = (function () {
|
|
function B() {
|
|
}
|
|
B.prototype.name = function () { };
|
|
return B;
|
|
})();
|
|
var C = (function () {
|
|
function C() {
|
|
}
|
|
C.name = function () { };
|
|
return C;
|
|
})();
|
|
var a = new B();
|
|
a = new C(); // error name is missing
|
|
a = B; // error name is missing
|
|
a = C;
|
|
var b = new C(); // error name is missing
|
|
b = B; // error name is missing
|
|
b = C;
|
|
b = a;
|
|
var c = new B();
|
|
c = B;
|
|
c = C;
|
|
c = a;
|