예제 #1
0
 /// <summary>
 /// Constructor for CallGraphEdge objects.
 /// Strips position info from the given type parameter resolutions.
 /// </summary>
 internal CallGraphEdge(TypeParameterResolutions paramResolutions, Range referenceRange)
     : base(referenceRange)
 {
     // Remove position info from type parameter resolutions
     this.ParamResolutions = paramResolutions.ToImmutableDictionary(
         kvp => kvp.Key,
         kvp => StripPositionInfo.Apply(kvp.Value));
 }
예제 #2
0
        /// <summary>
        /// Constructor for ConcreteCallGraphNode objects.
        /// Strips position info from the given type parameter resolutions.
        /// </summary>
        public ConcreteCallGraphNode(QsQualifiedName callableName, QsSpecializationKind kind, TypeParameterResolutions paramResolutions) : base(callableName)
        {
            this.Kind = kind;

            // Remove position info from type parameter resolutions
            this.ParamResolutions = paramResolutions.ToImmutableDictionary(
                kvp => kvp.Key,
                kvp => StripPositionInfo.Apply(kvp.Value));
        }
 public override TypeParameterResolutions OnTypeParamResolutions(TypeParameterResolutions typeParams)
 {
     // We don't want to process the keys of type parameter resolutions
     return(typeParams.ToImmutableDictionary(kvp => kvp.Key, kvp => this.Types.OnType(kvp.Value)));
 }