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: