projects
/
IRC.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
bd0e117
)
fix.
author
yeom
<yeom>
Wed, 1 Aug 2012 06:47:43 +0000
(06:47 +0000)
committer
yeom
<yeom>
Wed, 1 Aug 2012 06:47:43 +0000
(06:47 +0000)
Robust/src/Analysis/SSJava/FlowDownCheck.java
patch
|
blob
|
history
diff --git
a/Robust/src/Analysis/SSJava/FlowDownCheck.java
b/Robust/src/Analysis/SSJava/FlowDownCheck.java
index a78bf475f8d70d8e203ca05a7c3c31f6fea42bbe..86766e40154db8e3b2f6f76676a651c7765044c2 100644
(file)
--- a/
Robust/src/Analysis/SSJava/FlowDownCheck.java
+++ b/
Robust/src/Analysis/SSJava/FlowDownCheck.java
@@
-607,10
+607,14
@@
public class FlowDownCheck {
} else {
// check 'for loop' case
BlockNode bn = ln.getInitializer();
} else {
// check 'for loop' case
BlockNode bn = ln.getInitializer();
- // need to check initialization node
- checkLocationFromBlockNode(md, bn.getVarTable(), bn, constraint);
bn.getVarTable().setParent(nametable);
bn.getVarTable().setParent(nametable);
-
+ // need to check initialization node
+// checkLocationFromBlockNode(md, bn.getVarTable(), bn, constraint);
+ for(int i=0; i<bn.size(); i++) {
+ BlockStatementNode bsn=bn.get(i);
+ checkLocationFromBlockStatementNode(md, bn.getVarTable(),bsn, constraint);
+ }
+
// calculate glb location of condition and update statements
CompositeLocation condLoc =
checkLocationFromExpressionNode(md, bn.getVarTable(), ln.getCondition(),
// calculate glb location of condition and update statements
CompositeLocation condLoc =
checkLocationFromExpressionNode(md, bn.getVarTable(), ln.getCondition(),
@@
-733,11
+737,12
@@
public class FlowDownCheck {
private void checkDeclarationInSubBlockNode(MethodDescriptor md, SymbolTable nametable,
SubBlockNode sbn) {
private void checkDeclarationInSubBlockNode(MethodDescriptor md, SymbolTable nametable,
SubBlockNode sbn) {
- checkDeclarationInBlockNode(md, nametable
.getParent()
, sbn.getBlockNode());
+ checkDeclarationInBlockNode(md, nametable, sbn.getBlockNode());
}
private CompositeLocation checkLocationFromBlockExpressionNode(MethodDescriptor md,
SymbolTable nametable, BlockExpressionNode ben, CompositeLocation constraint) {
}
private CompositeLocation checkLocationFromBlockExpressionNode(MethodDescriptor md,
SymbolTable nametable, BlockExpressionNode ben, CompositeLocation constraint) {
+
CompositeLocation compLoc =
checkLocationFromExpressionNode(md, nametable, ben.getExpression(), null, constraint, false);
// addTypeLocation(ben.getExpression().getType(), compLoc);
CompositeLocation compLoc =
checkLocationFromExpressionNode(md, nametable, ben.getExpression(), null, constraint, false);
// addTypeLocation(ben.getExpression().getType(), compLoc);