private bool ValidateEntryPoint(IMethodMember value) { if (((IDeclaredType)value.ParentTarget).IsGeneric) { return(false); } if (value.Name != "Main") { return(false); } if (value.Parameters.Count < 0 || value.Parameters.Count > 1) { return(false); } if (value.Parameters.Count == 0) { return(value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference())); } IMethodParameterMember impm = value.Parameters[value.Parameters.Keys[0]]; if (impm.ParameterType.ArrayElementType == null || impm.ParameterType.ArrayRank == 0) { return((impm.ParameterType.Equals(typeof(string).GetTypeReference())) && (value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference()))); } else if (impm.ParameterType.ArrayRank == 1 && impm.ParameterType.ArrayElementType != null) { return(((impm.ParameterType.ArrayElementType.ArrayRank == 0 || impm.ParameterType.ArrayElementType.ArrayElementType == null) && impm.ParameterType.ArrayElementType.Equals(typeof(string).GetTypeReference())) && (value.ReturnType.Equals(typeof(int).GetTypeReference()) || value.ReturnType.Equals(typeof(void).GetTypeReference()))); } return(false); }
public virtual void TranslateMember(IMethodParameterMember methodParamMember) { this.TranslateMember <IMethodParameterMember, CodeMemberMethod, IMemberParentType>(methodParamMember); }
protected override IMethodParameterMember <TMethod, TMethodParent> GetWrapper(IMethodParameterMember <TMethod, TMethodParent> original, TMethod parent) { return(new _Parameter(original, parent)); }
internal _Parameter(IMethodParameterMember <TMethod, TMethodParent> original, TMethod parent) : base(original, parent) { }