dart / co19 / 6186e8e037eb98568e0f829726544621c4e05445 / . / LanguageFeatures / Subtyping / dynamic / generated / function_type_function_class_member_A10_t01.dart

/* | |

* Copyright (c) 2018, 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. | |

*/ | |

/** | |

* @assertion We say that a type T0 is a subtype of a type T1 (written T0 <: T1) | |

* when: | |

* Function Type/Function: T0 is a function type and T1 is Function | |

* @description Check that if type T0 is a function type and T1 is Function then | |

* T0 is a subtype of T1. Test void generic function without actual arguments | |

* @author sgrekhov@unipro.ru | |

*/ | |

/** | |

* @description Check that if type T0 is a subtype of a type T1, then instance | |

* of T0 can be be assigned to the class member of type T1 | |

* @author sgrekhov@unipro.ru | |

*/ | |

/* | |

* This test is generated from function_type_function_A10.dart and | |

* class_member_x01.dart. | |

* Don't modify it. If you want to change this file, change one of the files | |

* above and then run generator.dart to regenerate the tests. | |

*/ | |

import '../../utils/common.dart'; | |

class C {} | |

typedef void T0<X>(); | |

void t0Func<X>() {} | |

T0<C> t0Instance = t0Func; | |

Function t1Instance = null; | |

class ClassMember1_t01 { | |

static Function s = forgetType(t0Instance); | |

Function m = forgetType(t0Instance); | |

Function _p = forgetType(t0Instance); | |

ClassMember1_t01() { | |

s = forgetType(t0Instance); | |

m = forgetType(t0Instance); | |

_p = forgetType(t0Instance); | |

} | |

ClassMember1_t01.named(Function value) { | |

s = value; | |

m = value; | |

_p = value; | |

} | |

ClassMember1_t01.short(this.m, this._p); | |

test() { | |

s = forgetType(t0Instance); | |

m = forgetType(t0Instance); | |

_p = forgetType(t0Instance); | |

} | |

set setter(Function val) { | |

_p = val; | |

} | |

Function get getter => forgetType(_p); | |

static staticTest() { | |

s = forgetType(t0Instance); | |

} | |

static set staticSetter(Function val) { | |

s = val; | |

} | |

static Function get staticGetter => forgetType(t0Instance); | |

} | |

class ClassMember2_t01<X> { | |

X m; | |

X _p; | |

ClassMember2_t01() { | |

m = forgetType(t0Instance); | |

_p = forgetType(t0Instance); | |

} | |

ClassMember2_t01.named(X value) { | |

m = value; | |

_p = value; | |

} | |

ClassMember2_t01.short(this.m, this._p); | |

test(X v) { | |

m = v; | |

_p = v; | |

} | |

set setter(X val) { | |

_p = val; | |

} | |

Function get getter => forgetType(_p); | |

} | |

main() { | |

ClassMember1_t01 c1 = new ClassMember1_t01(); | |

c1 = new ClassMember1_t01.short(forgetType(t0Instance), | |

forgetType(t0Instance)); | |

c1 = new ClassMember1_t01.named(forgetType(t0Instance)); | |

c1.m = forgetType(t0Instance); | |

c1.test(); | |

c1.setter = forgetType(t0Instance); | |

c1.getter; | |

ClassMember1_t01.s = forgetType(t0Instance); | |

ClassMember1_t01.staticTest(); | |

ClassMember1_t01.staticSetter = forgetType(t0Instance); | |

ClassMember1_t01.staticGetter; | |

// Test type parameters | |

//# <-- NotGenericFunctionType | |

ClassMember2_t01<Function> c2 = new ClassMember2_t01<Function>(); | |

c2 = new ClassMember2_t01<Function>.short(forgetType(t0Instance), | |

forgetType(t0Instance)); | |

c2 = new ClassMember2_t01<Function>.named(forgetType(t0Instance)); | |

c2.m = forgetType(t0Instance); | |

c2.test(forgetType(t0Instance)); | |

c2.getter; | |

//# --> | |

} |