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