This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] frysk system monitor/debugger branch, master, updated. 718026a59c0ed8ed3a4e7eb97090244332b8c210


The branch, master has been updated
       via  718026a59c0ed8ed3a4e7eb97090244332b8c210 (commit)
      from  925c031c35d3340a51b3ae57bae38b1818a5e278 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 718026a59c0ed8ed3a4e7eb97090244332b8c210
Author: Teresa Thomas <tthomas@redhat.com>
Date:   Wed Nov 7 14:07:52 2007 -0500

    Implement *, /, *=, /= in Arithmetic Unit.
    
    frysk-core/frysk/value/ChangeLog
    2007-11-07  Teresa Thomas  <tthomas@redhat.com>
    
    	* FloatingPointUnit.java (multiply): New.
    	(divide): New.
    	(mod): New.
    	* IntegerUnit.java (multiply): New.
    	(divide): New.
    	(mod): New.
    	* ArithmeticUnit.java (divide): New.
    	(multiply): New.
    	(timesEqual): New.
    	(divideEqual): New.
    	(mod): New.
    	(modEqual): New..
    	* ArithmeticType.java (multiply): Delete.
    	(timesEqual): Delete.
    	(divide): Delete.
    	(divideEqual): Delete.
    	(mod): Delete
    	(modEqual): Delete.
    	* TypeDecorator.java (multiply): Delete.
    	(timesEqual): Delete.
    	(divide): Delete.
    	(divideEqual): Delete.
    	(mod): Delete.
    	(modEqual): Delete.
    	* Type.java (multiply): Delete.
    	(timesEqual): Delete.
    	(divide): Delete.
    	(divideEqual): Delete.
    	(mod): Delete.
    	(modEqual): Delete.
    	* TestValue.java: Updated.
    
    frysk-core/frysk/expr/ChangeLog
    2007-11-06  Teresa Thomas  <tthomas@redhat.com>
    
    	* CExprEvaluator.g (STAR): Use Arithmetic Unit.
    	(TIMESEQUAL): Ditto.
    	(DIVIDE): Ditto.
    	(DIVIDEEQUAL): Ditto.
    	(MOD): Ditto.
    	(MODEQUAL): Ditto.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/expr/CExprEvaluator.g        |   62 +++++++++++++++----------
 frysk-core/frysk/expr/ChangeLog               |    9 ++++
 frysk-core/frysk/value/AddressUnit.java       |    4 +-
 frysk-core/frysk/value/ArithmeticType.java    |   42 -----------------
 frysk-core/frysk/value/ArithmeticUnit.java    |   40 +++++++++++++++-
 frysk-core/frysk/value/ChangeLog              |   34 +++++++++++++
 frysk-core/frysk/value/FloatingPointUnit.java |   18 +++++++-
 frysk-core/frysk/value/IntegerUnit.java       |   18 +++++++-
 frysk-core/frysk/value/TestValue.java         |   30 ++++++------
 frysk-core/frysk/value/Type.java              |   20 +--------
 frysk-core/frysk/value/TypeDecorator.java     |   19 +-------
 11 files changed, 173 insertions(+), 123 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/expr/CExprEvaluator.g b/frysk-core/frysk/expr/CExprEvaluator.g
index d5bf068..087ca64 100644
--- a/frysk-core/frysk/expr/CExprEvaluator.g
+++ b/frysk-core/frysk/expr/CExprEvaluator.g
@@ -137,38 +137,64 @@ identifier returns [String idSpelling=null]
 expr returns [Value returnVar=null] 
 { Value v1, v2, log_expr; String s1; }
     :   #(PLUS  v1=expr v2=expr)  {	
-            returnVar = v1.getType().getALU(v2.getType(), exprSymTab.getWordSize())
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
                         .add(v1, v2);  
         }
     |   #(PLUSEQUAL v1=expr v2=expr)  {
-            returnVar = v1.getType().getALU(v2.getType(), exprSymTab.getWordSize())
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
                         .plusEqual(v1, v2);
         }        
     |   ( #(MINUS expr expr) )=> #(MINUS v1=expr v2=expr) {
-            returnVar = v1.getType().getALU(v2.getType(), exprSymTab.getWordSize())
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
                         .subtract(v1, v2);  
         }
     |   #(MINUSEQUAL v1=expr v2=expr)  {
-            returnVar = v1.getType().getALU(v2.getType(), exprSymTab.getWordSize())
+            returnVar = v1.getType().getALU(v2.getType(),
+                        exprSymTab.getWordSize())
                         .minusEqual(v1, v2);
         }        
     |   #(MINUS v1=expr ) {
             returnVar = intType.createValue(0);
-            returnVar = returnVar.getType().getALU(v1.getType(), exprSymTab.getWordSize())
+            returnVar = returnVar.getType().getALU(v1.getType(), 
+                        exprSymTab.getWordSize())
                         .subtract(returnVar, v1); 
         }
     |   ( #(STAR expr expr) )=> #(STAR  v1=expr v2=expr) {
-            returnVar = v1.getType().multiply(v1, v2); 
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .multiply(v1, v2); 
         }
+    |   #(TIMESEQUAL v1=expr v2=expr)  {
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .timesEqual(v1, v2);
+        }    
+    |   #(DIVIDE  v1=expr v2=expr) {
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .divide(v1, v2); 
+        } 
+    |   #(DIVIDEEQUAL v1=expr v2=expr)  {
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .divideEqual(v1, v2);
+        } 
+    |   #(MOD  v1=expr v2=expr) {
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .mod(v1, v2);  
+        }   
+    |   #(MODEQUAL v1=expr v2=expr)  {
+            returnVar = v1.getType().getALU(v2.getType(), 
+                        exprSymTab.getWordSize())
+                        .modEqual(v1, v2);
+        }                               
     |   #(MEMORY v1=expr ) {
             returnVar = v1.getType().dereference(v1, exprSymTab.taskMemory());
         } 
-    |   #(DIVIDE  v1=expr v2=expr) {
-            returnVar = v1.getType().divide(v1, v2); 
-        }
-    |   #(MOD  v1=expr v2=expr) {
-            returnVar = v1.getType().mod(v1, v2);  
-        }
     |   #(SHIFTLEFT  v1=expr v2=expr) {
             returnVar = v1.getType().shiftLeft(v1, v2);  
         }
@@ -264,18 +290,6 @@ expr returns [Value returnVar=null]
             v1.assign(v2);
             returnVar = v1;
         }
-    |   #(TIMESEQUAL v1=expr v2=expr)  {
-            v1.getType().timesEqual(v1, v2);
-            returnVar = v1;
-        }
-    |   #(DIVIDEEQUAL v1=expr v2=expr)  {
-            v1.getType().divideEqual(v1, v2);
-            returnVar = v1;
-        }
-    |   #(MODEQUAL v1=expr v2=expr)  {
-            v1.getType().modEqual(v1, v2);
-            returnVar = v1;
-        }
     |   #(SHIFTLEFTEQUAL v1=expr v2=expr)  {
             v1.getType().shiftLeftEqual(v1, v2);
             returnVar = v1;
diff --git a/frysk-core/frysk/expr/ChangeLog b/frysk-core/frysk/expr/ChangeLog
index 1f93590..a316bff 100644
--- a/frysk-core/frysk/expr/ChangeLog
+++ b/frysk-core/frysk/expr/ChangeLog
@@ -1,5 +1,14 @@
 2007-11-06  Teresa Thomas  <tthomas@redhat.com>
 	
+	* CExprEvaluator.g (STAR): Use Arithmetic Unit.
+	(TIMESEQUAL): Ditto.
+	(DIVIDE): Ditto.
+	(DIVIDEEQUAL): Ditto.
+	(MOD): Ditto.
+	(MODEQUAL): Ditto.
+	
+2007-11-06  Teresa Thomas  <tthomas@redhat.com>
+	
 	* CExprEvaluator.g (MINUS): Use Arithmetic Unit.
 	(MINUSEQUAL): Ditto.
 	
diff --git a/frysk-core/frysk/value/AddressUnit.java b/frysk-core/frysk/value/AddressUnit.java
index cf2b316..ea9e285 100644
--- a/frysk-core/frysk/value/AddressUnit.java
+++ b/frysk-core/frysk/value/AddressUnit.java
@@ -41,7 +41,7 @@ package frysk.value;
 
 import inua.eio.ByteOrder;
 /**
- * Arithmetic Operation handling for pointers and addresses.
+ * Operation handling for pointers and addresses.
  */
 public class AddressUnit
 extends ArithmeticUnit
@@ -64,6 +64,8 @@ extends ArithmeticUnit
             v2.getType() instanceof ArrayType )
 	    return addArray(v1, v2);
 	
+	// Commutative operation, so identify pointer 
+	// and integer value.
         PointerType ptrType;
         Value ptrValue;
         Value intValue;
diff --git a/frysk-core/frysk/value/ArithmeticType.java b/frysk-core/frysk/value/ArithmeticType.java
index 8a2ee4d..96f8a79 100644
--- a/frysk-core/frysk/value/ArithmeticType.java
+++ b/frysk-core/frysk/value/ArithmeticType.java
@@ -119,36 +119,6 @@ public abstract class ArithmeticType
 	}
     }
 
-    public Value multiply(Value var1, Value var2) {
-	ArithmeticType type = returnType(var1, var2);
-	if (type instanceof IntegerType)
-	    return type.createValue(var1.asLong() * var2.asLong());
-	else if (type instanceof FloatingPointType)
-	    return type.createValue(var1.doubleValue() * var2.doubleValue());
-	else
-	    throw new RuntimeException("type conversion botch");
-    }
-
-    public Value divide(Value var1, Value var2) {
-	ArithmeticType type = returnType(var1, var2);
-	if (type instanceof IntegerType)
-	    return type.createValue(var1.asLong() / var2.asLong());
-	else if (type instanceof FloatingPointType)
-	    return type.createValue(var1.doubleValue() / var2.doubleValue());
-	else
-	    throw new RuntimeException("type conversion botch");
-    }
-
-    public Value mod(Value var1, Value var2) {
-	ArithmeticType type = returnType(var1, var2);
-	if (type instanceof IntegerType)
-	    return type.createValue(var1.asLong() % var2.asLong());
-	else if (type instanceof FloatingPointType)
-	    return type.createValue(var1.doubleValue() % var2.doubleValue());
-	else
-	    throw new RuntimeException("type conversion botch");
-    }
-
     public Value shiftLeft(Value var1, Value var2) {
 	ArithmeticType type = returnType(var1, var2);
 	if (type instanceof IntegerType)
@@ -287,18 +257,6 @@ public abstract class ArithmeticType
 	return var1.assign(var2);
     }
 
-    public Value timesEqual(Value var1, Value var2) {
-	return var1.assign(multiply(var1, var2));
-    }
-
-    public Value divideEqual(Value var1, Value var2) {
-	return var1.assign(divide(var1, var2));
-    }
-
-    public Value modEqual(Value var1, Value var2) {
-	return var1.assign(mod(var1, var2));
-    }
-
     public Value shiftLeftEqual(Value var1, Value var2) {
 	return var1.assign(shiftLeft(var1, var2));
     } 
diff --git a/frysk-core/frysk/value/ArithmeticUnit.java b/frysk-core/frysk/value/ArithmeticUnit.java
index c8aae93..736f89a 100644
--- a/frysk-core/frysk/value/ArithmeticUnit.java
+++ b/frysk-core/frysk/value/ArithmeticUnit.java
@@ -40,15 +40,37 @@
 package frysk.value;
 
 /**
- * Arithmetic Operation handling for different types.
+ * Arithmetic and Logical Operation handling
+ * for different types.
  */
 public abstract class ArithmeticUnit 
 {
     protected ArithmeticType retType;
     
-    public abstract Value add(Value v1, Value v2);
+    public Value add(Value v1, Value v2) {
+	throw new InvalidOperatorException
+	          (v1.getType(), v2.getType(), "+");
+    }
+    
+    public Value subtract(Value v1, Value v2) {
+	throw new InvalidOperatorException
+	          (v1.getType(), v2.getType(), "-");
+    }
+    
+    public Value multiply (Value v1, Value v2) {
+        throw new InvalidOperatorException
+                  (v1.getType(), v2.getType(), "*");
+    }
+    
+    public Value divide(Value v1, Value v2) {
+	throw new InvalidOperatorException
+	          (v1.getType(), v2.getType(), "/");
+    }
     
-    public abstract Value subtract(Value v1, Value v2);
+    public Value mod(Value v1, Value v2) {
+	throw new InvalidOperatorException
+	          (v1.getType(), v2.getType(), "%");
+    }    
     
     public Value plusEqual(Value v1, Value v2) {
 	return v1.assign(add(v1, v2));
@@ -57,4 +79,16 @@ public abstract class ArithmeticUnit
     public Value minusEqual(Value v1, Value v2) {
 	return v1.assign(subtract(v1, v2));
     }
+    
+    public Value timesEqual(Value v1, Value v2) {
+	return v1.assign(multiply(v1, v2));
+    }
+    
+    public Value divideEqual (Value v1, Value v2) {
+	return v1.assign(divide(v1, v2));
+    }
+    
+    public Value modEqual(Value v1, Value v2) {
+	return v1.assign(mod(v1, v2));
+    }
 }
\ No newline at end of file
diff --git a/frysk-core/frysk/value/ChangeLog b/frysk-core/frysk/value/ChangeLog
index 8be698c..108511e 100644
--- a/frysk-core/frysk/value/ChangeLog
+++ b/frysk-core/frysk/value/ChangeLog
@@ -1,3 +1,37 @@
+2007-11-07  Teresa Thomas  <tthomas@redhat.com>
+
+	* FloatingPointUnit.java (multiply): New.
+	(divide): New.
+	(mod): New.		
+	* IntegerUnit.java (multiply): New.
+	(divide): New.
+	(mod): New.	
+	* ArithmeticUnit.java (divide): New.
+	(multiply): New.
+	(timesEqual): New.
+	(divideEqual): New.	
+	(mod): New.	
+	(modEqual): New..		
+	* ArithmeticType.java (multiply): Delete.
+	(timesEqual): Delete.
+	(divide): Delete.
+	(divideEqual): Delete.
+	(mod): Delete
+	(modEqual): Delete.
+	* TypeDecorator.java (multiply): Delete.
+	(timesEqual): Delete.
+	(divide): Delete.
+	(divideEqual): Delete.
+	(mod): Delete.
+	(modEqual): Delete.	
+	* Type.java (multiply): Delete.
+	(timesEqual): Delete.
+	(divide): Delete.	
+	(divideEqual): Delete.	
+	(mod): Delete.	
+	(modEqual): Delete.	
+	* TestValue.java: Updated.
+
 2007-11-06  Teresa Thomas  <tthomas@redhat.com>
 
 	* InvalidOperatorException.java 
diff --git a/frysk-core/frysk/value/FloatingPointUnit.java b/frysk-core/frysk/value/FloatingPointUnit.java
index f10a103..96cbd83 100644
--- a/frysk-core/frysk/value/FloatingPointUnit.java
+++ b/frysk-core/frysk/value/FloatingPointUnit.java
@@ -40,7 +40,8 @@
 package frysk.value;
 
 /**
- * Arithmetic Operation handling for floating points.
+ * Arithmetic and logical operation handling
+ * for floating points.
  */
 public class FloatingPointUnit
      extends ArithmeticUnit
@@ -63,4 +64,19 @@ public class FloatingPointUnit
 	return retType.createValue
 	               (v1.doubleValue() - v2.doubleValue());
     }  
+    
+    public Value multiply (Value v1, Value v2) {
+	return retType.createValue
+	               (v1.doubleValue() * v2.doubleValue());
+    }
+
+    public Value divide (Value v1, Value v2) {
+	return retType.createValue
+	               (v1.doubleValue() / v2.doubleValue());
+    }	    
+    
+    public Value mod (Value v1, Value v2) {
+	return retType.createValue
+	               (v1.doubleValue() % v2.doubleValue());
+    }	      
 }    
\ No newline at end of file
diff --git a/frysk-core/frysk/value/IntegerUnit.java b/frysk-core/frysk/value/IntegerUnit.java
index 32defa8..aff19e2 100644
--- a/frysk-core/frysk/value/IntegerUnit.java
+++ b/frysk-core/frysk/value/IntegerUnit.java
@@ -40,7 +40,8 @@
 package frysk.value;
 
 /**
- * Arithmetic Operation handling for integers.
+ * Arithmetic and logical Operation handling 
+ * for integers.
  */
 public class IntegerUnit
      extends ArithmeticUnit
@@ -60,4 +61,19 @@ public class IntegerUnit
 	return retType.createValue
 	               (v1.asBigInteger().subtract(v2.asBigInteger()));
     }
+    
+    public Value multiply (Value v1, Value v2) {
+	return retType.createValue
+	               (v1.asBigInteger().multiply(v2.asBigInteger()));
+    }
+    
+    public Value divide (Value v1, Value v2) {
+	return retType.createValue
+	               (v1.asBigInteger().divide(v2.asBigInteger()));
+    }
+    
+    public Value mod(Value v1, Value v2) {
+	return retType.createValue
+                       (v1.asBigInteger().mod(v2.asBigInteger()));
+    }
 }
\ No newline at end of file
diff --git a/frysk-core/frysk/value/TestValue.java b/frysk-core/frysk/value/TestValue.java
index 7dbf48c..37c7967 100644
--- a/frysk-core/frysk/value/TestValue.java
+++ b/frysk-core/frysk/value/TestValue.java
@@ -102,13 +102,14 @@ public class TestValue
     {
 	Value v1 = intType.createValue(4);
 	Value v2 = shortType.createValue(9);
+	// Give bogus word size values.
 	Value v3 = v1.getType().getALU(v2.getType(), 0).add(v1, v2);
 	assertEquals ("4 + 9", 4 + 9, v3.asLong());	
 	v3 = v1.getType().getALU(v2.getType(), 0).subtract(v2, v1);
 	assertEquals ("9 - 4", 9 - 4, v3.asLong());
-	v3 = v1.getType().multiply(v2, v1);
+	v3 = v1.getType().getALU(v2.getType(), 0).multiply(v2, v1);
 	assertEquals ("9 * 4", 9 * 4, v3.asLong());
-	v3 = v1.getType().mod(v2, v1);
+	v3 = v1.getType().getALU(v2.getType(), 0).mod(v2, v1);
 	assertEquals ("9 % 4", 9 % 4, v3.asLong());
 	v3 = v1.getType().shiftLeft(v2, v1);
 	assertEquals ("9 << 4", 9 << 4, v3.asLong());
@@ -140,15 +141,15 @@ public class TestValue
 	assertEquals ("9 | 4", 1, v3.asLong());	
 	v3 = v3.assign(v1);	
 	assertEquals ("v3 = 4", 4, v3.asLong());
-	v3 = v1.getType().getALU(v2.getType(), 0).plusEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).plusEqual(v3, v1);
 	assertEquals ("v3 += 4", 8, v3.asLong());	
-	v3 = v1.getType().getALU(v2.getType(), 0).minusEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).minusEqual(v3, v1);
 	assertEquals ("v3 -= 4", 4, v3.asLong());
-	v3 = v1.getType().timesEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).timesEqual(v3, v1);
 	assertEquals ("v3 *= 4", 16, v3.asLong());
-	v3 = v1.getType().divideEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).divideEqual(v3, v1);
 	assertEquals ("v3 /= 4", 4, v3.asLong());
-	v3 = v1.getType().modEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).modEqual(v3, v1);
 	assertEquals ("v3 %= 4", 0, v3.asLong());
 	v3 = v1.getType().shiftLeftEqual(v3, v1);
 	assertEquals ("v3 <<= 4", 0, v3.asLong());
@@ -166,13 +167,14 @@ public class TestValue
     {
 	Value v1 = floatType.createValue((float)4.0);
 	Value v2 = doubleType.createValue(9.0);
+	// Give bogus word size values.
 	Value v3 = v1.getType().getALU(v2.getType(), 0).add(v1, v2);	
 	assertEquals ("4 + 9", 4 + 9, v3.doubleValue(), 0);
 	v3 = v1.getType().getALU(v2.getType(), 0).subtract(v2, v1);
 	assertEquals ("9 - 4", 9 - 4, v3.doubleValue(), 0);
-	v3 = v1.getType().multiply(v2, v1);
+	v3 = v1.getType().getALU(v2.getType(), 0).multiply(v2, v1);
 	assertEquals ("9 * 4", 9 * 4, v3.doubleValue(), 0);
-	v3 = v1.getType().mod(v2, v1);
+	v3 = v1.getType().getALU(v2.getType(), 0).mod(v2, v1);
 	assertEquals ("9 % 4", 9 % 4, v3.doubleValue(), 0);
 	v3 = v1.getType().lessThan(v2, v1);
 	assertEquals ("9 < 4", 9 < 4, isTrue(v3.doubleValue()));
@@ -188,15 +190,15 @@ public class TestValue
 	assertEquals ("9 != 4", v2 != v1, isTrue(v3.doubleValue()));
 	v3 = v3.assign(v1);
 	assertEquals ("v3 = 4", 4, v3.doubleValue(), 0);
-	v3 = v1.getType().getALU(v3.getType(), 0).plusEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).plusEqual(v3, v1);
 	assertEquals ("v3 += 4", 8, v3.doubleValue(), 0);	
-	v3 = v1.getType().getALU(v2.getType(), 0).minusEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).minusEqual(v3, v1);
 	assertEquals ("v3 -= 4", 4, v3.doubleValue(), 0);
-	v3 = v1.getType().timesEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).timesEqual(v3, v1);
 	assertEquals ("v3 *= 4", 16, v3.doubleValue(), 0);
-	v3 = v1.getType().divideEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).divideEqual(v3, v1);
 	assertEquals ("v3 /= 4", 4, v3.doubleValue(), 0);
-	v3 = v1.getType().modEqual(v3, v1);
+	v3 = v3.getType().getALU(v1.getType(), 0).modEqual(v3, v1);
 	assertEquals ("v3 %= 4", 0, v3.doubleValue(), 0);
     }
 }
diff --git a/frysk-core/frysk/value/Type.java b/frysk-core/frysk/value/Type.java
index cb204aa..c13cb2e 100644
--- a/frysk-core/frysk/value/Type.java
+++ b/frysk-core/frysk/value/Type.java
@@ -143,16 +143,7 @@ public abstract class Type {
     public ArithmeticUnit getALU(ArrayType type, int wordSize) {
 	throw new RuntimeException("Invalid Arithmetic Unit");
     }  
-    
-    public Value multiply (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "*");
-    }
-    public Value divide (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "/");
-    }
-    public Value mod (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "%");
-    }
+   
     public Value shiftLeft (Value var1, Value var2) {
         throw new InvalidOperatorException(this, "<<");
     }
@@ -198,15 +189,6 @@ public abstract class Type {
     public Value logicalNegation(Value var1) {
         throw new InvalidOperatorException(this, "!");
     } 
-    public Value timesEqual (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "*=");
-    }
-    public Value divideEqual (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "/=");
-    }
-    public Value modEqual (Value var1, Value var2) {
-        throw new InvalidOperatorException(this, "%=");
-    }
     public Value shiftLeftEqual (Value var1, Value var2) {
         throw new InvalidOperatorException(this, "<<=");
     }
diff --git a/frysk-core/frysk/value/TypeDecorator.java b/frysk-core/frysk/value/TypeDecorator.java
index 30e2fc7..98d0461 100644
--- a/frysk-core/frysk/value/TypeDecorator.java
+++ b/frysk-core/frysk/value/TypeDecorator.java
@@ -89,15 +89,7 @@ abstract class TypeDecorator extends Type {
 	      decorated.toPrint(writer);


hooks/post-receive
--
frysk system monitor/debugger


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]