* Process type params (if any) for given class, enum or method.
* @param aAST class, enum or method to process.
*/
private void processTypeParams(DetailAST aAST)
{
final DetailAST typeParams =
aAST.findFirstToken(TokenTypes.TYPE_PARAMETERS);
final Map<String, ClassInfo> paramsMap = Maps.newHashMap();
mTypeParams.push(paramsMap);
if (typeParams == null) {
return;
}
for (DetailAST child = (DetailAST) typeParams.getFirstChild();
child != null;
child = (DetailAST) child.getNextSibling())
{
if (child.getType() == TokenTypes.TYPE_PARAMETER) {
final DetailAST param = child;
final String alias =
param.findFirstToken(TokenTypes.IDENT).getText();
final DetailAST bounds =
param.findFirstToken(TokenTypes.TYPE_UPPER_BOUNDS);
if (bounds != null) {
final FullIdent name =
FullIdent.createFullIdentBelow(bounds);
final ClassInfo ci =