Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlena Laskavaia2010-05-09 01:54:29 +0000
committerAlena Laskavaia2010-05-09 01:54:29 +0000
commita39fe6b4b24efa0a8023cff9526079856244e740 (patch)
treea07c4fce554304957987b9ba07aad6a1b40abb73 /codan/org.eclipse.cdt.codan.core.cxx/src
parented2cdbc5298b94e93be824bc3dbe445d0fccfee0 (diff)
downloadorg.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')
-rw-r--r--codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/ControlFlowGraphBuilder.java3
-rw-r--r--codan/org.eclipse.cdt.codan.core.cxx/src/org/eclipse/cdt/codan/core/cxx/internal/model/cfg/CxxNodeFactory.java10
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;
}
}

Back to the top