Make people write casts...
authorbdemsky <bdemsky>
Tue, 7 Nov 2006 06:43:36 +0000 (06:43 +0000)
committerbdemsky <bdemsky>
Tue, 7 Nov 2006 06:43:36 +0000 (06:43 +0000)
Robust/src/IR/Tree/SemanticCheck.java
Robust/src/Tests/Inventory.java

index 7dcb5eb1f8b8917f96accd6f86a62e3892c6fdf7..0feb9d0e4deb537647dfb12e6caa219d8d0ff8d7 100644 (file)
@@ -659,6 +659,9 @@ public class SemanticCheck {
        if (bestmd==null)
            throw new Error("No method found for :"+min.printNode(0));
        min.setMethod(bestmd);
+
+       if ((td!=null)&&(min.getType()!=null)&&!typeutil.isSuperorType(td,  min.getType()))
+           throw new Error(min.getType()+ " is not equal to or a subclass of "+td);
        /* Check whether we need to set this parameter to implied this */
        if (!bestmd.isStatic()) {
            if (min.getExpression()==null) {
index cf4938e2f46eb7486be1e34958f69cbb71569976..8f06c0f19677c8ab1fc3e312dca4be8b138cc067 100644 (file)
@@ -24,7 +24,7 @@ public class Inventory {
                if (map.containsKey(name) == false) {
                        map.put(name, newitem);
                } else {
-                       ItemInfo i = map.get(name);
+                       ItemInfo i = (ItemInfo) map.get(name);
                        i.quantity += quantity;
                        i.price = price;
                        map.put(name, i);
@@ -38,7 +38,7 @@ public class Inventory {
                        System.printString("Error - Item does not exist");
                        return -1;
                } else {
-                       ItemInfo i = map.get(name);
+                       ItemInfo i = (ItemInfo) map.get(name);
                        if (i.quantity == 0) {
                                System.printString("Error - Item unavailable");
                                return -1;
@@ -63,7 +63,7 @@ public class Inventory {
                while (i.hasNext() == true) {
                        Object o = i.next();
                        String name = o.toString();
-                       ItemInfo oo = j.next();
+                       ItemInfo oo = (ItemInfo) j.next();
                        sb.append(name);
                        sb.append(" ");
                        Integer q = new Integer(oo.quantity);