/* 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; } }