Exemple #1
0
        // remove static methods (T.ReferenceEquals() is not possible)
        public override List <IMethod> GetMethods()
        {
            List <IMethod> list = base.GetMethods();

            if (list != null)
            {
                list.RemoveAll(delegate(IMethod m) { return(m.IsStatic || m.IsConstructor); });
                if (typeParameter.HasConstructableConstraint || typeParameter.HasValueTypeConstraint)
                {
                    list.Add(new Constructor(ModifierEnum.Public, this,
                                             DefaultTypeParameter.GetDummyClassForTypeParameter(typeParameter)));
                }
            }
            return(list);
        }
        public override bool Equals(object obj)
        {
            DefaultTypeParameter tp = obj as DefaultTypeParameter;

            if (tp == null)
            {
                return(false);
            }
            if (tp.index != index)
            {
                return(false);
            }
            if (tp.name != name)
            {
                return(false);
            }
            if (tp.hasConstructableConstraint != hasConstructableConstraint)
            {
                return(false);
            }
            if (tp.hasReferenceTypeConstraint != hasReferenceTypeConstraint)
            {
                return(false);
            }
            if (tp.hasValueTypeConstraint != hasValueTypeConstraint)
            {
                return(false);
            }
            if (tp.method != method)
            {
                if (tp.method == null || method == null)
                {
                    return(false);
                }
                if (tp.method.FullyQualifiedName != method.FullyQualifiedName)
                {
                    return(false);
                }
            }
            else
            {
                if (tp.targetClass.FullyQualifiedName != targetClass.FullyQualifiedName)
                {
                    return(false);
                }
            }
            return(true);
        }
 static void AddTypeParametersForCtrlSpace(List <ICompletionEntry> result, IEnumerable <ITypeParameter> typeParameters)
 {
     foreach (ITypeParameter p in typeParameters)
     {
         DefaultClass c = DefaultTypeParameter.GetDummyClassForTypeParameter(p);
         if (p.Method != null)
         {
             c.Documentation = "Type parameter of " + p.Method.Name;
         }
         else
         {
             c.Documentation = "Type parameter of " + p.Class.Name;
         }
         result.Add(c);
     }
 }