@Override public void validate(AType expectedType, EModelValidationContext r) { if (!expectedType.isEnum()) { r.add(getLocation(), messages().enumValueGivenForNonEnum(enumValue.getName())); return; } String name = enumValue.getName(); if (expectedType.getField(name) == null) { r.add(getLocation(), messages().invalidEnumConstant(name)); } aType = expectedType; }
@Override public Object eval( AIField p, EScriptContext scriptContext, AModelType mType, Object existingValue) { AType type = p.getType(); return System.getEnumValue(type.getNamespace(), type.getName(), enumValue.getName()); }