Example #1
0
    public void GetTypesOnlyCompletionData(Dictionary <string, SymbolDefinition> data, AccessLevelMask mask, SD_Assembly assembly)
    {
        if ((mask & AccessLevelMask.Public) != 0)
        {
            if (assembly.InternalsVisibleIn(this.Assembly))
            {
                mask |= AccessLevelMask.Internal;
            }
            else
            {
                mask &= ~AccessLevelMask.Internal;
            }
        }

        foreach (var m in members)
        {
            if (m.kind == SymbolKind.Namespace)
            {
                continue;
            }

            if (m.kind != SymbolKind.MethodGroup)
            {
                if (m.IsAccessible(mask) && !data.ContainsKey(m.ReflectionName))
                {
                    data.Add(m.ReflectionName, m);
                }
            }
        }

        var assemblyDefinition = Assembly;

        if (assemblyDefinition != null)
        {
            assemblyDefinition.GetTypesOnlyCompletionDataFromReferencedAssemblies(data, this);
        }
    }