public static INamedTypeSymbol GetTypeMember( this INamespaceOrTypeSymbol symbol, string name ) { return(symbol.GetTypeMembers(name).Single()); }
private IEnumerable <INamedTypeSymbol> Resolve( Compilation compilation, INamespaceOrTypeSymbol container, bool ignoreAssemblyKey) { var types = container.GetTypeMembers(GetName(_metadataName), _arity); var result = InstantiateTypes(compilation, ignoreAssemblyKey, types, _arity, _typeArgumentKeysOpt); return(_isUnboundGenericType ? result.Select(t => t.ConstructUnboundGenericType()) : result); }
private bool ContainsAccessibleTypeMember(INamespaceOrTypeSymbol namespaceOrTypeSymbol, IAssemblySymbol assemblySymbol) { foreach (var typeMember in namespaceOrTypeSymbol.GetTypeMembers()) { if (IncludeSymbol(typeMember) && typeMember.IsAccessibleWithin(assemblySymbol)) { return(true); } } return(false); }
private ImmutableArray <INamedTypeSymbol> GetAccessibleTypeMembers(INamespaceOrTypeSymbol namespaceOrTypeSymbol, IAssemblySymbol assemblySymbol) { var typeMembers = namespaceOrTypeSymbol.GetTypeMembers(); var builder = ImmutableArray.CreateBuilder <INamedTypeSymbol>(typeMembers.Length); foreach (var typeMember in typeMembers) { if (IncludeTypeMember(typeMember, assemblySymbol)) { builder.Add(typeMember); } } return(builder.ToImmutable()); }
private static IEnumerable <INamedTypeSymbol> Resolve( SymbolKeyReader reader, INamespaceOrTypeSymbol container, string metadataName, int arity, TypeKind typeKind, bool isUnboundGenericType, ImmutableArray <SymbolKeyResolution> typeArguments) { var types = container.GetTypeMembers(GetName(metadataName), arity); var result = InstantiateTypes( reader.Compilation, reader.IgnoreAssemblyKey, types, arity, typeArguments); return(isUnboundGenericType ? result.Select(t => t.ConstructUnboundGenericType()) : result); }
private static IEnumerable<INamedTypeSymbol> Resolve( SymbolKeyReader reader, INamespaceOrTypeSymbol container, string metadataName, int arity, TypeKind typeKind, bool isUnboundGenericType, ImmutableArray<SymbolKeyResolution> typeArguments) { var types = container.GetTypeMembers(GetName(metadataName), arity); var result = InstantiateTypes( reader.Compilation, reader.IgnoreAssemblyKey, types, arity, typeArguments); return isUnboundGenericType ? result.Select(t => t.ConstructUnboundGenericType()) : result; }
private IEnumerable <ClassDeclarationSyntax> CreateNamedTypeDeclaration(INamespaceOrTypeSymbol namepace) { return(namepace.GetTypeMembers() .Where(val => val.Kind == SymbolKind.NamedType && (val.Name == ScriptHostName || val.GetAttributes().Any(x => x.AttributeClass.Name == CakeAliasCategoryName))) .Select(val => _metadataGeneratorService.CreateNamedTypeDeclaration(val))); }
public static IEnumerable <ITypeSymbol> EnumAllNestedTypes(this INamespaceOrTypeSymbol source) { return(source.GetTypeMembers().SelectMany(nestedType => EnumAllNestedTypes(nestedType))); }
private IEnumerable<INamedTypeSymbol> GetAllTypes(INamespaceOrTypeSymbol namespaceOrTypeSymbol) { foreach (var typeMember in namespaceOrTypeSymbol.GetTypeMembers()) { foreach (var childType in GetAllTypes(typeMember)) yield return childType; yield return typeMember; } INamespaceSymbol namespaceSymbol = namespaceOrTypeSymbol as INamespaceSymbol; if (namespaceSymbol != null) { foreach (var childNamespace in namespaceSymbol.GetNamespaceMembers()) { foreach (var childType in GetAllTypes(childNamespace)) yield return childType; } } }
public static IEnumerable <INamedTypeSymbol> Types(this INamespaceOrTypeSymbol symbol, string name) => symbol.GetTypeMembers().Where(member => member.Name == name);