summaryrefslogtreecommitdiff
path: root/st/ClassInstance.java
diff options
context:
space:
mode:
Diffstat (limited to 'st/ClassInstance.java')
-rw-r--r--st/ClassInstance.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/st/ClassInstance.java b/st/ClassInstance.java
index 3de852f..d51446f 100644
--- a/st/ClassInstance.java
+++ b/st/ClassInstance.java
@@ -1,6 +1,8 @@
package st;
import java.util.ArrayList;
+
+import heat.TypecheckException;
import misc.*;
public class ClassInstance extends AbstractInstance {
@@ -27,9 +29,13 @@ public class ClassInstance extends AbstractInstance {
else
return false;
- if (o.getName().equals(this.getName()))
+ if (o.getName().equals(this.getName())) {
+ MinimalLogger.info(String.format("Found extension end."));
+ if (o.getExtend() != null && o.getExtend().equals(this.getExtend()))
+ throw new TypecheckException(String.format("Recursive extension on %s detected",
+ this.toString()));
return true;
- else
+ } else
MinimalLogger.info(String.format("I (%s) do not have the same name as %s... Checking if I extend...",
this.getName(), o.getName()));