CommonNamedFunctionBehavior.java
package dev.civl.mc.model.common.contract;
import java.io.PrintStream;
import dev.civl.mc.model.IF.CIVLSource;
import dev.civl.mc.model.IF.contract.NamedFunctionBehavior;
import dev.civl.mc.model.IF.expression.Expression;
public class CommonNamedFunctionBehavior extends CommonFunctionBehavior
implements NamedFunctionBehavior {
private String name;
private Expression assumptions;
public CommonNamedFunctionBehavior(CIVLSource source, String name) {
super(source);
this.name = name;
}
@Override
public String name() {
return this.name;
}
@Override
public void print(String prefix, PrintStream out, boolean isDebug) {
String subPrefix = prefix + "| ";
out.println(prefix + "behavior " + this.name + ":");
out.print(subPrefix + "assumes ");
out.print(assumptions.toString());
out.println();
super.print(subPrefix, out, isDebug);
}
@Override
public Expression assumptions() {
return this.assumptions;
}
@Override
public void setAssumption(Expression assumption) {
this.assumptions = assumption;
}
}