Beispiel #1
0
 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 = ""
         }
     });
 }
Beispiel #2
0
        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));
        }
Beispiel #3
0
 public CodeEntityCompatibilityResult(CodeEntityType codeEntityType)
 {
     CodeEntityType = codeEntityType;
 }