aboutsummaryrefslogtreecommitdiff
path: root/src/monkey
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-10-27 13:19:52 +0000
committerChristian Grothoff <christian@grothoff.org>2010-10-27 13:19:52 +0000
commit6ba9ee7b1d1c3e1ba90ad4e936672c6a3b1b99da (patch)
tree3b660cf1d988002ea3978ee78f67793ffffcb492 /src/monkey
parent8a52fcaa55bc547321ef779c6e9bb1672dd83585 (diff)
downloadgnunet-6ba9ee7b1d1c3e1ba90ad4e936672c6a3b1b99da.tar.gz
gnunet-6ba9ee7b1d1c3e1ba90ad4e936672c6a3b1b99da.zip
fixes
Diffstat (limited to 'src/monkey')
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java2
-rw-r--r--src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java32
2 files changed, 33 insertions, 1 deletions
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java
index 5732e333f..95e3f3c10 100644
--- a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java
+++ b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionDatabaseHandler.java
@@ -56,6 +56,8 @@ public class ExpressionDatabaseHandler {
56 if (expressionSyntax.startsWith("\"")) 56 if (expressionSyntax.startsWith("\""))
57 return; 57 return;
58 System.out.println (fileName + ":[" + startLineNo + "-" + endLineNo + "]: " + expressionSyntax); 58 System.out.println (fileName + ":[" + startLineNo + "-" + endLineNo + "]: " + expressionSyntax);
59 if (true)
60 return;
59 if (db == null) { 61 if (db == null) {
60 System.out.println("Error:Database handle is not initialized. Program will exit now!"); 62 System.out.println("Error:Database handle is not initialized. Program will exit now!");
61 System.exit(1); 63 System.exit(1);
diff --git a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java
index 92eb5a158..7feab1e10 100644
--- a/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java
+++ b/src/monkey/seaspider/org/gnunet/seaspider/ExpressionExtractorVisitor.java
@@ -19,6 +19,9 @@ import org.gnunet.seaspider.parser.nodes.FunctionDeclaration;
19import org.gnunet.seaspider.parser.nodes.IfStatement; 19import org.gnunet.seaspider.parser.nodes.IfStatement;
20import org.gnunet.seaspider.parser.nodes.InclusiveORExpression; 20import org.gnunet.seaspider.parser.nodes.InclusiveORExpression;
21import org.gnunet.seaspider.parser.nodes.InitDeclarator; 21import org.gnunet.seaspider.parser.nodes.InitDeclarator;
22import org.gnunet.seaspider.parser.nodes.InitDeclaratorList;
23import org.gnunet.seaspider.parser.nodes.Initializer;
24import org.gnunet.seaspider.parser.nodes.InitializerList;
22import org.gnunet.seaspider.parser.nodes.JumpStatement; 25import org.gnunet.seaspider.parser.nodes.JumpStatement;
23import org.gnunet.seaspider.parser.nodes.LogicalANDExpression; 26import org.gnunet.seaspider.parser.nodes.LogicalANDExpression;
24import org.gnunet.seaspider.parser.nodes.LogicalORExpression; 27import org.gnunet.seaspider.parser.nodes.LogicalORExpression;
@@ -37,6 +40,7 @@ import org.gnunet.seaspider.parser.nodes.TranslationUnit;
37import org.gnunet.seaspider.parser.nodes.TypeDeclaration; 40import org.gnunet.seaspider.parser.nodes.TypeDeclaration;
38import org.gnunet.seaspider.parser.nodes.UnaryExpression; 41import org.gnunet.seaspider.parser.nodes.UnaryExpression;
39import org.gnunet.seaspider.parser.nodes.UnaryOperator; 42import org.gnunet.seaspider.parser.nodes.UnaryOperator;
43import org.gnunet.seaspider.parser.nodes.VariableDeclaration;
40import org.gnunet.seaspider.parser.nodes.WhileStatement; 44import org.gnunet.seaspider.parser.nodes.WhileStatement;
41import org.gnunet.seaspider.parser.visitors.DepthFirstVisitor; 45import org.gnunet.seaspider.parser.visitors.DepthFirstVisitor;
42import org.grothoff.LineNumberInfo; 46import org.grothoff.LineNumberInfo;
@@ -99,6 +103,29 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
99 // do nothing -- skip! 103 // do nothing -- skip!
100 } 104 }
101 105
106 public void visit(InitDeclaratorList n) {
107 assert skip_mode == true;
108 super.visit (n);
109 assert skip_mode == true;
110 }
111
112 public void visit(Initializer n) {
113 assert skip_mode == true;
114 super.visit (n);
115 assert skip_mode == true;
116 }
117
118 public void visit(InitializerList n) {
119 assert skip_mode == true;
120 super.visit (n);
121 assert skip_mode == true;
122 }
123
124 public void visit(VariableDeclaration n) {
125 assert skip_mode == true;
126 super.visit (n);
127 }
128
102 public void visit(FunctionDeclaration n) { 129 public void visit(FunctionDeclaration n) {
103 if (n.f5.which == 0) 130 if (n.f5.which == 0)
104 return; // no body 131 return; // no body
@@ -146,6 +173,8 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
146 } 173 }
147 174
148 public void visit(CompoundStatement n) { 175 public void visit(CompoundStatement n) {
176 assert current_expression == null;
177 assert skip_mode == true;
149 int old_end = scope_end_line; 178 int old_end = scope_end_line;
150 scope_end_line = n.f2.endLine; 179 scope_end_line = n.f2.endLine;
151 n.f1.accept(this); 180 n.f1.accept(this);
@@ -252,8 +281,8 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
252 } 281 }
253 282
254 public void visit(AssignmentExpression n) { 283 public void visit(AssignmentExpression n) {
284 boolean old_mode = skip_mode;
255 skip_mode = false; 285 skip_mode = false;
256 assert current_expression == null;
257 ExpressionBuilder old = current_expression; 286 ExpressionBuilder old = current_expression;
258 current_expression = new ExpressionBuilder(); 287 current_expression = new ExpressionBuilder();
259 n.f0.accept(this); 288 n.f0.accept(this);
@@ -263,6 +292,7 @@ public class ExpressionExtractorVisitor extends DepthFirstVisitor {
263 old.commit(lin.lineEnd); 292 old.commit(lin.lineEnd);
264 } 293 }
265 current_expression = old; 294 current_expression = old;
295 skip_mode = old_mode;
266 } 296 }
267 297
268 public void visit(AssignmentOperator n) { 298 public void visit(AssignmentOperator n) {