/**
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
/* Generated By:JJTree: Do not edit this line. ASTClassOrInterfaceType.java */
package net.sourceforge.pmd.lang.java.ast;
import java.util.List;
public class ASTClassOrInterfaceType extends AbstractJavaTypeNode {
public ASTClassOrInterfaceType(int id) {
super(id);
}
public ASTClassOrInterfaceType(JavaParser p, int id) {
super(p, id);
}
/**
* Accept the visitor. *
*/
public Object jjtAccept(JavaParserVisitor visitor, Object data) {
return visitor.visit(this, data);
}
/**
* Checks whether the type this node is referring to is declared within the
* same compilation unit - either a class/interface or a enum type. You want
* to check this, if {@link #getType()} is null.
*
* @return <code>true</code> if this node referencing a type in the same
* compilation unit, <code>false</code> otherwise.
*/
public boolean isReferenceToClassSameCompilationUnit() {
ASTCompilationUnit root = getFirstParentOfType(ASTCompilationUnit.class);
List<ASTClassOrInterfaceDeclaration> classes = root.findDescendantsOfType(ASTClassOrInterfaceDeclaration.class);
for (ASTClassOrInterfaceDeclaration c : classes) {
if (c.hasImageEqualTo(getImage())) {
return true;
}
}
List<ASTEnumDeclaration> enums = root.findDescendantsOfType(ASTEnumDeclaration.class);
for (ASTEnumDeclaration e : enums) {
if (e.hasImageEqualTo(getImage())) {
return true;
}
}
return false;
}
}