Lines Matching refs:class

42 API 11中ArkTS语言规范首次引入@Sendable装饰器和Sendable class相关概念,但部分Sendable语法约束规则存在编译期未校验等问题。因此在本次版本更新中我们对ArkTS…
48 #### 规则1. *Sendable class只能继承自Sendable class*
50 现在我们对本规则场景进行完善,当Sendable class继承自变量(即使该变量赋值为Sendable class)时,编译报错。
54 class A {} // Sendable class
59 class B extends A {}
62 class C extends a {} // 编译报错: Sendable class无法继承自变量
65 影响场景:Sendable class继承自变量场景(即使该变量赋值为Sendable class),在本次更新后将无法通过编译,存在兼容性影响
69 #### 规则2. *Non-sendable class只能继承自Non-sendable class*
71 当Non-sendable class继承自Sendable class时,编译报错。
75 class A {}
77 class B extends A {} // 编译报错: Non-sendable class无法继承自Sendable class
80 影响场景:当Non-sendable class继承自Sendable class时,原本在运行时报错,在本次更新后将无法通过编译,存在兼容性影响
84 #### 规则3. *泛型类中的Sendable class, collections.Array, collections.Map, collections.Set的模板类型必须是Sendable…
86 现在编译期对Sendable类属性使用模板类型不再检查拦截,允许Sendable类属性使用模板类型;同时将检查泛型类在实例化位置的类型,当泛型类中的Sendable class的模板类型是Non-s…
90 class B {} // Sendable class
93 class C<T> {
106 class B {} // Non-sendable class
109 class C<T> {}
111 let c = new C<B>(); // 编译报错:泛型类中的Sendable class的模板类型禁止为Non-sendable类型
114 影响场景:1. Sendable模板类属性使用模板类型场景,将不再编译报错;2.泛型类中的Sendable class的模板类型为Non-sendable类型的场景,在本次更新后将无法通过编译,存在…
118 #### 规则4. *Sendable class禁止使用其他装饰器(类装饰器、属性装饰、方法装饰器、参数装饰器)*
120 当Sendable class使用其他装饰器时,编译报错
133 class A {} // 编译报错: Sendable class禁止使用其他装饰器
136 影响场景:对于Sendable class使用了其他装饰器,在本次更新后将无法通过编译,存在兼容性影响
146 class C {}
160 class A {}
163 class B {}