001 package edu.rice.cs.javalanglevels.tree;
002
003 import edu.rice.cs.javalanglevels.SourceInfo;
004
005 /**
006 * Class AnonymousClassInstantiation, a component of the JExpressionIF composite hierarchy.
007 * Note: null is not allowed as a value for any field.
008 * @version Generated automatically by ASTGen at Sun Aug 28 23:01:28 CDT 2011
009 */
010 public abstract class AnonymousClassInstantiation extends ClassInstantiation {
011 private final BracedBody _body;
012
013 /**
014 * Constructs a AnonymousClassInstantiation.
015 * @throws java.lang.IllegalArgumentException If any parameter to the constructor is null.
016 */
017 public AnonymousClassInstantiation(SourceInfo in_sourceInfo, Type in_type, ParenthesizedExpressionList in_arguments, BracedBody in_body) {
018 super(in_sourceInfo, in_type, in_arguments);
019
020 if (in_body == null) {
021 throw new java.lang.IllegalArgumentException("Parameter 'body' to the AnonymousClassInstantiation constructor was null. This class may not have null field values.");
022 }
023 _body = in_body;
024 }
025
026 public BracedBody getBody() { return _body; }
027
028 public abstract <RetType> RetType visit(JExpressionIFVisitor<RetType> visitor);
029 public abstract void visit(JExpressionIFVisitor_void visitor);
030 public abstract void outputHelp(TabPrintWriter writer);
031 protected abstract int generateHashCode();
032 }