public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: tthomas@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM] frysk system monitor/debugger branch, master, updated. 718026a59c0ed8ed3a4e7eb97090244332b8c210
Date: Wed, 07 Nov 2007 19:11:00 -0000	[thread overview]
Message-ID: <20071107191128.22467.qmail@sourceware.org> (raw)

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


                 reply	other threads:[~2007-11-07 19:11 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071107191128.22467.qmail@sourceware.org \
    --to=tthomas@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).