5 public class SizeofExpr extends Expr {
9 public SizeofExpr(SetExpr setexpr) {
10 if (setexpr == null) {
11 throw new NullPointerException();
14 this.setexpr = setexpr;
17 public SetExpr getSetExpr() {
21 public Set getRequiredDescriptors() {
22 return setexpr.getRequiredDescriptors();
25 public void generate(CodeWriter writer, VarDescriptor dest) {
26 setexpr.generate_size(writer, dest);
29 public void prettyPrint(PrettyPrinter pp) {
31 setexpr.prettyPrint(pp);
35 public TypeDescriptor typecheck(SemanticAnalyzer sa) {
36 this.td = ReservedTypeDescriptor.INT;
40 public Set getInversedRelations() {
41 return setexpr.getInversedRelations();