/****************************************************************************** * Copyright (c) 2002 - 2006 IBM Corporation. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *****************************************************************************/ package com.ibm.wala.cast.ir.cfg; import java.util.Collection; import java.util.List; import com.ibm.wala.cfg.ControlFlowGraph; import com.ibm.wala.cfg.IBasicBlock; import com.ibm.wala.classLoader.IMethod; import com.ibm.wala.util.graph.AbstractNumberedGraph; import com.ibm.wala.util.graph.NumberedEdgeManager; import com.ibm.wala.util.graph.NumberedNodeManager; import com.ibm.wala.util.intset.BitVector; public class DelegatingCFG> extends AbstractNumberedGraph implements ControlFlowGraph { protected final ControlFlowGraph parent; public DelegatingCFG(ControlFlowGraph parent) { this.parent = parent; } @Override protected NumberedNodeManager getNodeManager() { return parent; } @Override protected NumberedEdgeManager getEdgeManager() { return parent; } @Override public T entry() { return parent.entry(); } @Override public T exit() { return parent.exit(); } @Override public BitVector getCatchBlocks() { return parent.getCatchBlocks(); } @Override public T getBlockForInstruction(int index) { return parent.getBlockForInstruction(index); } @Override public I[] getInstructions() { return parent.getInstructions(); } @Override public int getProgramCounter(int index) { return parent.getProgramCounter(index); } @Override public IMethod getMethod() { return parent.getMethod(); } @Override public List getExceptionalSuccessors(T b) { return parent.getExceptionalSuccessors(b); } @Override public Collection getNormalSuccessors(T b) { return parent.getNormalSuccessors(b); } @Override public Collection getExceptionalPredecessors(T b) { return parent.getExceptionalPredecessors(b); } @Override public Collection getNormalPredecessors(T b) { return parent.getNormalPredecessors(b); } }