public static string GetScriptName(ICustomAttributeProvider attributeProvider, out bool preserveName, out bool preserveCase) { string name = null; preserveName = false; preserveCase = false; CustomAttribute nameAttribute = GetAttribute(attributeProvider, "System.ScriptNameAttribute"); if (nameAttribute != null) { if (nameAttribute.HasConstructorArguments) { name = GetAttributeArgument(nameAttribute); } if (nameAttribute.HasProperties) { for (int i = 0; i < nameAttribute.Properties.Count; i++) { if (String.CompareOrdinal(nameAttribute.Properties[i].Name, "PreserveName") == 0) { preserveName = (bool)nameAttribute.Properties[i].Argument.Value; } else { preserveCase = (bool)nameAttribute.Properties[i].Argument.Value; } } } } return(name); }
public static string GetScriptNamespace(ICustomAttributeProvider attributeProvider) { CustomAttribute scriptNamespaceAttribute = GetAttribute(attributeProvider, "System.Runtime.CompilerServices.ScriptNamespaceAttribute"); if (scriptNamespaceAttribute != null) { return GetAttributeArgument(scriptNamespaceAttribute); } return null; }
private static CustomAttribute GetAttribute(ICustomAttributeProvider attributeProvider, string attributeTypeName) { foreach (CustomAttribute attribute in attributeProvider.CustomAttributes) { if (String.CompareOrdinal(attribute.Constructor.DeclaringType.FullName, attributeTypeName) == 0) { return attribute; } } return null; }
public static string GetScriptNamespace(ICustomAttributeProvider attributeProvider) { CustomAttribute scriptNamespaceAttribute = GetAttribute(attributeProvider, "System.Runtime.CompilerServices.ScriptNamespaceAttribute"); if (scriptNamespaceAttribute != null) { return(GetAttributeArgument(scriptNamespaceAttribute)); } return(null); }
private static CustomAttribute GetAttribute(ICustomAttributeProvider attributeProvider, string attributeTypeName) { foreach (CustomAttribute attribute in attributeProvider.CustomAttributes) { if (String.CompareOrdinal(attribute.Constructor.DeclaringType.FullName, attributeTypeName) == 0) { return(attribute); } } return(null); }
public static string GetScriptDependencyName(ICustomAttributeProvider attributeProvider, out string dependencyIdentifier) { dependencyIdentifier = null; CustomAttribute scriptDependencyAttribute = GetAttribute(attributeProvider, "System.Runtime.CompilerServices.ScriptDependencyAttribute"); if (scriptDependencyAttribute != null) { string name = GetAttributeArgument(scriptDependencyAttribute); if (scriptDependencyAttribute.Properties.Count != 0) { dependencyIdentifier = (string)scriptDependencyAttribute.Properties[0].Argument.Value; } return(name); } return(null); }
public static string GetScriptAssemblyName(ICustomAttributeProvider attributeProvider, out string assemblyIdentifier) { assemblyIdentifier = null; CustomAttribute scriptAssemblyAttribute = GetAttribute(attributeProvider, "System.ScriptAssemblyAttribute"); if (scriptAssemblyAttribute != null) { string name = GetAttributeArgument(scriptAssemblyAttribute); if (scriptAssemblyAttribute.Properties.Count != 0) { assemblyIdentifier = (string)scriptAssemblyAttribute.Properties[0].Argument.Value; } return(name); } return(null); }
public static bool ShouldSkipFromScript(ICustomAttributeProvider attributeProvider) { return GetAttribute(attributeProvider, "System.Runtime.CompilerServices.ScriptSkipAttribute") != null; }
public static bool ShouldPreserveCase(ICustomAttributeProvider attributeProvider) { return GetAttribute(attributeProvider, "System.Runtime.CompilerServices.PreserveCaseAttribute") != null; }
private void ImportMemberDetails(MemberSymbol memberSymbol, MethodDefinition methodDefinition, ICustomAttributeProvider attributeProvider) { if (methodDefinition != null) { MemberVisibility visibility = MemberVisibility.PrivateInstance; if (methodDefinition.IsStatic) { visibility |= MemberVisibility.Static; } if (methodDefinition.IsPublic) { visibility |= MemberVisibility.Public; } else if (methodDefinition.IsFamily || methodDefinition.IsFamilyOrAssembly) { visibility |= MemberVisibility.Protected; } memberSymbol.SetVisibility(visibility); } bool preserveName; bool preserveCase; string scriptName = MetadataHelpers.GetScriptName(attributeProvider, out preserveName, out preserveCase); memberSymbol.SetNameCasing(preserveCase); if (scriptName != null) { memberSymbol.SetTransformedName(scriptName); } // PreserveName is ignored - it only is used for internal members, which are not imported. }
private void ImportMemberDetails(MemberSymbol memberSymbol, MethodDefinition methodDefinition, ICustomAttributeProvider attributeProvider) { if (methodDefinition != null) { MemberVisibility visibility = MemberVisibility.PrivateInstance; if (methodDefinition.IsStatic) { visibility |= MemberVisibility.Static; } if (methodDefinition.IsPublic) { visibility |= MemberVisibility.Public; } else if (methodDefinition.IsFamily || methodDefinition.IsFamilyOrAssembly) { visibility |= MemberVisibility.Protected; } memberSymbol.SetVisibility(visibility); } memberSymbol.SetNameCasing(MetadataHelpers.ShouldPreserveCase(attributeProvider)); string scriptName = MetadataHelpers.GetScriptName(attributeProvider); if (scriptName != null) { memberSymbol.SetTransformedName(scriptName); } }
public static bool ShouldSkipFromScript(ICustomAttributeProvider attributeProvider) { return(GetAttribute(attributeProvider, "System.Runtime.CompilerServices.ScriptSkipAttribute") != null); }
public static bool ShouldPreserveCase(ICustomAttributeProvider attributeProvider) { return(GetAttribute(attributeProvider, "System.Runtime.CompilerServices.PreserveCaseAttribute") != null); }