public FSharpCompiledModule()

in ReSharper.FSharp/src/FSharp/FSharp.Psi/src/Impl/Cache2/Compiled/FSharpCompiledModule.cs [29:89]


    public FSharpCompiledModule([NotNull] FSharpCompiledTypeRepresentation.Module repr,
      [NotNull] FSharpMetadataEntity entity, [NotNull] ICompiledEntity parent,
      [NotNull] IReflectionBuilder builder, [NotNull] IMetadataTypeInfo info) : base(entity, parent, builder, info)
    {
      AccessKind = GetModuleMembersAccessKind(info);

      var valueNames = new LocalList<string>();
      var functionNames = new LocalList<string>();
      var literalNames = new LocalList<string>();
      var activePatternNames = new LocalList<string>();
      var activePatternCaseNames = new LocalList<string>();

      var extensionMemberInfos = new LocalList<ICompiledExtensionMemberProxy>();

      foreach (var value in repr.values)
      {
        if (value.IsExtensionMember)
        {
          extensionMemberInfos.Add(new FSharpCompiledExtensionMemberInfo(value, this));
        }
        // ApparentEnclosingTypeReference is set for every member, even for members coming from types inside the module
        else if (value.IsPublic && value.ApparentEnclosingTypeReference == null)
        {
          var name = value.LogicalName;
          if (!name.IsEmpty() && !PrettyNaming.IsIdentifierFirstCharacter(name[0]))
          {
            // todo: operators
            if (!PrettyNaming.IsActivePatternName(name)) continue;

            activePatternNames.Add(name);
            foreach (var activePatternCaseName in name.Split('|'))
            {
              if (!activePatternCaseName.IsEmpty() && activePatternCaseName != "_")
                activePatternCaseNames.Add(activePatternCaseName);
            }
          }
          else
          {
            if (value.IsFunction)
            {
              functionNames.Add(name);
            }
            else
            {
              if (value.IsLiteral)
                literalNames.Add(name);
              else
                valueNames.Add(name);
            }
          }
        }
      }

      myExtensionMemberInfos = extensionMemberInfos.ToArray();

      ValueNames = valueNames.ToArray();
      FunctionNames = functionNames.ToArray();
      LiteralNames = literalNames.ToArray();
      ActivePatternNames = activePatternNames.ToArray();
      ActivePatternCaseNames = activePatternCaseNames.ToArray();
    }