printSignature(tparams[i], user, false);
printSignature(tparams[i], false);
    public SymbolTablePrinter printTemplateSignature(Symbol symbol, Symbol user, boolean addLink) {        // kind	String keyword = getSymbolKeyword(symbol);        if (keyword != null) print(keyword).space();        String inner = getSymbolInnerString(symbol);	// name	printDefinedSymbolName(symbol, user, addLink);	if (symbol.isClass()) {	    // type parameters	    Symbol[] tparams = symbol.typeParams();	    if (tparams.length != 0 || global.debug) {		print('[');		for (int i = 0; i < tparams.length; i++) {		    if (i > 0) print(",");		    printSignature(tparams[i], user, false);		}		print(']');	    }	    // value parameters	    Symbol[] vparams = symbol.valueParams();	    print('(');	    for (int i = 0; i < vparams.length; i++) {		if (i > 0) print(", "); // vincent		if (vparams[i].isDefParameter()) print("def ");		htmlGenerator.defString(vparams[i], user, false);	    }	    print(')');	}	// parents// 	Type[] parts = symbol.moduleClass().parents();// 	if (parts.length != 0) space().print(inner).space();	    // 	printTypes(parts," with ");		return this;    }