コード例 #1
0
    public static AssemblyEntry Create(IAssemblySymbol assembly)
    {
        var identity                = assembly.Identity;
        var platformSupportEntry    = PlatformSupportEntry.Create(assembly.Modules.First()) ?? PlatformSupportEntry.Create(assembly);
        var previewRequirementEntry = PreviewRequirementEntry.Create(assembly.Modules.First()) ?? PreviewRequirementEntry.Create(assembly);
        var apis = GetApis(assembly);

        return(new AssemblyEntry(identity, platformSupportEntry, previewRequirementEntry, apis));
    }
コード例 #2
0
 private AssemblyEntry(AssemblyIdentity identity,
                       PlatformSupportEntry platformSupportEntry,
                       PreviewRequirementEntry previewRequirementEntry,
                       List <ApiEntry> apis)
 {
     Fingerprint             = ComputeFingerprint(identity, apis);
     Identity                = identity;
     PlatformSupportEntry    = platformSupportEntry;
     PreviewRequirementEntry = previewRequirementEntry;
     Apis = apis;
 }
コード例 #3
0
ファイル: ApiEntry.cs プロジェクト: terrajobst/apisof.net
    public static ApiEntry Create(ISymbol symbol, ApiEntry parent = null)
    {
        var guid                    = symbol.GetCatalogGuid();
        var kind                    = symbol.GetApiKind();
        var name                    = symbol.GetCatalogName();
        var syntax                  = symbol.GetCatalogSyntaxMarkup();
        var obsoletionEntry         = ObsoletionEntry.Create(symbol);
        var platformSupportEntry    = PlatformSupportEntry.Create(symbol);
        var previewRequirementEntry = PreviewRequirementEntry.Create(symbol);

        return(new ApiEntry(guid, kind, parent, name, syntax, obsoletionEntry, platformSupportEntry, previewRequirementEntry));
    }
コード例 #4
0
ファイル: ApiEntry.cs プロジェクト: dotnet/upgrade-assistant
    public static ApiEntry Create(ISymbol symbol, ApiEntry?parent = null)
    {
        ArgumentNullException.ThrowIfNull(symbol);

        var guid                    = symbol.GetCatalogGuid();
        var kind                    = symbol.GetApiKind();
        var name                    = symbol.GetCatalogName();
        var obsoletionEntry         = ObsoletionEntry.Create(symbol);
        var platformSupportEntry    = PlatformSupportEntry.Create(symbol);
        var previewRequirementEntry = PreviewRequirementEntry.Create(symbol);

        return(new ApiEntry(guid, kind, parent, name, null, obsoletionEntry, platformSupportEntry, previewRequirementEntry));
    }
コード例 #5
0
    private static void AddPreviewRequirement(XContainer parent, PreviewRequirementEntry previewRequirement, string?apiFingerprint = null)
    {
        var previewRequirementElement = new XElement("previewRequirement",
                                                     apiFingerprint is null ? null : new XAttribute("id", apiFingerprint));

        if (previewRequirement.Message is not null)
        {
            previewRequirementElement.Add(new XAttribute("message", previewRequirement.Message));
        }

        if (previewRequirement.Url is not null)
        {
            previewRequirementElement.Add(new XAttribute("url", previewRequirement.Url));
        }

        parent.Add(previewRequirementElement);
    }
コード例 #6
0
ファイル: ApiEntry.cs プロジェクト: terrajobst/apisof.net
 private ApiEntry(Guid guid,
                  ApiKind kind,
                  ApiEntry parent,
                  string name,
                  string syntax,
                  ObsoletionEntry obsoletionEntry,
                  PlatformSupportEntry platformSupportEntry,
                  PreviewRequirementEntry previewRequirementEntry)
 {
     Fingerprint             = guid;
     Kind                    = kind;
     Parent                  = parent;
     Name                    = name;
     Syntax                  = syntax;
     ObsoletionEntry         = obsoletionEntry;
     PlatformSupportEntry    = platformSupportEntry;
     PreviewRequirementEntry = previewRequirementEntry;
 }