private static CodeEntityDetails CreateCodeEntity(string name, string @namespace, string signature, PackageVersionPair package, string originalDefinition, CodeEntityType codeEntityType, UstNode ustNode) { return(new CodeEntityDetails { Name = name, Namespace = @namespace ?? string.Empty, Signature = signature, OriginalDefinition = originalDefinition, CodeEntityType = codeEntityType, TextSpan = new TextSpan { StartCharPosition = ustNode.TextSpan?.StartCharPosition, EndCharPosition = ustNode.TextSpan?.EndCharPosition, StartLinePosition = ustNode.TextSpan?.StartLinePosition, EndLinePosition = ustNode.TextSpan?.EndLinePosition }, // If we found an matching sdk assembly, assume the code is using the sdk. Package = package ?? new PackageVersionPair() { PackageId = "", Version = "" } }); }
private static CodeEntityDetails CreateCodeEntityDetails( string name, string @namespace, string signature, string originalDefinition, CodeEntityType codeEntityType, UstNode ustNode, Reference reference, ExternalReferences externalReferences) { var package = GetPackageVersionPair(reference, externalReferences, @namespace); if (package == null) { //If any of these values are populated, this is an internal reference. If they are all null, this is a code entity with no references if (reference?.Assembly != null || reference?.Namespace != null || reference?.AssemblySymbol != null || reference?.Version != null || reference?.AssemblyLocation != null || !string.IsNullOrEmpty(@namespace)) { return(null); } } // Otherwise return the code entity return(CreateCodeEntity(name, @namespace, signature, package, originalDefinition, codeEntityType, ustNode)); }
public CodeEntityCompatibilityResult(CodeEntityType codeEntityType) { CodeEntityType = codeEntityType; }