/// <summary> /// Tries to add member as a method. /// </summary> /// <param name="contractClass">The contract class.</param> /// <param name="member">The member.</param> /// <returns> /// <c>true</c> if the member was a method and added; otherwise <c>false</c> /// </returns> private bool TryAddMemberAsMethod(Class contractClass, Member member) { Contract.Requires(contractClass != null, "contractClass is null."); Contract.Requires(member != null, "member is null."); var interfaceMethod = member as Method; if (interfaceMethod == null) { return(false); } var method = new Method(); this.SetupMemberDeclaration(method, interfaceMethod); if (string.IsNullOrEmpty(interfaceMethod.MemberType) || interfaceMethod.MemberType == "void") { method.MethodType = MethodTypeEnum.Void; } else { method.MethodType = MethodTypeEnum.Function; var typeReferenceExp = interfaceMethod.MemberTypeReference; if (typeReferenceExp != null) { this.AddDefaultReturn(method, typeReferenceExp); } } method.AddToDoComment(); method.CopyParameters(interfaceMethod); contractClass.CloneDocComment(interfaceMethod); contractClass.AddNode(method); return(true); }
/// <summary> /// Tries to add member as a method. /// </summary> /// <param name="contractClass">The contract class.</param> /// <param name="member">The member.</param> /// <returns> /// <c>true</c> if the member was a method and added; otherwise <c>false</c> /// </returns> private bool TryAddMemberAsMethod(Class contractClass, Member member) { Contract.Requires(contractClass != null, "contractClass is null."); Contract.Requires(member != null, "member is null."); var interfaceMethod = member as Method; if (interfaceMethod == null) { return false; } var method = new Method(); this.SetupMemberDeclaration(method, interfaceMethod); if (string.IsNullOrEmpty(interfaceMethod.MemberType) || interfaceMethod.MemberType == "void") { method.MethodType = MethodTypeEnum.Void; } else { method.MethodType = MethodTypeEnum.Function; var typeReferenceExp = interfaceMethod.MemberTypeReference; if (typeReferenceExp != null) { this.AddDefaultReturn(method, typeReferenceExp); } } method.AddToDoComment(); method.CopyParameters(interfaceMethod); contractClass.CloneDocComment(interfaceMethod); contractClass.AddNode(method); return true; }