package ${package}.cocos;
import static com.google.common.base.Preconditions.checkArgument;
import java.util.Optional;
import ${package}.mydsl._ast.ASTMyField;
import ${package}.mydsl._cocos.MyDSLASTMyFieldCoCo;
import ${package}.symboltable.MyElementSymbol;
import de.monticore.symboltable.Scope;
import de.se_rwth.commons.logging.Log;
public class ExistingMyFieldType implements MyDSLASTMyFieldCoCo {
public static final String ERROR_CODE = "0xC0002";
public static final String ERROR_MSG_FORMAT =
ERROR_CODE + " The referenced element '%s' of the field '%s' does not exist.";
@Override
public void check(ASTMyField field) {
checkArgument(field.getEnclosingScope().isPresent());
Scope enclosingScope = field.getEnclosingScope().get();
Optional<MyElementSymbol> typeElement = enclosingScope.resolve(field.getType(), MyElementSymbol.KIND);
if (!typeElement.isPresent()) {
// Issue error...
Log.error(String.format(ERROR_MSG_FORMAT, field.getType(), field.getName()),
field.get_SourcePositionStart());
}
}
}