private void MutateType(INamedTypeDefinition iTypeDef, Element element) { NamedTypeDefinition typeDef = iTypeDef as NamedTypeDefinition; if (typeDef == null) { throw new Exception("Invalid namedType definition."); } if (_applyAnnotations) { SecurityTransparencyStatus currentStatus = GetMarkedSecurityAnnotation(typeDef.Attributes, typeDef); if (element.SecurityTransparencyStatus != SecurityTransparencyStatus.Undefined && element.SecurityTransparencyStatus != SecurityTransparencyStatus.Transparent && currentStatus != element.SecurityTransparencyStatus) { RemoveSecurityTransparencyAttributes(typeDef.Attributes, typeDef); AddSecurityTransparencyAttribute(typeDef.Attributes, element.SecurityTransparencyStatus, typeDef); } } AddFaaAttributeIfNeeded(element, typeDef.Attributes, typeDef); if (_changeVisibility && element.ShouldMakeInternal) { MakeInternal(typeDef); } }
internal void AddSecurityTransparencyAttribute(List <ICustomAttribute> list, SecurityTransparencyStatus securityTransparencyStatus, ITypeReference containingType) { Microsoft.Cci.MethodReference ctor = null; switch (securityTransparencyStatus) { case SecurityTransparencyStatus.Critical: ctor = new Microsoft.Cci.MethodReference(this.host, containingType.PlatformType.SystemSecuritySecurityCriticalAttribute, //FindType("System.Security.SecurityCriticalAttribute"), CallingConvention.HasThis, this.host.PlatformType.SystemVoid, this.host.NameTable.Ctor, 0); break; case SecurityTransparencyStatus.SafeCritical: ctor = new Microsoft.Cci.MethodReference(this.host, containingType.PlatformType.SystemSecuritySecuritySafeCriticalAttribute, //FindType("System.Security.SecuritySafeCriticalAttribute"), CallingConvention.HasThis, this.host.PlatformType.SystemVoid, this.host.NameTable.Ctor, 0); break; case SecurityTransparencyStatus.Transparent: break; } if (ctor != null) { CustomAttribute securityAttribute = new CustomAttribute(); securityAttribute.Constructor = ctor; list.Add(Rewrite(securityAttribute)); } }
private void MutateMember(TypeDefinitionMember member, Element element) { // Set transparency attributes. if (_applyAnnotations) { SecurityTransparencyStatus currentStatus = GetMarkedSecurityAnnotation(member.Attributes, member.ContainingTypeDefinition); if (element.SecurityTransparencyStatus != SecurityTransparencyStatus.Undefined && currentStatus != element.SecurityTransparencyStatus) { RemoveSecurityTransparencyAttributes(member.Attributes, member.ContainingTypeDefinition); AddSecurityTransparencyAttribute(member.Attributes, element.SecurityTransparencyStatus, member.ContainingTypeDefinition); } } // Add FriendAccessAllowed attribute. if (!(member is PropertyDefinition)) // FAA isn't needed on properties; it's only needed on getters and setters { List <ICustomAttribute> attributes = member.Attributes; AddFaaAttributeIfNeeded(element, attributes, member.ContainingTypeDefinition); } // Make internal if needed. if (_changeVisibility && element.ShouldMakeInternal && !Util.IsInternal(member.ResolvedTypeDefinitionMember.Visibility)) { // Make the member internal MakeInternal(member); // Interface method implementations don't need Explicit Interface Method Implementations (EIMI's) if the implementing // method is public and has the same signature as the interface method. Since we're making the method internal, // we need to add the EIMI's. CreateExplicitInterfaceImplementations(member); } }
public TrimType(String typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { _typeName = typeName; _typeMembers = new Dictionary <string, MemberElement>(); _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; }
internal CodeTypeElement(IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus, string key) { m_members = new Dictionary <string, MemberElement>(); _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; _key = key; }
public CodeMemberElement(IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus, string key, string returnType, MemberTypes memberType, string name) { _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; _key = key; _returnType = returnType; _memberType = memberType; _name = name; }
public override MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { // Identify the member by category (method/prop/field/event), name, and return type. These // strings are what matched by ModelSigFormatter string memberSig = memberType.ToString() + " : " + memberName; if (returnType != null) memberSig = memberSig + " : " + returnType; CodeMemberElement member = new CodeMemberElement(includeStatus, visibilityOverride, securityTransparencyStatus, memberSig, returnType, memberType, memberName); (type as CodeTypeElement).m_members.Add(memberSig, member); return member; }
public ThinMember(ThinType declaringType, ThinMember memberToCopy) { _declaringType = declaringType; _memberNode = memberToCopy._memberNode; _memberFullName = memberToCopy._memberFullName; _returnType = memberToCopy._returnType; _memberType = memberToCopy._memberType; _includeStatus = memberToCopy._includeStatus; _visibility = memberToCopy._visibility; _securityTransparencyStatus = memberToCopy._securityTransparencyStatus; CheckVisibility(); }
public TrimMember(TrimType declaringType, string memberName, string returnType, /*string paramListString, */ MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { _declaringType = declaringType; _memberName = memberName; _returnType = returnType; _memberType = memberType; _includeStatus = includeStatus; _securityTransparencyStatus = securityTransparencyStatus; //_paramListString = paramListString; //if (null == paramListString) // _paramQualifiedTypeNames = new List<string>(); //else // _paramQualifiedTypeNames = SplitParameterList(paramListString); _visibilityOverride = visibilityOverride; }
public ThinMember(ThinType declaringType, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, ITypeDefinitionMember memberNode, VisibilityOverride visibility, SecurityTransparencyStatus securityTransparencyStatus) { _memberNode = memberNode; _declaringType = declaringType; _returnType = returnType; _memberType = memberType; _includeStatus = includeStatus; _visibility = visibility; _securityTransparencyStatus = securityTransparencyStatus; _memberFullName = memberName; CheckVisibility(); }
public TrimType(String typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { _typeName = typeName; _typeMembers = new Dictionary<string, MemberElement>(); _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; }
public override TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { TrimAssembly trimAssembly = (TrimAssembly)assembly; TrimType typeIncludeInfo = new TrimType(typeName, includeStatus, visibilityOverride, securityTransparencyStatus); trimAssembly.Types.Add(typeIncludeInfo.Key, typeIncludeInfo); return(typeIncludeInfo); }
abstract public MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus);
public override TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { CodeTypeElement type = new CodeTypeElement(includeStatus, visibilityOverride, securityTransparencyStatus, typeName); (assembly as CodeAssemblyElement).m_types.Add(typeName, type); return(type); }
abstract public TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus);
public CodeMemberElement(IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus, string key, string returnType, MemberTypes memberType, string name) { _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; _key = key; _returnType = returnType; _memberType = memberType; _name = name; }
public override MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { TrimType typeInfo = (TrimType)type; TrimMember id = new TrimMember(typeInfo, memberName, returnType, /*paramListString, */memberType, includeStatus, visibilityOverride, securityTransparencyStatus); typeInfo.Members.Add(id.Key, id); return id; }
public void SetSecurityTransparencyStatus(SecurityTransparencyStatus securityTransparencyStatus) { if (_securityTransparencyStatus != SecurityTransparencyStatus.Transparent) throw new Exception("ERROR: Cannot update SecurityTransparencyStatus from any initial state other than Transparent"); _securityTransparencyStatus = securityTransparencyStatus; }
public ThinType(ThinAssembly declaringAssembly, ThinType typeToCopy) { _members = new Dictionary<string, MemberElement>(); _declaringAssembly = declaringAssembly; _typeNode = typeToCopy._typeNode; _typeFullName = typeToCopy._typeFullName; _includeStatus = typeToCopy._includeStatus; _visibility = typeToCopy._visibility; _securityTransparencyStatus = typeToCopy._securityTransparencyStatus; }
public ThinType(ThinAssembly declaringAssembly, string typeName, IncludeStatus includeStatus, INamedTypeDefinition typeNode, VisibilityOverride visibility, SecurityTransparencyStatus securityTransparencyStatus) { _members = new Dictionary<string, MemberElement>(); _typeNode = typeNode; _declaringAssembly = declaringAssembly; _includeStatus = includeStatus; _visibility = visibility; _securityTransparencyStatus = securityTransparencyStatus; //_typeFullName = Util.CCI2StyleTypeName(typeName); _typeFullName = typeName; }
public override MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { TrimType typeInfo = (TrimType)type; TrimMember id = new TrimMember(typeInfo, memberName, returnType, /*paramListString, */ memberType, includeStatus, visibilityOverride, securityTransparencyStatus); typeInfo.Members.Add(id.Key, id); return(id); }
internal void AddSecurityTransparencyAttribute(List<ICustomAttribute> list, SecurityTransparencyStatus securityTransparencyStatus, ITypeReference containingType) { Microsoft.Cci.MethodReference ctor = null; switch (securityTransparencyStatus) { case SecurityTransparencyStatus.Critical: ctor = new Microsoft.Cci.MethodReference(this.host, containingType.PlatformType.SystemSecuritySecurityCriticalAttribute,//FindType("System.Security.SecurityCriticalAttribute"), CallingConvention.HasThis, this.host.PlatformType.SystemVoid, this.host.NameTable.Ctor, 0); break; case SecurityTransparencyStatus.SafeCritical: ctor = new Microsoft.Cci.MethodReference(this.host, containingType.PlatformType.SystemSecuritySecuritySafeCriticalAttribute,//FindType("System.Security.SecuritySafeCriticalAttribute"), CallingConvention.HasThis, this.host.PlatformType.SystemVoid, this.host.NameTable.Ctor, 0); break; case SecurityTransparencyStatus.Transparent: break; } if (ctor != null) { CustomAttribute securityAttribute = new CustomAttribute(); securityAttribute.Constructor = ctor; list.Add(Rewrite(securityAttribute)); } }
public TrimMember(TrimType declaringType, string memberName, string returnType, /*string paramListString, */MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { _declaringType = declaringType; _memberName = memberName; _returnType = returnType; _memberType = memberType; _includeStatus = includeStatus; _securityTransparencyStatus = securityTransparencyStatus; //_paramListString = paramListString; //if (null == paramListString) // _paramQualifiedTypeNames = new List<string>(); //else // _paramQualifiedTypeNames = SplitParameterList(paramListString); _visibilityOverride = visibilityOverride; }
public override TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { TrimAssembly trimAssembly = (TrimAssembly)assembly; TrimType typeIncludeInfo = new TrimType(typeName, includeStatus, visibilityOverride, securityTransparencyStatus); trimAssembly.Types.Add(typeIncludeInfo.Key, typeIncludeInfo); return typeIncludeInfo; }
public override TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { ThinAssembly declaringAssembly = (ThinAssembly)assembly; includeStatus = AdjustIncludeStatus(includeStatus); ThinType type = new ThinType(declaringAssembly, typeName, includeStatus, null, visibilityOverride, securityTransparencyStatus); String key = type.Name; if (declaringAssembly.Types.ContainsKey(key)) { String errMsg = String.Format("XML file error: duplicate Type element \"{0}\"", key); Console.Error.WriteLine(errMsg); throw new FormatException(errMsg); } declaringAssembly.Types.Add(key, type); return type; }
internal CodeTypeElement(IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus, string key) { m_members = new Dictionary<string, MemberElement>(); _includeStatus = includeStatus; _visibilityOverride = visibilityOverride; _securityTransparencyStatus = securityTransparencyStatus; _key = key; }
public override MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { ThinType declaringType = (ThinType)type; includeStatus = AdjustIncludeStatus(includeStatus); ThinMember member = new ThinMember(declaringType, memberName, returnType, memberType, includeStatus, null, visibilityOverride, securityTransparencyStatus); String key = member.Key; if (declaringType.Members.ContainsKey(key)) { String errMsg = String.Format("XML file error: duplicate Member element \"{0}\" in type \"{1}\"", key, type.Key); Console.Error.WriteLine(errMsg); throw new FormatException(errMsg); } declaringType.Members.Add(key, member); return member; }
public void RecursivelyReadBlock(XmlReader reader, object parentObj, bool include) { while (reader.Read() && (reader.NodeType != XmlNodeType.EndElement)) { XmlParseAssert(reader.IsStartElement()); switch (reader.Name) { case XmlKeywords.Elements.Xml: { XmlParseAssert(include); XmlParseAssert(parentObj is ModelElement); RecursivelyReadBlock(reader, parentObj, true); break; } case XmlKeywords.Elements.ThinModel: { XmlParseAssert(include); XmlParseAssert(parentObj is ModelElement); RecursivelyReadBlock(reader, parentObj, true); break; } case XmlKeywords.Elements.Assembly: { XmlParseAssert(include); XmlParseAssert(parentObj is ModelElement); XmlParseAssert(reader.AttributeCount > 0); string assemblyName = reader.GetAttribute(XmlKeywords.Attributes.Name); XmlParseAssert(assemblyName != null); string includeStatusString = reader.GetAttribute(XmlKeywords.Attributes.IncludeStatus); IncludeStatus includeStatus = IncludeStatus.Inherit; if (includeStatusString != null) { includeStatus = XmlKeywords.ParseIncludeStatus(includeStatusString); } string platform = reader.GetAttribute(XmlKeywords.Attributes.Platform); string architecture = reader.GetAttribute(XmlKeywords.Attributes.Architecture); string flavor = reader.GetAttribute(XmlKeywords.Attributes.Flavor); string condition = reader.GetAttribute(XmlKeywords.Attributes.Condition); bool included = IncludeBuild(platform, architecture, flavor, condition); AssemblyElement assembly = null; if (included) { assembly = CreateAssemblyElement((ModelElement)parentObj, assemblyName, includeStatus); } if (!reader.IsEmptyElement) { RecursivelyReadBlock(reader, assembly, included); } break; } case XmlKeywords.Elements.Type: { TypeElement type = null; bool included = false; if (include) { XmlParseAssert(parentObj is AssemblyElement); XmlParseAssert(reader.AttributeCount > 0); string fullyQualifiedTypeName = reader.GetAttribute(XmlKeywords.Attributes.Name); XmlParseAssert(fullyQualifiedTypeName != null); AssemblyElement declaringAssembly = (AssemblyElement)parentObj; IncludeStatus includeStatus = declaringAssembly.IncludeStatus; string includeStatusString = reader.GetAttribute(XmlKeywords.Attributes.IncludeStatus); if (includeStatusString != null) { includeStatus = XmlKeywords.ParseIncludeStatus(includeStatusString); } SecurityTransparencyStatus securityTransparencyStatus = SecurityTransparencyStatus.Transparent; string securityTransparencyStatusString = reader.GetAttribute(XmlKeywords.Attributes.SecurityTransparencyStatus); if (securityTransparencyStatusString != null) { securityTransparencyStatus = XmlKeywords.ParseSecurityTransparencyStatus(securityTransparencyStatusString); } string visibilityOverrideString = reader.GetAttribute(XmlKeywords.Attributes.VisibilityOverride); VisibilityOverride visibilityOverride = XmlKeywords.ParseVisibilityOverride(visibilityOverrideString); string platform = reader.GetAttribute(XmlKeywords.Attributes.Platform); string architecture = reader.GetAttribute(XmlKeywords.Attributes.Architecture); string flavor = reader.GetAttribute(XmlKeywords.Attributes.Flavor); string condition = reader.GetAttribute(XmlKeywords.Attributes.Condition); included = IncludeBuild(platform, architecture, flavor, condition); if (included) { type = CreateTypeElement(declaringAssembly, fullyQualifiedTypeName, includeStatus, visibilityOverride, securityTransparencyStatus); } } if (!reader.IsEmptyElement) { RecursivelyReadBlock(reader, type, included); } break; } case XmlKeywords.Elements.TypeForwarder: { TypeForwarderElement type = null; bool included = false; if (include) { XmlParseAssert(parentObj is AssemblyElement); XmlParseAssert(reader.AttributeCount > 1); string assemblyName = reader.GetAttribute(XmlKeywords.Attributes.AssemblyName); string typeName = reader.GetAttribute(XmlKeywords.Attributes.TypeName); XmlParseAssert(assemblyName != null); XmlParseAssert(typeName != null); AssemblyElement declaringAssembly = (AssemblyElement)parentObj; IncludeStatus includeStatus = declaringAssembly.IncludeStatus; string includeStatusString = reader.GetAttribute(XmlKeywords.Attributes.IncludeStatus); if (includeStatusString != null) { includeStatus = XmlKeywords.ParseIncludeStatus(includeStatusString); } string platform = reader.GetAttribute(XmlKeywords.Attributes.Platform); string architecture = reader.GetAttribute(XmlKeywords.Attributes.Architecture); string flavor = reader.GetAttribute(XmlKeywords.Attributes.Flavor); string condition = reader.GetAttribute(XmlKeywords.Attributes.Condition); included = IncludeBuild(platform, architecture, flavor, condition); if (included) { type = CreateTypeForwarderElement(declaringAssembly, assemblyName, typeName, includeStatus); } } if (!reader.IsEmptyElement) { RecursivelyReadBlock(reader, type, included); } break; } case XmlKeywords.Elements.Member: { if (include) { XmlParseAssert(parentObj is TypeElement); XmlParseAssert(reader.AttributeCount > 0); string memberName = reader.GetAttribute(XmlKeywords.Attributes.Name); XmlParseAssert(memberName != null); TypeElement declaringType = (TypeElement)parentObj; string returnType = reader.GetAttribute(XmlKeywords.Attributes.ReturnType); string memberTypeString = reader.GetAttribute(XmlKeywords.Attributes.MemberType); MemberTypes memberType = XmlKeywords.ParseMemberType(memberTypeString); XmlParseAssert(memberType != MemberTypes.Unknown); IncludeStatus includeStatus = declaringType.IncludeStatus; string includeStatusString = reader.GetAttribute(XmlKeywords.Attributes.IncludeStatus); if (includeStatusString != null) { includeStatus = XmlKeywords.ParseIncludeStatus(includeStatusString); } if (includeStatus == IncludeStatus.Inherit) { throw new FormatException(String.Format("Specify include status for Member \"{0}\" in Type \"{1}\"", memberName, declaringType.Key)); } XmlParseAssert(includeStatus != IncludeStatus.Inherit); // Inherited virtual members "sometimes" don't inherit transparency status (when following certain rulesets) and we don't know // inheritance or rule status here. Therefore we can't say what the transparency status is here unless it's explicitly defined. SecurityTransparencyStatus securityTransparencyStatus = SecurityTransparencyStatus.Undefined; string securityTransparencyStatusString = reader.GetAttribute(XmlKeywords.Attributes.SecurityTransparencyStatus); if (securityTransparencyStatusString != null) { securityTransparencyStatus = XmlKeywords.ParseSecurityTransparencyStatus(securityTransparencyStatusString); } string visibilityOverrideString = reader.GetAttribute(XmlKeywords.Attributes.VisibilityOverride); VisibilityOverride visibilityOverride = XmlKeywords.ParseVisibilityOverride(visibilityOverrideString); string platform = reader.GetAttribute(XmlKeywords.Attributes.Platform); string architecture = reader.GetAttribute(XmlKeywords.Attributes.Architecture); string flavor = reader.GetAttribute(XmlKeywords.Attributes.Flavor); string condition = reader.GetAttribute(XmlKeywords.Attributes.Condition); bool included = IncludeBuild(platform, architecture, flavor, condition); if (included) { CreateMemberElement(declaringType, memberName, returnType, memberType, includeStatus, visibilityOverride, securityTransparencyStatus); } } break; } } } }
public ThinMember(ThinType declaringType, ITypeDefinitionMember member, IncludeStatus includeStatus, VisibilityOverride visibility) { _declaringType = declaringType; _memberNode = member; _memberType = Util.TypeMemberType(member); _returnType = Util.GetConversionOperatorReturnType(member); _memberFullName = Util.GetMemberSignature(member, false); // Remove the trailing return type for conversion operators if (_returnType != null) { string suffix = " : " + _returnType; if (_memberFullName.EndsWith(suffix)) _memberFullName = _memberFullName.Substring(0, _memberFullName.Length - suffix.Length); } _includeStatus = includeStatus; _visibility = visibility; _securityTransparencyStatus = SecurityTransparencyStatus.Transparent; CheckVisibility(); }
abstract public MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus);
public override TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { CodeTypeElement type = new CodeTypeElement(includeStatus, visibilityOverride, securityTransparencyStatus, typeName); (assembly as CodeAssemblyElement).m_types.Add(typeName, type); return type; }
public override MemberElement CreateMemberElement(TypeElement type, string memberName, string returnType, MemberTypes memberType, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus) { // Identify the member by category (method/prop/field/event), name, and return type. These // strings are what matched by ModelSigFormatter string memberSig = memberType.ToString() + " : " + memberName; if (returnType != null) { memberSig = memberSig + " : " + returnType; } CodeMemberElement member = new CodeMemberElement(includeStatus, visibilityOverride, securityTransparencyStatus, memberSig, returnType, memberType, memberName); (type as CodeTypeElement).m_members.Add(memberSig, member); return(member); }
abstract public TypeElement CreateTypeElement(AssemblyElement assembly, string typeName, IncludeStatus includeStatus, VisibilityOverride visibilityOverride, SecurityTransparencyStatus securityTransparencyStatus);