/// <summary> /// Marks all types in a method signature as enclosed. This does not change any of the inputs; instead it will create a new /// method signature from new parameters and return type /// </summary> /// <param name="methodSignature"></param> /// <returns>MethodSignature with types marked as enclosed</returns> public static MethodSignature <MemberMetadataInfo> MakeEnclosedType(this MethodSignature <MemberMetadataInfo> methodSignature) { var parameters = methodSignature.ParameterTypes .Select(p => new MemberMetadataInfo(p) { IsEnclosedType = true }) .ToImmutableArray(); var returnType = new MemberMetadataInfo(methodSignature.ReturnType) { IsEnclosedType = true }; return(new MethodSignature <MemberMetadataInfo>( methodSignature.Header, returnType, methodSignature.RequiredParameterCount, methodSignature.GenericParameterCount, parameters)); }
public MemberModifiedMetadata(bool isRequired, MemberMetadataInfo metadata) { IsRequired = isRequired; Metadata = metadata; }