internal override void CheckValid(ValidityContext vctxt, TypeEnvironment typeEnv) { if (Invalid != null || typeEnv.Type.Invalid != null) { return; } var ctxt = MessageContextBuilders.Member(vctxt.Global, typeEnv.Assembly, typeEnv.Type, this); if (Get != null) { Invalid = Get.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { return; } } if (Set != null) { Invalid = Set.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { return; } } Invalid = FieldType.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { vctxt.ImplementableMemberDef(typeEnv.Assembly, typeEnv.Type, this); } }
internal override void CheckValid(ValidityContext vctxt, TypeEnvironment typeEnv) { if (Invalid != null || typeEnv.Type.Invalid != null) { return; } var ctxt = MessageContextBuilders.Member(vctxt.Global, typeEnv.Assembly, typeEnv.Type, this); if (Add != null) { Invalid = Add.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { return; } } if (Remove != null) { Invalid = Remove.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { return; } } Invalid = HandlerType.CheckValid(vctxt, ctxt, typeEnv); if (Invalid != null) { return; } vctxt.ImplementableMemberDef(typeEnv.Assembly, typeEnv.Type, this); }
internal virtual InvalidInfo CheckValid(ValidityContext vctxt, MessageContext ctxt, RootEnvironment rootEnv) { return(DefiningType.CheckValid(vctxt, ctxt, rootEnv)); }
internal override InvalidInfo CheckValid(ValidityContext vctxt, MessageContext ctxt, RootEnvironment rootEnv) { return(Parameters.Select(p => p.CheckValid(vctxt, ctxt, rootEnv)).FirstOrDefault(v => v != null) ?? Result.CheckValid(vctxt, ctxt, rootEnv)); }
internal override InvalidInfo CheckValid(ValidityContext vctxt, MessageContext ctxt, RootEnvironment rootEnv) { return(FieldType.CheckValid(vctxt, ctxt, rootEnv)); }