diff options
author | Alena Laskavaia | 2010-05-09 01:54:29 +0000 |
---|---|---|
committer | Alena Laskavaia | 2010-05-09 01:54:29 +0000 |
commit | a39fe6b4b24efa0a8023cff9526079856244e740 (patch) | |
tree | a07c4fce554304957987b9ba07aad6a1b40abb73 /codan/org.eclipse.cdt.codan.core.cxx/src | |
parent | ed2cdbc5298b94e93be824bc3dbe445d0fccfee0 (diff) | |
download | org.eclipse.cdt-a39fe6b4b24efa0a8023cff9526079856244e740.tar.gz org.eclipse.cdt-a39fe6b4b24efa0a8023cff9526079856244e740.tar.xz org.eclipse.cdt-a39fe6b4b24efa0a8023cff9526079856244e740.zip |
Extracted interface for data object of Basic Block in control flow graph
Diffstat (limited to 'codan/org.eclipse.cdt.codan.core.cxx/src')
2 files changed, 7 insertions, 6 deletions
diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java index a78bae7858f..2524f028e7e 100644 --- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java +++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java @@ -23,6 +23,7 @@ import org.eclipse.cdt.codan.core.model.cfg.IPlainNode; import org.eclipse.cdt.codan.core.model.cfg.IStartNode; import org.eclipse.cdt.codan.internal.core.cfg.AbstractBasicBlock; import org.eclipse.cdt.codan.internal.core.cfg.DecisionNode; +import org.eclipse.cdt.codan.internal.core.cfg.ICfgData; import org.eclipse.cdt.codan.internal.core.cfg.JumpNode; import org.eclipse.cdt.core.dom.ast.IASTBreakStatement; import org.eclipse.cdt.core.dom.ast.IASTCaseStatement; @@ -440,7 +441,7 @@ public class ControlFlowGraphBuilder { if (prev instanceof IExitNode || prev == null) { dead.add(node); return; - } else if (prev instanceof AbstractBasicBlock) { + } else if (prev instanceof ICfgData) { ((AbstractBasicBlock) prev).addOutgoing(node); } if (!(node instanceof IStartNode)) diff --git a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/CxxNodeFactory.java b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/CxxNodeFactory.java index 055ad23249b..c9bc4a28d54 100644 --- a/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/CxxNodeFactory.java +++ b/codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/CxxNodeFactory.java @@ -15,7 +15,7 @@ import org.eclipse.cdt.codan.core.model.cfg.IDecisionNode; import org.eclipse.cdt.codan.core.model.cfg.IExitNode; import org.eclipse.cdt.codan.core.model.cfg.INodeFactory; import org.eclipse.cdt.codan.core.model.cfg.IPlainNode; -import org.eclipse.cdt.codan.internal.core.cfg.AbstractBasicBlock; +import org.eclipse.cdt.codan.internal.core.cfg.ICfgData; import org.eclipse.cdt.codan.internal.core.cfg.NodeFactory; import org.eclipse.cdt.core.dom.ast.IASTNode; @@ -41,19 +41,19 @@ public class CxxNodeFactory extends NodeFactory implements INodeFactory { public CxxPlainNode createPlainNode(IASTNode ast) { IPlainNode node = createPlainNode(); - ((AbstractBasicBlock) node).setData(ast); + ((ICfgData) node).setData(ast); return (CxxPlainNode) node; } public CxxDecisionNode createDecisionNode(IASTNode ast) { IDecisionNode node = createDecisionNode(); - ((AbstractBasicBlock) node).setData(ast); + ((ICfgData) node).setData(ast); return (CxxDecisionNode) node; } public CxxExitNode createExitNode(IASTNode ast) { IExitNode node = createExitNode(); - ((AbstractBasicBlock) node).setData(ast); + ((ICfgData) node).setData(ast); return (CxxExitNode) node; } @@ -63,7 +63,7 @@ public class CxxNodeFactory extends NodeFactory implements INodeFactory { */ public IBranchNode createBranchNode(IASTNode caseSt) { IBranchNode node = createBranchNode(caseSt.getRawSignature()); - ((AbstractBasicBlock) node).setData(caseSt); + ((ICfgData) node).setData(caseSt); return node; } } |