001    /* This file was generated with JastAdd2 (http://jastadd.org) version 2.1.13-12-g880e696 */
002    package org.extendj.ast;
003    
004    import java.util.HashSet;
005    import java.io.File;
006    import java.util.Set;
007    import java.util.Collections;
008    import java.util.Collection;
009    import java.util.ArrayList;
010    import beaver.*;
011    import java.util.*;
012    import java.io.ByteArrayOutputStream;
013    import java.io.PrintStream;
014    import java.lang.reflect.InvocationTargetException;
015    import java.lang.reflect.Method;
016    import org.jastadd.util.*;
017    import java.util.zip.*;
018    import java.io.*;
019    import org.jastadd.util.PrettyPrintable;
020    import org.jastadd.util.PrettyPrinter;
021    import java.io.FileNotFoundException;
022    import java.io.BufferedInputStream;
023    import java.io.DataInputStream;
024    /**
025     * @ast node
026     * @declaredat /home/jesper/git/extendj/java4/grammar/Java.ast:126
027     * @production PrimaryExpr : {@link Expr};
028    
029     */
030    public abstract class PrimaryExpr extends Expr implements Cloneable {
031      /**
032       * @declaredat ASTNode:1
033       */
034      public PrimaryExpr() {
035        super();
036      }
037      /**
038       * Initializes the child array to the correct size.
039       * Initializes List and Opt nta children.
040       * @apilevel internal
041       * @ast method
042       * @declaredat ASTNode:10
043       */
044      public void init$Children() {
045      }
046      /**
047       * @apilevel low-level
048       * @declaredat ASTNode:15
049       */
050      protected int numChildren() {
051        return 0;
052      }
053      /**
054       * @apilevel internal
055       * @declaredat ASTNode:21
056       */
057      public boolean mayHaveRewrite() {
058        return false;
059      }
060      /**
061       * @apilevel internal
062       * @declaredat ASTNode:27
063       */
064      public void flushAttrCache() {
065        super.flushAttrCache();
066      }
067      /**
068       * @apilevel internal
069       * @declaredat ASTNode:33
070       */
071      public void flushCollectionCache() {
072        super.flushCollectionCache();
073      }
074      /**
075       * @apilevel internal
076       * @declaredat ASTNode:39
077       */
078      public void flushRewriteCache() {
079        super.flushRewriteCache();
080      }
081      /**
082       * @apilevel internal
083       * @declaredat ASTNode:45
084       */
085      public PrimaryExpr clone() throws CloneNotSupportedException {
086        PrimaryExpr node = (PrimaryExpr) super.clone();
087        return node;
088      }
089      /**
090       * Create a deep copy of the AST subtree at this node.
091       * The copy is dangling, i.e. has no parent.
092       * @return dangling copy of the subtree at this node
093       * @apilevel low-level
094       * @deprecated Please use treeCopy or treeCopyNoTransform instead
095       * @declaredat ASTNode:56
096       */
097      @Deprecated
098      public abstract PrimaryExpr fullCopy();
099      /**
100       * Create a deep copy of the AST subtree at this node.
101       * The copy is dangling, i.e. has no parent.
102       * @return dangling copy of the subtree at this node
103       * @apilevel low-level
104       * @declaredat ASTNode:64
105       */
106      public abstract PrimaryExpr treeCopyNoTransform();
107      /**
108       * Create a deep copy of the AST subtree at this node.
109       * The subtree of this node is traversed to trigger rewrites before copy.
110       * The copy is dangling, i.e. has no parent.
111       * @return dangling copy of the subtree at this node
112       * @apilevel low-level
113       * @declaredat ASTNode:72
114       */
115      public abstract PrimaryExpr treeCopy();
116      /**
117       * @apilevel internal
118       */
119      public ASTNode rewriteTo() {
120        return super.rewriteTo();
121      }
122    }