Example #1
0
 /// <summary>
 /// Resolve all generic parameters in the given type in the given context.
 /// </summary>
 internal static bool TryResolve(NetTypeReference type, INetGenericParameterProvider context, TypeNameMap typeNameMap, out NetTypeReference result)
 {
     result = null;
     if (type == null)
     {
         return(false);
     }
     if (context == null)
     {
         throw new ArgumentNullException("context");
     }
     result = type.Accept(new Resolver(context, typeNameMap), 0);
     return(result != null);
 }
Example #2
0
        /// <summary>
        /// Resolve all generic parameters in the given type in the given context.
        /// </summary>
        internal static NetTypeReference Resolve(NetTypeReference type, INetGenericParameterProvider context, TypeNameMap typeNameMap)
        {
            if (type == null)
            {
                return(null);
            }
            NetTypeReference result;

            if (!TryResolve(type, context, typeNameMap, out result))
            {
                throw new ArgumentException(string.Format("Cannot resolve {0} in context of {1}", type, context));
            }
            return(result);
        }
 public ResolveData(NetTypeImplementationBuilder builder, IGenericContext genericContext, INetGenericParameterProvider genericParameterProvider)
 {
     Builder                  = builder;
     GenericContext           = genericContext;
     GenericParameterProvider = genericParameterProvider;
 }
 /// <summary>
 /// Resolve the given type to a NetTypeReference.
 /// </summary>
 private NetTypeReference Resolve(TypeReference type, IGenericContext context, INetGenericParameterProvider provider)
 {
     return(type.Accept(ResolveVisitor.Instance, new ResolveData(this, context, provider)));
 }
Example #5
0
 /// <summary>
 /// Default ctor
 /// </summary>
 public Resolver(INetGenericParameterProvider context, TypeNameMap typeNameMap)
 {
     this.context     = context;
     this.typeNameMap = typeNameMap;
 }
Example #6
0
 /// <summary>
 /// Default ctor
 /// </summary>
 public NetGenericParameter(string name, string originalName, INetGenericParameterProvider owner)
 {
     Name = name;
     this.originalName = originalName;
     this.owner        = owner;
 }