/* This file is part of Green.
*
* Copyright (C) 2005 The Research Foundation of State University of New York
* All Rights Under Copyright Reserved, The Research Foundation of S.U.N.Y.
*
* Green is free software, licensed under the terms of the Eclipse
* Public License, version 1.0. The license is available at
* http://www.eclipse.org/legal/epl-v10.html
*/
package edu.buffalo.cse.green.relationship.dependency;
import org.eclipse.jdt.core.dom.ASTNode;
import org.eclipse.jdt.core.dom.ClassInstanceCreation;
import org.eclipse.jdt.core.dom.ITypeBinding;
import edu.buffalo.cse.green.relationships.RelationshipRemover;
import edu.buffalo.cse.green.relationships.DeclarationInfoProvider;
/**
* @see edu.buffalo.cse.green.relationship.RelationshipRemover
*
* @author bcmartin
*/
public class DependencyIRemover extends RelationshipRemover {
/**
* @see org.eclipse.jdt.core.dom.ASTVisitor#visit(org.eclipse.jdt.core.dom.ClassInstanceCreation)
*/
public boolean visit(ClassInstanceCreation node) {
ITypeBinding matchType = node.resolveTypeBinding();
if (matchType != null && matchType.getJavaElement().getHandleIdentifier().equals(
getTargetType().getHandleIdentifier())) {
if (node.getParent().getNodeType() == ASTNode.EXPRESSION_STATEMENT) {
node.getParent().delete();
} else {
node.delete();
}
}
return true;
}
/**
* @see edu.buffalo.cse.green.relationships.RelationshipRemover#finish()
*/
protected void finish() {}
/**
* @see edu.buffalo.cse.green.relationships.RelationshipRemover#init()
*/
protected void init() {}
/**
* @see edu.buffalo.cse.green.relationships.RelationshipVisitor#process(org.eclipse.jdt.core.dom.TypeDeclaration)
*/
protected boolean process(DeclarationInfoProvider node) {
return true;
}
}