package it.xsemantics.example.fj.typesystem.fj;
import it.xsemantics.example.fj.typesystem.fj.rules.*;
import it.xtypes.runtime.RuleFailedException;
import it.xtypes.runtime.RuntimeRule;
import it.xtypes.runtime.RuntimeRules;
import it.xtypes.runtime.RuntimeTypeSystem;
import it.xtypes.runtime.TypeSystemResult;
import it.xtypes.runtime.TypeSystemResultPair;
import it.xtypes.runtime.TypingJudgmentEnvironment;
import it.xsemantics.example.fj.fj.FjPackage;
/**
* Automatically generated by XTypeS, http://xtypes.sourceforge.net
* Do not modify it.
* This class should be instantiated with Google Guide injector.
*/
public class FJTypeSystemDefinition extends RuntimeTypeSystem {
protected FjPackage basicPackage = FjPackage.eINSTANCE;
public FJTypeSystemDefinition() {
RuntimeRules rules = new RuntimeRules();
rules.add(new SubClassTypeRule());
rules.add(new SubTypeTypeRule());
rules.add(new SubTypeClassTypeRule());
rules.add(new SubTypeBasicTypeRule());
rules.add(new SubTypeSequencesTypeRule());
rules.add(new TIntConstantTypeRule());
rules.add(new StringConstantTypeRule());
rules.add(new BoolConstantTypeRule());
rules.add(new TThisTypeRule());
rules.add(new TParamTypeRule());
rules.add(new TVariableTypeRule());
rules.add(new TFieldTypeRule());
rules.add(new TMethodBodyTypeRule());
rules.add(new TNewTypeRule());
rules.add(new TMessageTypeRule());
rules.add(new TMethodCallTypeRule());
rules.add(new TFieldSelectionTypeRule());
rules.add(new TSelectionTypeRule());
rules.add(new TCastTypeRule());
rules.add(new TTypeEqualsTypeRule());
rules.add(new TParamsEqualsTypeRule());
rules.add(new TMethodOverrideTypeRule());
rules.add(new TMethodOkTypeRule());
rules.add(new TFieldOkTypeRule());
rules.add(new TClassOkTypeRule());
rules.add(new TProgramTypeRule());
setRules(rules);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.IntConstant object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getIntConstant()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.IntConstant object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.IntConstant, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.IntConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getIntConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.IntConstant, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.IntConstant left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.IntConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getIntConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.IntConstant left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.StringConstant object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getStringConstant()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.StringConstant object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.StringConstant, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.StringConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getStringConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.StringConstant, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.StringConstant left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.StringConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getStringConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.StringConstant left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.BoolConstant object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getBoolConstant()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.BoolConstant object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.BoolConstant, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.BoolConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getBoolConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.BoolConstant, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.BoolConstant left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.BoolConstant left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getBoolConstant()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.BoolConstant left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.This object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getThis()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.This object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.This, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.This left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getThis()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.This, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.This left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.This left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getThis()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.This left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Parameter object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getParameter()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Parameter object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Parameter, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Parameter left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getParameter()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Parameter, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Parameter left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Parameter left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getParameter()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Parameter left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.ParamRef object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getVariable()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.ParamRef object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.ParamRef, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.ParamRef left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getVariable()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.ParamRef, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.ParamRef left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.ParamRef left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getVariable()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.ParamRef left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Field object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Field, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Field, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Field left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Field left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodBody object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodBody()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.MethodBody object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.MethodBody, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodBody left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodBody()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.MethodBody, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.MethodBody left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodBody left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodBody()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.MethodBody left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Expression object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getExpression()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Expression object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Expression, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Expression left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getExpression()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Expression, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Expression left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Expression left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getExpression()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Expression left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.New object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getNew()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.New object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.New, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.New left, it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getNew()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.New, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.New left, it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.New left, it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getNew()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.New left, it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Message object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMessage()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Message object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Message, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Message left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getMessage()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Message, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Message left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Message left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMessage()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Message left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodCall object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodCall()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.MethodCall object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.MethodCall, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodCall left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodCall()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.MethodCall, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.MethodCall left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.MethodCall left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethodCall()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.MethodCall left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.FieldSelection object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getFieldSelection()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.FieldSelection object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.FieldSelection, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.FieldSelection left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getFieldSelection()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.FieldSelection, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.FieldSelection left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.FieldSelection left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getFieldSelection()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.FieldSelection left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Selection object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getSelection()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Selection object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Selection, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Selection left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getSelection()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Selection, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Selection left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Selection left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getSelection()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Selection left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Cast object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getCast()),
createEClassifierType(basicPackage.getType()), object);
}
public TypeSystemResult<it.xsemantics.example.fj.fj.Type> typeAsType(
it.xsemantics.example.fj.fj.Cast object) {
return typeAsType(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Cast, it.xsemantics.example.fj.fj.Type> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Cast left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getCast()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Cast, it.xsemantics.example.fj.fj.Type> type(
it.xsemantics.example.fj.fj.Cast left,
it.xsemantics.example.fj.fj.Type right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Cast left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getCast()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Cast left,
it.xsemantics.example.fj.fj.Type right) {
return checkType(null, left, right);
}
public TypeSystemResult<String> typeAsString(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Method object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethod()),
createBasicType("String"), object);
}
public TypeSystemResult<String> typeAsString(
it.xsemantics.example.fj.fj.Method object) {
return typeAsString(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Method, String> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Method left, String right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getMethod()),
createBasicType("String"), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Method, String> type(
it.xsemantics.example.fj.fj.Method left, String right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Method left, String right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getMethod()),
createBasicType("String"), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Method left, String right) {
return checkType(null, left, right);
}
public TypeSystemResult<String> typeAsString(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createBasicType("String"), object);
}
public TypeSystemResult<String> typeAsString(
it.xsemantics.example.fj.fj.Field object) {
return typeAsString(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Field, String> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field left, String right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createBasicType("String"), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Field, String> type(
it.xsemantics.example.fj.fj.Field left, String right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Field left, String right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getField()),
createBasicType("String"), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Field left, String right) {
return checkType(null, left, right);
}
public TypeSystemResult<String> typeAsString(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Class object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getClass_()),
createBasicType("String"), object);
}
public TypeSystemResult<String> typeAsString(
it.xsemantics.example.fj.fj.Class object) {
return typeAsString(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Class, String> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Class left, String right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getClass_()),
createBasicType("String"), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Class, String> type(
it.xsemantics.example.fj.fj.Class left, String right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Class left, String right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getClass_()),
createBasicType("String"), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Class left, String right) {
return checkType(null, left, right);
}
public TypeSystemResult<String> typeAsString(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Program object) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getProgram()),
createBasicType("String"), object);
}
public TypeSystemResult<String> typeAsString(
it.xsemantics.example.fj.fj.Program object) {
return typeAsString(null, object);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Program, String> type(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Program left, String right) {
return tryToApplyPair(environment, "|-", ":",
createEClassifierType(basicPackage.getProgram()),
createBasicType("String"), left, right);
}
public TypeSystemResultPair<it.xsemantics.example.fj.fj.Program, String> type(
it.xsemantics.example.fj.fj.Program left, String right) {
return type(null, left, right);
}
public TypeSystemResult<Boolean> checkType(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Program left, String right) {
return tryToApply(environment, "|-", ":",
createEClassifierType(basicPackage.getProgram()),
createBasicType("String"), left, right);
}
public TypeSystemResult<Boolean> checkType(
it.xsemantics.example.fj.fj.Program left, String right) {
return checkType(null, left, right);
}
public RuntimeRule applyTypeRule(TypingJudgmentEnvironment environment,
Object left, Object right) throws RuleFailedException {
return applyRule(environment, "|-", ":", left, right);
}
public RuntimeRule applyTypeRule(Object left, Object right)
throws RuleFailedException {
return applyTypeRule(null, left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Class left,
it.xsemantics.example.fj.fj.Class right) {
return tryToApply(environment, "|-", "<:",
createEClassifierType(basicPackage.getClass_()),
createEClassifierType(basicPackage.getClass_()), left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
it.xsemantics.example.fj.fj.Class left,
it.xsemantics.example.fj.fj.Class right) {
return checkSubtype(null, left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Type left,
it.xsemantics.example.fj.fj.Type right) {
return tryToApply(environment, "|-", "<:",
createEClassifierType(basicPackage.getType()),
createEClassifierType(basicPackage.getType()), left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
it.xsemantics.example.fj.fj.Type left,
it.xsemantics.example.fj.fj.Type right) {
return checkSubtype(null, left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.ClassType left,
it.xsemantics.example.fj.fj.ClassType right) {
return tryToApply(environment, "|-", "<:",
createEClassifierType(basicPackage.getClassType()),
createEClassifierType(basicPackage.getClassType()), left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
it.xsemantics.example.fj.fj.ClassType left,
it.xsemantics.example.fj.fj.ClassType right) {
return checkSubtype(null, left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.BasicType left,
it.xsemantics.example.fj.fj.BasicType right) {
return tryToApply(environment, "|-", "<:",
createEClassifierType(basicPackage.getBasicType()),
createEClassifierType(basicPackage.getBasicType()), left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
it.xsemantics.example.fj.fj.BasicType left,
it.xsemantics.example.fj.fj.BasicType right) {
return checkSubtype(null, left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
TypingJudgmentEnvironment environment,
java.util.List<it.xsemantics.example.fj.fj.Expression> left,
java.util.List<it.xsemantics.example.fj.fj.Parameter> right) {
return tryToApply(environment, "|-", "<:",
createCollectionType(createEClassifierType(basicPackage
.getExpression())),
createCollectionType(createEClassifierType(basicPackage
.getParameter())), left, right);
}
public TypeSystemResult<Boolean> checkSubtype(
java.util.List<it.xsemantics.example.fj.fj.Expression> left,
java.util.List<it.xsemantics.example.fj.fj.Parameter> right) {
return checkSubtype(null, left, right);
}
public RuntimeRule applySubtypeRule(TypingJudgmentEnvironment environment,
Object left, Object right) throws RuleFailedException {
return applyRule(environment, "|-", "<:", left, right);
}
public RuntimeRule applySubtypeRule(Object left, Object right)
throws RuleFailedException {
return applySubtypeRule(null, left, right);
}
public TypeSystemResult<Boolean> checkOverride(
TypingJudgmentEnvironment environment,
it.xsemantics.example.fj.fj.Method left,
it.xsemantics.example.fj.fj.Method right) {
return tryToApply(environment, "|-", "~",
createEClassifierType(basicPackage.getMethod()),
createEClassifierType(basicPackage.getMethod()), left, right);
}
public TypeSystemResult<Boolean> checkOverride(
it.xsemantics.example.fj.fj.Method left,
it.xsemantics.example.fj.fj.Method right) {
return checkOverride(null, left, right);
}
public RuntimeRule applyOverrideRule(TypingJudgmentEnvironment environment,
Object left, Object right) throws RuleFailedException {
return applyRule(environment, "|-", "~", left, right);
}
public RuntimeRule applyOverrideRule(Object left, Object right)
throws RuleFailedException {
return applyOverrideRule(null, left, right);
}
}