@@ -27,12 +27,16 @@ export function compareReferenceType<T extends reflect.ReferenceType>(original:
27
27
context . mismatches . report ( original , 'has gone from @subclassable to non-@subclassable' ) ;
28
28
}
29
29
30
- for ( const [ origMethod , updatedMethod ] of memberPairs ( original , original . allMethods , updated , context ) ) {
31
- compareMethod ( original , origMethod , updatedMethod , context ) ;
30
+ for ( const [ origMethod , updatedElement ] of memberPairs ( original , original . allMethods , updated , context ) ) {
31
+ if ( reflect . isMethod ( origMethod ) && reflect . isMethod ( updatedElement ) ) {
32
+ compareMethod ( original , origMethod , updatedElement , context ) ;
33
+ }
32
34
}
33
35
34
- for ( const [ origProp , updatedProp ] of memberPairs ( original , original . allProperties , updated , context ) ) {
35
- compareProperty ( original , origProp , updatedProp , context ) ;
36
+ for ( const [ origProp , updatedElement ] of memberPairs ( original , original . allProperties , updated , context ) ) {
37
+ if ( reflect . isProperty ( origProp ) && reflect . isProperty ( updatedElement ) ) {
38
+ compareProperty ( original , origProp , updatedElement , context ) ;
39
+ }
36
40
}
37
41
38
42
// You cannot have added abstract members to the class/interface, as they are
@@ -174,7 +178,7 @@ function compareProperty(origClass: reflect.Type, original: reflect.Property, up
174
178
}
175
179
176
180
// tslint:disable-next-line:max-line-length
177
- function * memberPairs < T extends reflect . TypeMember , U extends reflect . ReferenceType > ( origClass : U , xs : T [ ] , updatedClass : U , context : ComparisonContext ) : IterableIterator < [ T , T ] > {
181
+ function * memberPairs < T extends reflect . TypeMember , U extends reflect . ReferenceType > ( origClass : U , xs : T [ ] , updatedClass : U , context : ComparisonContext ) : IterableIterator < [ T , reflect . TypeMember ] > {
178
182
for ( const origMember of xs . filter ( shouldInspect ( context ) ) ) {
179
183
LOG . trace ( `${ origClass . fqn } #${ origMember . name } ` ) ;
180
184
@@ -192,7 +196,7 @@ function* memberPairs<T extends reflect.TypeMember, U extends reflect.ReferenceT
192
196
context . mismatches . report ( origClass , `member ${ origMember . name } changed from 'public' to 'protected'` ) ;
193
197
}
194
198
195
- yield [ origMember , updatedMember as T ] ; // Trust me I know what I'm doing
199
+ yield [ origMember , updatedMember ] ;
196
200
}
197
201
}
198
202
0 commit comments