[jboss-svn-commits] JBL Code SVN: r27940 - in labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman: rule/grammar and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Jul 13 04:35:52 EDT 2009


Author: adinn
Date: 2009-07-13 04:35:51 -0400 (Mon, 13 Jul 2009)
New Revision: 27940

Modified:
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ExpressionHelper.java
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/grammar/ParseNode.java
   labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/test/TestScript.java
Log:
various small changes to improve qaulity of error reporting - fixes for BYTEMAN-3

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ExpressionHelper.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ExpressionHelper.java	2009-07-13 08:09:09 UTC (rev 27939)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ExpressionHelper.java	2009-07-13 08:35:51 UTC (rev 27940)
@@ -83,7 +83,7 @@
                     // we should only get these as identifiers for binding types or throw types which are
                     // explicitly caught by the bindings or throw processing case handlers so this is an error
 
-                    throw new TypeException("ExpressionHelper.createExpression : unexpected occurence of IDENTIFIER in parse tree "  + exprTree.getText() + exprTree.getPos());
+                    throw new TypeException("ExpressionHelper.createExpression : unexpected IDENTIFIER " + exprTree.getText() + " in "  + exprTree.getPos());
                 }
             }
             break;
@@ -118,7 +118,7 @@
                 int tag0 = child0.getTag();
                 if (tag0 != IDENTIFIER) {
                     // uurgh we expected a method name
-                    throw new TypeException("ExpressionHelper.createExpression : invalid unexpected type tag for method selector " + tag + " for expression " + child0.getText() + child0.getPos());
+                    throw new TypeException("ExpressionHelper.createExpression : invalid method selector " + tag + " in expression " + child0.getText() + child0.getPos());
                 }
 
                 expr = createCallExpression(rule, bindings, child0, child1, child2, type);
@@ -131,7 +131,7 @@
                 int tag0 = child0.getTag();
 
                 if (tag0 != IDENTIFIER) {
-                    throw new TypeException("ExpressionHelper.createExpression : unexpected type tag in throw expression tree " + tag + " for expression " + child0.getText() + child0.getPos());
+                    throw new TypeException("ExpressionHelper.createExpression : invalid throw type " + tag + " in expression " + child0.getText() + child0.getPos());
                 } else {
                     expr = createThrowExpression(rule, bindings, child0, child1);
                 }
@@ -198,7 +198,7 @@
             break;
             default:
             {
-                throw new TypeException("ExpressionHelper.createExpression : unexpected type tag in expression tree " + tag + " for expression " + exprTree.getPos());
+                throw new TypeException("ExpressionHelper.createExpression : unexpected token type " + tag + " for expression " + exprTree.getPos());
             }
         }
 
@@ -364,13 +364,13 @@
                     Integer intObject = (Integer) child1.getChild(0);
                     expr = new DollarExpression(rule, type, exprTree, intObject.intValue());
                 } else {
-                    throw new TypeException("ExpressionHelper.createUnaryExpression : unexpected type tag " + child1.getTag() + " for dollar expression tree " + child1.getText() + "" + child1.getPos());
+                    throw new TypeException("ExpressionHelper.createUnaryExpression : unexpected token type " + child1.getTag() + " for dollar expression tree " + child1.getText() + "" + child1.getPos());
                 }
             }
             break;
             default:
             {
-                throw new TypeException("ExpressionHelper.createUnaryExpression : unexpected type tag " + exprTree.getTag() + " for expression tree " + exprTree.getText() + "" + exprTree.getPos());
+                throw new TypeException("ExpressionHelper.createUnaryExpression : unexpected token type " + exprTree.getTag() + " for expression tree " + exprTree.getText() + "" + exprTree.getPos());
             }
         }
 
@@ -475,7 +475,7 @@
             break;
             default:
             {
-                throw new TypeException("ExpressionHelper.createBinaryExpression : unexpected type tag in expression tree " + exprTree.getTag() + " for expression " + exprTree.getText() + "" + exprTree.getPos());
+                throw new TypeException("ExpressionHelper.createBinaryExpression : unexpected token type " + exprTree.getTag() + " for expression " + exprTree.getText() + "" + exprTree.getPos());
             }
         }
 
@@ -515,7 +515,7 @@
                         expr = new ConditionalEvalExpression(rule, type1,  exprTree, operand0,  operand1, operand2);
                     } else {
                         // mismatched types so don't generate a result
-                        throw new TypeException("ExpressionHelper.createTernaryExpression : mismatched types " + type1.getName() + " and " + type2.getName()  + " in conditional expression " + exprTree.getText() + exprTree.getPos());
+                        throw new TypeException("ExpressionHelper.createTernaryExpression : mismatched expression types " + type1.getName() + " and " + type2.getName()  + " in conditional expression " + exprTree.getText() + exprTree.getPos());
                     }
                 } else {
                     // have to wait for type check to resolve types
@@ -525,7 +525,7 @@
             break;
             default:
             {
-                throw new TypeException("ExpressionHelper.createTernaryExpression : unexpected type tag in expression tree " + exprTree.getTag() + " for expression " + exprTree.getText() + "" + exprTree.getPos());
+                throw new TypeException("ExpressionHelper.createTernaryExpression : unexpected token type " + exprTree.getTag() + " for expression " + exprTree.getText() + "" + exprTree.getPos());
             }
         }
 

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/grammar/ParseNode.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/grammar/ParseNode.java	2009-07-13 08:09:09 UTC (rev 27939)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/grammar/ParseNode.java	2009-07-13 08:35:51 UTC (rev 27940)
@@ -157,7 +157,7 @@
      * @return a string representing the position for this node
      */
     public String getPos() {
-        return " " + file + " @ " + line + "." + column;
+        return " " + file + " line " + line;
     }
 
     /**

Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/test/TestScript.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/test/TestScript.java	2009-07-13 08:09:09 UTC (rev 27939)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/test/TestScript.java	2009-07-13 08:35:51 UTC (rev 27940)
@@ -119,11 +119,13 @@
         int parseErrorCount = 0;
         int typeErrorCount = 0;
         int compileErrorCount = 0;
+        int baseline = 0;
 
         for (String script : ruleScripts) {
             String ruleName = "";
+            String[] lines = script.split("\n");
+            int len = lines.length;
             try {
-                String[] lines = script.split("\n");
                 String targetClassName;
                 String targetMethodName;
                 String targetHelperName = null;
@@ -132,7 +134,6 @@
                 String text = "";
                 String sepr = "";
                 int idx = 0;
-                int len = lines.length;
                 int lineNumber = 0;
 
                 while (lines[idx].trim().equals("") || lines[idx].trim().startsWith("#")) {
@@ -219,7 +220,7 @@
                         System.out.println("org.jboss.byteman.agent.Transformer : unknown helper class " + targetHelperName + " for rule " + ruleName);
                     }
                 }
-                Rule rule = Rule.create(ruleName, targetClassName, targetMethodName, targetHelperClass, targetLocation, text, lineNumber, file, loader);
+                Rule rule = Rule.create(ruleName, targetClassName, targetMethodName, targetHelperClass, targetLocation, text, baseline + lineNumber, file, loader);
                 System.err.println("TestScript: parsed rule " + rule.getName());
                 System.err.println(rule);
                 
@@ -262,10 +263,12 @@
                                     if (paramErrorCount == 0) {
                                         rule.typeCheck();
                                         System.err.println("TestScript: type checked rule " + ruleName);
+                                        System.err.println();
                                     } else {
                                         errorCount += paramErrorCount;
                                         typeErrorCount += paramErrorCount;
                                         System.err.println("TestScript: failed to type check rule " + ruleName);
+                                        System.err.println();
                                     }
                                 }
                             }
@@ -301,10 +304,12 @@
                                     if (paramErrorCount == 0) {
                                         rule.typeCheck();
                                         System.err.println("TestScript: type checked rule " + ruleName);
+                                        System.err.println();
                                     } else {
                                         errorCount += paramErrorCount;
                                         typeErrorCount += paramErrorCount;
                                         System.err.println("TestScript: failed to type check rule " + ruleName);
+                                        System.err.println();
                                     }
                                 }
                             }
@@ -313,30 +318,38 @@
                 } catch(ClassNotFoundException cfe) {
                     errorCount++;
                     System.err.println("TestScript: unable to load class " + targetClassName);
+                    System.err.println();
                 }
                 if (!found) {
                     errorCount++;
                     System.err.println("TestScript: no matching method for rule " + ruleName);
+                    System.err.println();
                 } else if (multiple) {
                     errorCount++;
                     System.err.println("TestScript: multiple matching methods for rule " + ruleName);
+                    System.err.println();
                 }
             } catch (ParseException e) {
                 errorCount++;
                 parseErrorCount++;
                 System.err.println("TestScript: parse exception for rule " + ruleName + " : " + e);
                 e.printStackTrace(System.err);
+                System.err.println();
             } catch (TypeException e) {
                 typeErrorCount++;
                 errorCount++;
                 System.err.println("TestScript: type exception for rule " + ruleName + " : " + e);
                 e.printStackTrace(System.err);
+                System.err.println();
             } catch (CompileException e) {
                 compileErrorCount++;
                 errorCount++;
                 System.err.println("TestScript: createHelperAdapter exception for rule " + " : " + ruleName + e);
                 e.printStackTrace(System.err);
+                System.err.println();
             }
+
+            baseline += len;
         }
         if (errorCount != 0) {
             System.err.println("TestScript: " + errorCount + " total errors");




More information about the jboss-svn-commits mailing list