generator tests

This commit is contained in:
Henry Zhu 2016-06-10 18:05:51 -04:00
parent ff42a744df
commit b567c02413
3 changed files with 49 additions and 0 deletions

View File

@ -199,6 +199,13 @@ export function TypeParameter(node: Object) {
if (node.bound) {
this.print(node.bound, node);
}
if (node.default) {
this.space();
this.push("=");
this.space();
this.print(node.default, node);
}
}
export function TypeParameterInstantiation(node: Object) {

View File

@ -0,0 +1,21 @@
type A<T = string> = T;
type A<T = *> = T;
type A<T: ?string = string> = T;
type A<S, T: ?string = string> = T;
type A<S = number, T: ?string = string> = T;
class A<T = string> {};
class A<T: ?string = string> {};
class A<S, T: ?string = string> {};
class A<S = number, T: ?string = string> {};
(class A<T = string> {});
(class A<T: ?string = string> {});
(class A<S, T: ?string = string> {});
(class A<S = number, T: ?string = string> {});
declare class A<T = string> {};
declare class A<T: ?string = string> {};
declare class A<S, T: ?string = string> {};
declare class A<S = number, T: ?string = string> {};
interface A<T = string> {};
interface A<T: ?string = string> {};
interface A<S, T: ?string = string> {};
interface A<S = number, T: ?string = string> {};

View File

@ -0,0 +1,21 @@
type A<T = string> = T;
type A<T = *> = T;
type A<T: ?string = string> = T;
type A<S, T: ?string = string> = T;
type A<S = number, T: ?string = string> = T;
class A<T = string> {};
class A<T: ?string = string> {};
class A<S, T: ?string = string> {};
class A<S = number, T: ?string = string> {};
(class A<T = string> {});
(class A<T: ?string = string> {});
(class A<S, T: ?string = string> {});
(class A<S = number, T: ?string = string> {});
declare class A<T = string> {};
declare class A<T: ?string = string> {};
declare class A<S, T: ?string = string> {};
declare class A<S = number, T: ?string = string> {};
interface A<T = string> {};
interface A<T: ?string = string> {};
interface A<S, T: ?string = string> {};
interface A<S = number, T: ?string = string> {};