/** * When a class B inherits from A and A is annotated as a struct, then B automatically gets the * annotation, even if B's constructor is not explicitly annotated. */ public boolean makesStructs() { if (!isConstructor()) { return false; } if (propAccess == PropAccess.STRUCT) { return true; } FunctionType superc = getSuperClassConstructor(); if (superc != null && superc.makesStructs()) { setStruct(); return true; } return false; }