fixes
authorChristian Grothoff <christian@grothoff.org>
Fri, 12 Nov 2010 11:20:12 +0000 (11:20 +0000)
committerChristian Grothoff <christian@grothoff.org>
Fri, 12 Nov 2010 11:20:12 +0000 (11:20 +0000)
src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java
src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java
src/monkey/seaspider/org/gnunet/seaspider/SeaspiderTest.c

index 5b269259b2ccabe7891d6012300cec81a26e6d1b..4cd938a7174d03c22ad398d4aba2da1594caaf82 100644 (file)
@@ -9,7 +9,7 @@ import org.tmatesoft.sqljet.core.table.SqlJetDb;
 
 public class ExpressionDatabaseHandler {
 
-       private static final boolean DEBUG = false;
+       private static final boolean DEBUG = true;
                
        private static SqlJetDb db;
 
index ea3294e2e7b5e1787d236cb335afcc44acd0962f..bec9101bb9aacb70613743396af0329478f631c5 100644 (file)
@@ -106,25 +106,40 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
 
        public void visit(InitDeclaratorList n) {
                assert skip_mode == true;
-               super.visit (n);                
+               super.visit(n);
                assert skip_mode == true;
        }
-       
+
        public void visit(Initializer n) {
                assert skip_mode == true;
-               super.visit (n);                
+               if (n.f0.which == 0) {
+                       boolean old_mode = skip_mode;
+                       skip_mode = false;
+                       ExpressionBuilder old = current_expression;
+                       current_expression = new ExpressionBuilder();
+                       n.f0.accept(this);
+                       if (old != null) {
+                               old.push(current_expression.expression);
+                               LineNumberInfo lin = LineNumberInfo.get(n);
+                               old.commit(lin.lineEnd);
+                       }
+                       current_expression = old;
+                       skip_mode = old_mode;
+               } else {
+                       super.visit(n);
+               }
                assert skip_mode == true;
        }
 
        public void visit(InitializerList n) {
                assert skip_mode == true;
-               super.visit (n);                
+               super.visit(n);
                assert skip_mode == true;
        }
-       
+
        public void visit(VariableDeclaration n) {
                assert skip_mode == true;
-               super.visit (n);
+               super.visit(n);
        }
 
        public void visit(FunctionDeclaration n) {
@@ -142,8 +157,7 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
        public void visit(ParameterDeclaration n) {
                skip_mode = false;
                assert current_expression == null;
-               if (n.f1.present())
-               {
+               if (n.f1.present()) {
                        NodeSequence ns = (NodeSequence) n.f1.node;
                        Node var = ns.elementAt(0);
                        current_expression = new ExpressionBuilder();
@@ -286,21 +300,6 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                current_expression = old;
        }
 
-       public void visit(AssignmentExpression n) {
-               boolean old_mode = skip_mode;
-               skip_mode = false;
-               ExpressionBuilder old = current_expression;
-               current_expression = new ExpressionBuilder();
-               n.f0.accept(this);
-               if (old != null) {
-                       old.push(current_expression.expression);
-                       LineNumberInfo lin = LineNumberInfo.get(n);
-                       old.commit(lin.lineEnd);
-               }
-               current_expression = old;
-               skip_mode = old_mode;
-       }
-
        public void visit(AssignmentOperator n) {
                operator = true;
                super.visit(n);
@@ -313,16 +312,18 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                n.f0.accept(this);
                old.push(current_expression.expression);
                if (n.f1.present()) {
+                       LineNumberInfo lin = LineNumberInfo.get(n);
                        NodeSequence ns = (NodeSequence) n.f1.node;
                        current_expression = new ExpressionBuilder();
                        ns.elementAt(1).accept(this);
+                       current_expression.commit(lin.lineEnd);
                        old.push("?");
                        old.push(current_expression.expression);
                        current_expression = new ExpressionBuilder();
                        ns.elementAt(3).accept(this);
+                       current_expression.commit(lin.lineEnd);
                        old.push(":");
                        old.push(current_expression.expression);
-                       LineNumberInfo lin = LineNumberInfo.get(n);
                        old.commit(lin.lineEnd);
                }
                current_expression = old;
@@ -338,11 +339,16 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                current_expression = new ExpressionBuilder();
                n.f0.accept(this);
                if (n.f1.present()) {
+                       LineNumberInfo lin = LineNumberInfo.get(n);
+                       current_expression.commit(lin.lineEnd);
                        operator = true;
                        NodeSequence ns = (NodeSequence) n.f1.node;
                        ns.nodes.get(0).accept(this);
                        operator = false;
+                       old.push(current_expression.expression);                        
+                       current_expression = new ExpressionBuilder();                   
                        ns.nodes.get(1).accept(this);
+                       current_expression.commit(lin.lineEnd);
                }
                old.push(current_expression.expression);
                current_expression = old;
@@ -354,11 +360,16 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                current_expression = new ExpressionBuilder();
                n.f0.accept(this);
                if (n.f1.present()) {
+                       LineNumberInfo lin = LineNumberInfo.get(n);
+                       current_expression.commit(lin.lineEnd);
                        operator = true;
                        NodeSequence ns = (NodeSequence) n.f1.node;
                        ns.nodes.get(0).accept(this);
                        operator = false;
+                       old.push(current_expression.expression);                        
+                       current_expression = new ExpressionBuilder();                   
                        ns.nodes.get(1).accept(this);
+                       current_expression.commit(lin.lineEnd);
                }
                old.push(current_expression.expression);
                current_expression = old;
@@ -421,7 +432,7 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                n.f0.accept(this);
                if (n.f1.present()) {
                        LineNumberInfo lin = LineNumberInfo.get(n);
-                       current_expression.commit(lin.lineEnd);                 
+                       current_expression.commit(lin.lineEnd);
                        operator = true;
                        NodeSequence ns = (NodeSequence) n.f1.node;
                        ns.nodes.get(0).accept(this);
@@ -429,7 +440,7 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
                        old.push(current_expression.expression);
                        current_expression = new ExpressionBuilder();
                        ns.nodes.get(1).accept(this);
-                       current_expression.commit(lin.lineEnd);                 
+                       current_expression.commit(lin.lineEnd);
                }
                old.push(current_expression.expression);
                current_expression = old;
index d77a16a9898452a45b083cba3d5f63785f4b3ce8..09e6e471088e98de3d4e927a51c44df53f0b5a0c 100644 (file)
@@ -55,7 +55,7 @@ int main(int args, const char * argv[])
        /* for loop */
        for (i = 0; i < 2; i++) {
                /* conditional expressions */
-               if ( x > 0) {
+              if ( x > 0) { 
                        while (y < 5) {
                                y++;
                        }