// 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); } }