File tree Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Expand file tree Collapse file tree 1 file changed +5
-3
lines changed Original file line number Diff line number Diff line change @@ -3351,7 +3351,7 @@ export class Resolver extends DiagnosticEmitter {
33513351 let boundInstance = this . resolveProperty ( boundPrototype , reportMode ) ;
33523352 if ( boundInstance ) {
33533353 let fieldType = boundInstance . type ;
3354- assert ( isPowerOf2 ( fieldType . byteSize ) ) ;
3354+ if ( fieldType == Type . void ) break ; // failed to resolve earlier
33553355 let needsLayout = true ;
33563356 if ( base ) {
33573357 let existingMember = base . getMember ( boundPrototype . name ) ;
@@ -3374,10 +3374,12 @@ export class Resolver extends DiagnosticEmitter {
33743374 }
33753375 }
33763376 if ( needsLayout ) {
3377- let mask = fieldType . byteSize - 1 ;
3377+ let byteSize = fieldType . byteSize ;
3378+ assert ( isPowerOf2 ( byteSize ) ) ;
3379+ let mask = byteSize - 1 ;
33783380 if ( memoryOffset & mask ) memoryOffset = ( memoryOffset | mask ) + 1 ;
33793381 boundInstance . memoryOffset = memoryOffset ;
3380- memoryOffset += fieldType . byteSize ;
3382+ memoryOffset += byteSize ;
33813383 }
33823384 boundPrototype . instance = boundInstance ;
33833385 instance . add ( boundPrototype . name , boundPrototype ) ; // reports
You can’t perform that action at this time.
0 commit comments