/* * Copyright 2013. Guidewire Software, Inc. */ package gw.internal.gosu.parser; import gw.lang.reflect.java.IJavaClassParameterizedType; import gw.lang.reflect.java.IJavaClassType; import gw.lang.reflect.java.asm.AsmType; import gw.lang.reflect.java.asm.IAsmType; import gw.lang.reflect.module.IModule; import java.util.List; public class AsmParameterizedTypeJavaClassParameterizedType extends AsmTypeJavaClassType implements IJavaClassParameterizedType { public AsmParameterizedTypeJavaClassParameterizedType( IAsmType parameterizedType, IModule module ) { super(parameterizedType, module); } @Override public IJavaClassType[] getActualTypeArguments() { List<AsmType> rawTypes = getType().getTypeParameters(); IJavaClassType[] types = new IJavaClassType[rawTypes.size()]; for (int i = 0; i < rawTypes.size(); i++) { types[i] = AsmTypeJavaClassType.createType( rawTypes.get( i ), _module ); } return types; } @Override public IJavaClassType getConcreteType() { return AsmTypeJavaClassType.createType( getType().getRawType(), _module ); } @Override public String getSimpleName() { return getType().getSimpleName(); } }