49 lines
759 B
TypeScript
49 lines
759 B
TypeScript
//// [unionTypeWithRecursiveSubtypeReduction2.ts]
|
|
class Module {
|
|
public members: Class[];
|
|
}
|
|
|
|
class Namespace {
|
|
public members: (Class | Property)[];
|
|
}
|
|
|
|
class Class {
|
|
public parent: Namespace;
|
|
}
|
|
|
|
class Property {
|
|
public parent: Module | Class;
|
|
}
|
|
|
|
var c: Class;
|
|
var p: Property;
|
|
c = p;
|
|
p = c;
|
|
|
|
|
|
//// [unionTypeWithRecursiveSubtypeReduction2.js]
|
|
var Module = (function () {
|
|
function Module() {
|
|
}
|
|
return Module;
|
|
})();
|
|
var Namespace = (function () {
|
|
function Namespace() {
|
|
}
|
|
return Namespace;
|
|
})();
|
|
var Class = (function () {
|
|
function Class() {
|
|
}
|
|
return Class;
|
|
})();
|
|
var Property = (function () {
|
|
function Property() {
|
|
}
|
|
return Property;
|
|
})();
|
|
var c;
|
|
var p;
|
|
c = p;
|
|
p = c;
|