public string GenTooltipSignature(AbstractType t, bool templateParamCompletion = false, int currentMethodParam = -1) { var ds = t as DSymbol; if (ds != null) { if (currentMethodParam >= 0 && !templateParamCompletion && ds.Definition is DVariable && ds.Base != null) { return(GenTooltipSignature(ds.Base, false, currentMethodParam)); } var aliasedSymbol = ds.Tag as D_Parser.Resolver.TypeResolution.TypeDeclarationResolver.AliasTag; return(GenTooltipSignature(aliasedSymbol == null || currentMethodParam >= 0 ? ds.Definition : aliasedSymbol.aliasDefinition, templateParamCompletion, currentMethodParam, DTypeToTypeDeclVisitor.GenerateTypeDecl(ds.Base), ds.DeducedTypes != null ? new DeducedTypeDictionary(ds) : null)); } if (t is PackageSymbol) { var pack = (t as PackageSymbol).Package; return("<i>(Package)</i> " + pack.ToString()); } if (t is DelegateType) { var dt = t as DelegateType; //TODO } return(DCodeToMarkup(t != null ? t.ToCode(true) : "null")); }