File tree 1 file changed +5
-3
lines changed
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 {
3351
3351
let boundInstance = this . resolveProperty ( boundPrototype , reportMode ) ;
3352
3352
if ( boundInstance ) {
3353
3353
let fieldType = boundInstance . type ;
3354
- assert ( isPowerOf2 ( fieldType . byteSize ) ) ;
3354
+ if ( fieldType == Type . void ) break ; // failed to resolve earlier
3355
3355
let needsLayout = true ;
3356
3356
if ( base ) {
3357
3357
let existingMember = base . getMember ( boundPrototype . name ) ;
@@ -3374,10 +3374,12 @@ export class Resolver extends DiagnosticEmitter {
3374
3374
}
3375
3375
}
3376
3376
if ( needsLayout ) {
3377
- let mask = fieldType . byteSize - 1 ;
3377
+ let byteSize = fieldType . byteSize ;
3378
+ assert ( isPowerOf2 ( byteSize ) ) ;
3379
+ let mask = byteSize - 1 ;
3378
3380
if ( memoryOffset & mask ) memoryOffset = ( memoryOffset | mask ) + 1 ;
3379
3381
boundInstance . memoryOffset = memoryOffset ;
3380
- memoryOffset += fieldType . byteSize ;
3382
+ memoryOffset += byteSize ;
3381
3383
}
3382
3384
boundPrototype . instance = boundInstance ;
3383
3385
instance . add ( boundPrototype . name , boundPrototype ) ; // reports
You can’t perform that action at this time.
0 commit comments