Skip to content
Snippets Groups Projects
Verified Commit 3922fe1e authored by Miles Vella's avatar Miles Vella
Browse files

fix modelchecking generation

parent 16052278
No related branches found
No related tags found
No related merge requests found
Pipeline #151286 passed
...@@ -19,6 +19,7 @@ import de.prob.parser.ast.types.IntegerType; ...@@ -19,6 +19,7 @@ import de.prob.parser.ast.types.IntegerType;
import de.prob.parser.ast.types.RecordType; import de.prob.parser.ast.types.RecordType;
import de.prob.parser.ast.types.SetType; import de.prob.parser.ast.types.SetType;
import de.prob.parser.ast.types.StringType; import de.prob.parser.ast.types.StringType;
import de.prob.parser.ast.types.UntypedType;
import org.stringtemplate.v4.ST; import org.stringtemplate.v4.ST;
import org.stringtemplate.v4.STGroup; import org.stringtemplate.v4.STGroup;
...@@ -86,7 +87,8 @@ public class ImportGenerator { ...@@ -86,7 +87,8 @@ public class ImportGenerator {
importBFreetype(); importBFreetype();
importFreetype((FreetypeType) type); importFreetype((FreetypeType) type);
importBBoolean(); importBBoolean();
} else { } else if (type != null && !(type instanceof UntypedType)) {
// null and untyped slip through sometimes, just ignore those
throw new IllegalArgumentException("Unsupported type: " + type); throw new IllegalArgumentException("Unsupported type: " + type);
} }
} }
......
...@@ -599,7 +599,7 @@ public static abstract class <name> extends BFreetype { ...@@ -599,7 +599,7 @@ public static abstract class <name> extends BFreetype {
} }
public final BBoolean unequal(<name> o) { public final BBoolean unequal(<name> o) {
return this.equal(o).not(); return new BBoolean(!this.equals(o));
} }
@Override @Override
...@@ -612,6 +612,41 @@ public static abstract class <name> extends BFreetype { ...@@ -612,6 +612,41 @@ public static abstract class <name> extends BFreetype {
public abstract String toString(); public abstract String toString();
} }
public static final class <name>Set implements BObject {
public static final <name>Set INSTANCE = new <name>Set();
private <name>Set() {
}
public BBoolean elementOf(<name> o) {
return new BBoolean(true);
}
public BBoolean equal(<name>Set o) {
return new BBoolean(true);
}
public BBoolean unequal(<name>Set o) {
return new BBoolean(false);
}
@Override
public boolean equals(Object o) {
return o instanceof <name>Set;
}
@Override
public int hashCode() {
return <name>Set.class.hashCode();
}
@Override
public String toString() {
return "<name>";
}
}
>> >>
freetype_element_declaration(name,freetype) ::= << freetype_element_declaration(name,freetype) ::= <<
...@@ -757,7 +792,7 @@ freetype_import() ::= << ...@@ -757,7 +792,7 @@ freetype_import() ::= <<
>> >>
freetype_call(name) ::= << freetype_call(name) ::= <<
<name> <name>Set.INSTANCE
>> >>
freetype_element_call(name) ::= << freetype_element_call(name) ::= <<
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment