File tree Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Expand file tree Collapse file tree 1 file changed +22
-9
lines changed Original file line number Diff line number Diff line change @@ -3015,19 +3015,32 @@ export abstract class DeclaredElement extends Element {
3015
3015
// class A implement I, class B extends A implement I
3016
3016
let selfField = < Field > self ;
3017
3017
let baseProperty = this . program . resolver . resolveProperty ( < PropertyPrototype > base ) ;
3018
-
3019
- if ( ! selfField . internalGetterSignature
3020
- || ! baseProperty
3021
- || ! baseProperty . getterInstance
3022
- || ! selfField . internalGetterSignature . isAssignableTo ( baseProperty . getterInstance . signature ) ) {
3018
+ if ( ! selfField . internalGetterSignature || ! selfField . internalSetterSignature || ! baseProperty ) {
3023
3019
return false ;
3024
3020
}
3025
- if ( ! selfField . internalSetterSignature
3026
- || ! baseProperty
3027
- || ! baseProperty . setterInstance
3028
- || ! selfField . internalSetterSignature . isAssignableTo ( baseProperty . setterInstance . signature ) ) {
3021
+ let baseGetterInsance = baseProperty . getterInstance ;
3022
+ let baseSetterInsance = baseProperty . setterInstance ;
3023
+ if ( baseGetterInsance && baseSetterInsance ) {
3024
+ if ( ! selfField . internalGetterSignature . isAssignableTo ( baseGetterInsance . signature )
3025
+ || ! selfField . internalSetterSignature . isAssignableTo ( baseSetterInsance . signature ) ) {
3026
+ return false ;
3027
+ }
3028
+ } else {
3029
3029
return false ;
3030
3030
}
3031
+
3032
+ // if (!selfField.internalGetterSignature
3033
+ // || !baseProperty
3034
+ // || !baseProperty.getterInstance
3035
+ // || !selfField.internalGetterSignature.isAssignableTo(baseProperty.getterInstance.signature)) {
3036
+ // return false;
3037
+ // }
3038
+ // if (!selfField.internalSetterSignature
3039
+ // || !baseProperty
3040
+ // || !baseProperty.setterInstance
3041
+ // || !selfField.internalSetterSignature.isAssignableTo(baseProperty.setterInstance.signature)) {
3042
+ // return false;
3043
+ // }
3031
3044
return true ;
3032
3045
}
3033
3046
return false ;
You can’t perform that action at this time.
0 commit comments