@@ -27,12 +27,16 @@ export function compareReferenceType<T extends reflect.ReferenceType>(original:
2727 context . mismatches . report ( original , 'has gone from @subclassable to non-@subclassable' ) ;
2828 }
2929
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+ }
3234 }
3335
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+ }
3640 }
3741
3842 // 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
174178}
175179
176180// 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 ] > {
178182 for ( const origMember of xs . filter ( shouldInspect ( context ) ) ) {
179183 LOG . trace ( `${ origClass . fqn } #${ origMember . name } ` ) ;
180184
@@ -192,7 +196,7 @@ function* memberPairs<T extends reflect.TypeMember, U extends reflect.ReferenceT
192196 context . mismatches . report ( origClass , `member ${ origMember . name } changed from 'public' to 'protected'` ) ;
193197 }
194198
195- yield [ origMember , updatedMember as T ] ; // Trust me I know what I'm doing
199+ yield [ origMember , updatedMember ] ;
196200 }
197201}
198202
0 commit comments