diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.extends_throwable.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.extends_throwable.yaml new file mode 100644 index 0000000000000000000000000000000000000000..15c6b2a49be1a8438444510c6088b54c393f65f8 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.extends_throwable.yaml @@ -0,0 +1,6 @@ +--- # Extends Throwable + +- Throwable +- SomeThrowable +- SomeSomeThrowable + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.self_dependency.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.self_dependency.yaml index 5ae3aeb53832ec8890a8ff114a1ced5a11b62380..5a56217d0dcb5b78a69ab629863668909d76f024 100644 --- a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.self_dependency.yaml +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.self_dependency.yaml @@ -1,7 +1,9 @@ --- # Self dependency tests -- T -- U -- U> -- U> -- T +- T extends T +- U +- U> +- U> +- T extends U, U extends T +- T extends U, U extends W, W extends T + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.type_param_in_static_context.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.type_param_in_static_context.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2060789a0e97b95ca861f84e05f2e44df7b36109 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.type_param_in_static_context.yaml @@ -0,0 +1,9 @@ +--- # Type variable in static context + +- "static class InnerX {wrong_type_field: T}" +- "static foo(T wrong_type_arg): void {}" +- "static foo(): void {let wrong_type_variable: T;}" +- "static wrong_type_field: T;" +- "const static wrong_type_field: T;" +- "static {let wrong_type_in_static_init: T}" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.wrong_constraints.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.wrong_constraints.yaml index bed00fe099d06cb2efd8d133ad88fe554b2e83c1..40496e25549aef0c91acca4d2cc1c3722ff6237e 100644 --- a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.wrong_constraints.yaml +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/list.wrong_constraints.yaml @@ -16,5 +16,4 @@ - void - "enum Color { Red, Green, Blue }" - "int[]" -- "int, extends Object" -- "Object, extends int" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.sts b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.ets similarity index 87% rename from migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.sts rename to migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.ets index d63f0678c8fa40b949e12d9d206da19fa70d5274..627d845741b9b33a647c1f1ead9fe44e52421a5e 100644 --- a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.sts +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_self_dependency.ets @@ -8,9 +8,10 @@ params: > {{.cm}} ---*/ -{{.cm}} class T<{{.sd}}> {} +{{.cm}} class X<{{.sd}}> {} function main(): void {} {% endfor %} {% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_static_context.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_static_context.ets new file mode 100644 index 0000000000000000000000000000000000000000..124cbc3f32926b8340d70bb15fe1eac50ef0d4b6 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_static_context.ets @@ -0,0 +1,16 @@ +{% for tsc in type_param_in_static_context %} + +/*--- +desc: type parameter of a generic class cannot be used in static context +params: > + {{.tsc}} +---*/ + +class X { + {{.tsc}} +} + +function main(): void {} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_subclass_throwable.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_subclass_throwable.ets new file mode 100644 index 0000000000000000000000000000000000000000..626abd3bb04bfeec501ce5e9a7c337eaf9936597 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_subclass_throwable.ets @@ -0,0 +1,21 @@ +{% for et in extends_throwable %} +{% for cm in toplevel_class_modifiers %} + +/*--- +desc: generic class cannot be a subclass of Throwable +params: > + {{.et}} + {{.cm}} +---*/ + +class SomeThrowable extends Throwable {} + +class SomeSomeThrowable extends SomeThrowable {} + +{{.cm}} class X extends {{.et}} {} + +function main(): void {} + +{% endfor %} +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.sts b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.ets similarity index 83% rename from migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.sts rename to migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.ets index 7c6fbddb020c4bf7f359e9b521742b0cd9228c92..b55ca5ddd15dffd371561428ba492b77101a5c0e 100644 --- a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.sts +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/01.generic_classes/n.generic_class_wrong_constraint.ets @@ -2,7 +2,7 @@ {% for cm in toplevel_class_modifiers %} /*--- -desc: Self-dependency is prohibited +desc: wrong constraints for type variable params: > {{.wc}} {{.cm}} diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.self_dependency.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.self_dependency.yaml new file mode 100644 index 0000000000000000000000000000000000000000..5a56217d0dcb5b78a69ab629863668909d76f024 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.self_dependency.yaml @@ -0,0 +1,9 @@ +--- # Self dependency tests + +- T extends T +- U +- U> +- U> +- T extends U, U extends T +- T extends U, U extends W, W extends T + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.static_members_with_type_param.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.static_members_with_type_param.yaml new file mode 100644 index 0000000000000000000000000000000000000000..11334e9af136b172f628295eb5bbf7b887b817f0 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.static_members_with_type_param.yaml @@ -0,0 +1,6 @@ +--- # Interfaces with static members and type parameters inside + +- "static foo(): X" +- "static foo(): void {let x:X;}" +- "static class InnerC {innerVar: X}" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.wrong_constraints.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.wrong_constraints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40496e25549aef0c91acca4d2cc1c3722ff6237e --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/list.wrong_constraints.yaml @@ -0,0 +1,19 @@ +--- # Wrong type constraints for generic parameters + +- boolean +- byte +- char +- double +- float +- int +- int && Object +- int && Object && String +- long +- Object && int +- Object && int && String +- Object && String && int +- short +- void +- "enum Color { Red, Green, Blue }" +- "int[]" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_self_dependency.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_self_dependency.ets new file mode 100644 index 0000000000000000000000000000000000000000..d909f3c6f851e415d1fa8d8d192db947131952cd --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_self_dependency.ets @@ -0,0 +1,14 @@ +{% for sd in self_dependency %} + +/*--- +desc: Self-dependency is prohibited +params: > + {{.sd}} +---*/ + +interface X<{{.sd}}> {} + +function main(): void {} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_static_member.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_static_member.ets new file mode 100644 index 0000000000000000000000000000000000000000..138c4bd324cc51bad4e379dda6d13878bf34aed2 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_static_member.ets @@ -0,0 +1,16 @@ +{% for stm in static_members_with_type_param %} + +/*--- +desc: wrong usage of type variable in static member +params: > + {{.stm}} +---*/ + +interface I { + {{.stm}} +} + +function main(): void {} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_wrong_constraint.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_wrong_constraint.ets new file mode 100644 index 0000000000000000000000000000000000000000..d37fe7a92ebe23501a722469fa91757a675352fe --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/02.generic_interfaces/n.generic_interface_wrong_constraint.ets @@ -0,0 +1,14 @@ +{% for wc in wrong_constraints %} + +/*--- +desc: wrong constraints for type variable +params: > + {{.wc}} +---*/ + +interface Point {} + +function main(): void {} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.abstr_or_native_method_modifiers.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.abstr_or_native_method_modifiers.yaml new file mode 100644 index 0000000000000000000000000000000000000000..b0275fdaea9451445fb6ef2774010d39abfc0de4 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.abstr_or_native_method_modifiers.yaml @@ -0,0 +1,7 @@ +--- # Method modifiers for implemented methods + +- abstract +- static native +- native static +- native + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.method_modifiers.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.method_modifiers.yaml new file mode 100644 index 0000000000000000000000000000000000000000..589af37c9627565f746c5742b2fbe0158f6ff4a4 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.method_modifiers.yaml @@ -0,0 +1,6 @@ +--- # Method modifiers for implemented methods + +- static +- override +- open + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.wrong_constraints.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.wrong_constraints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40496e25549aef0c91acca4d2cc1c3722ff6237e --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/list.wrong_constraints.yaml @@ -0,0 +1,19 @@ +--- # Wrong type constraints for generic parameters + +- boolean +- byte +- char +- double +- float +- int +- int && Object +- int && Object && String +- long +- Object && int +- Object && int && String +- Object && String && int +- short +- void +- "enum Color { Red, Green, Blue }" +- "int[]" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_abstr_or_native_wrong_constraint.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_abstr_or_native_wrong_constraint.ets new file mode 100644 index 0000000000000000000000000000000000000000..e34dd3ebe5cc811e87f8aa36394eee2a4b64017a --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_abstr_or_native_wrong_constraint.ets @@ -0,0 +1,19 @@ +{% for wc in wrong_constraints %} +{% for mm in abstr_or_native_method_modifiers %} + +/*--- +desc: wrong constraints for type variable +params: > + {{.wc}} + {{.mm}} +---*/ + +class Point { + {{.mm}} foo(): void; +} + +function main(): void {} + +{% endfor %} +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_with_body_wrong_constraint.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_with_body_wrong_constraint.ets new file mode 100644 index 0000000000000000000000000000000000000000..76ac235468e999db879729fbf2afd4ed0ee2e882 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/03.generic_methods/n.generic_method_with_body_wrong_constraint.ets @@ -0,0 +1,19 @@ +{% for wc in wrong_constraints %} +{% for mm in method_modifiers %} + +/*--- +desc: wrong constraints for type variable +params: > + {{.wc}} + {{.mm}} +---*/ + +class Point { + {{.mm}} foo(): void {}; +} + +function main(): void {} + +{% endfor %} +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/list.wrong_constraints.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/list.wrong_constraints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40496e25549aef0c91acca4d2cc1c3722ff6237e --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/list.wrong_constraints.yaml @@ -0,0 +1,19 @@ +--- # Wrong type constraints for generic parameters + +- boolean +- byte +- char +- double +- float +- int +- int && Object +- int && Object && String +- long +- Object && int +- Object && int && String +- Object && String && int +- short +- void +- "enum Color { Red, Green, Blue }" +- "int[]" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/n.generic_function_wrong_constraint.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/n.generic_function_wrong_constraint.ets new file mode 100644 index 0000000000000000000000000000000000000000..f723ac2fefb4e492ce3ee65844f88f0b519f0af1 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/01.generic_declarations/05.generic_functions/n.generic_function_wrong_constraint.ets @@ -0,0 +1,14 @@ +{% for wc in wrong_constraints %} + +/*--- +desc: wrong constraints for type variable +params: > + {{.wc}} +---*/ + +function foo(): void {}; + +function main(): void {} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.bounds.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.bounds.yaml new file mode 100644 index 0000000000000000000000000000000000000000..38a78383c78746696aff04059441795e97b18dc5 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.bounds.yaml @@ -0,0 +1,5 @@ +--- # Bounds for wildcards + +- super +- extends + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.type_with_one_generic.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.type_with_one_generic.yaml new file mode 100644 index 0000000000000000000000000000000000000000..41386e479734abd463fcfb02a72fd23402db3d09 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.type_with_one_generic.yaml @@ -0,0 +1,6 @@ +--- # Generic types declarations with one type parameter + +- {decl: "class ClassGener {}", type: "ClassGener", curly_if_need: "{}"} +- {decl: "interface IfaceGener {}", type: "IfaceGener", curly_if_need: "{}"} +- {decl: "function FuncGener(): void {}", type: "FuncGener", curly_if_need: ""} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.wrong_constraints.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.wrong_constraints.yaml new file mode 100644 index 0000000000000000000000000000000000000000..40496e25549aef0c91acca4d2cc1c3722ff6237e --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/list.wrong_constraints.yaml @@ -0,0 +1,19 @@ +--- # Wrong type constraints for generic parameters + +- boolean +- byte +- char +- double +- float +- int +- int && Object +- int && Object && String +- long +- Object && int +- Object && int && String +- Object && String && int +- short +- void +- "enum Color { Red, Green, Blue }" +- "int[]" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/n.wrong_wildcard_bound.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/n.wrong_wildcard_bound.ets new file mode 100644 index 0000000000000000000000000000000000000000..a3fd36cd2dae6052bca206ce8a9826d67dd1c0f0 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/01.type_arguments/n.wrong_wildcard_bound.ets @@ -0,0 +1,23 @@ +{% for wc in wrong_constraints %} +{% for tog in type_with_one_generic %} +{% for bd in bounds %} + +/*--- +desc: Self-dependency is prohibited +params: > + {{.wc}} + {{.tog}} + {{.bd}} +---*/ + + +{{.tog.decl}} + +function main(): void { + let x = {{.tog.type}}{{.tog.curly_if_need}}; +} + +{% endfor %} +{% endfor %} +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.generic_types.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.generic_types.yaml new file mode 100644 index 0000000000000000000000000000000000000000..580cbcb15277abb0c3c67ba5b63b2852d342c389 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.generic_types.yaml @@ -0,0 +1,23 @@ +--- # Generic declarations and its wrong parameterization + +- {decl: "class NonGeneric {}", bad_param: "NonGeneric"} +- {decl: "class OneGeneric {}", bad_param: "OneGeneric"} +- {decl: "class OneGeneric {}", bad_param: "OneGeneric"} +- {decl: "class TwoGenerics {}", bad_param: "TwoGenerics"} +- {decl: "class TwoGenerics {}", bad_param: "TwoGenerics"} +- {decl: "class TwoGenerics {}", bad_param: "TwoGenerics"} + +- {decl: "function NonGeneric(): void {}", bad_param: "NonGeneric"} +- {decl: "function OneGeneric(): void {}", bad_param: "OneGeneric"} +- {decl: "function OneGeneric(): void {}", bad_param: "OneGeneric"} +- {decl: "function TwoGenerics(): void {}", bad_param: "TwoGenerics"} +- {decl: "function TwoGenerics(): void {}", bad_param: "TwoGenerics"} +- {decl: "function TwoGenerics(): void {}", bad_param: "TwoGenerics"} + +- {decl: "interface NonGeneric {}", bad_param: "NonGeneric"} +- {decl: "interface OneGeneric {}", bad_param: "OneGeneric"} +- {decl: "interface OneGeneric {}", bad_param: "OneGeneric"} +- {decl: "interface TwoGenerics {}", bad_param: "TwoGenerics"} +- {decl: "interface TwoGenerics {}", bad_param: "TwoGenerics"} +- {decl: "interface TwoGenerics {}", bad_param: "TwoGenerics"} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.non_generics.yaml b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.non_generics.yaml new file mode 100644 index 0000000000000000000000000000000000000000..2e357c21dd2dc5da9a90c4fcf3f1afe61970f519 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/list.non_generics.yaml @@ -0,0 +1,6 @@ +--- # Non generic declarations + +- "class NonGeneric {}" +- "interface NonGeneric {}" +- "function NonGeneric(): void {}" + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_non_generic.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_non_generic.ets new file mode 100644 index 0000000000000000000000000000000000000000..cad2fe5f27fa925088c97d63a7ccb7809132d102 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_non_generic.ets @@ -0,0 +1,16 @@ +{% for ng in non_generics %} + +/*--- +desc: "malformed parameterized generics: use of generics with non generic" +params: > + {{.ng}} +---*/ + +{{.ng}} + +function main(): void { + let ng: NonGeneric; +} + +{% endfor %} + diff --git a/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_not_same_params_number.ets b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_not_same_params_number.ets new file mode 100644 index 0000000000000000000000000000000000000000..78b59ec173a9ee87c978196c47aa8bb78813a287 --- /dev/null +++ b/migrator/test/staticTS/CTS/05.generic_and_parameterized_declarations/02.parameterized_declarations/n.malformed_parameterized_decl_not_same_params_number.ets @@ -0,0 +1,15 @@ +{% for gt in generic_types %} + +/*--- +desc: "malformed parameterized generics: wrong amount of type parameters" +params: > + {{.gt}} +---*/ + +{{.gt.decl}} + +function main(): void { + let gt: {{.gt.bad_param}}; +} + +{% endfor %}