00001: package clogs.ast; 00002: 00003: import clogs.util.Optional; 00004: 00005: 00006: public class ExpNew extends Exp 00007: { 00008: public final Type contentType; 00009: public final Exp size; 00010: 00011: 00012: public ExpNew (Type contentType, Exp size) 00013: { 00014: this (new Optional<Type> (), contentType, size); 00015: } 00016: 00017: 00018: ExpNew (Optional<Type> to, Type contentType, Exp size) 00019: { 00020: super (to); 00021: this.contentType = contentType; 00022: this.size = size; 00023: } 00024: 00025: 00026: public Exp setType (Type type) 00027: { 00028: return new ExpNew (new Optional<Type> (type), contentType, size); 00029: } 00030: } 00031: