setNullable( nullable );
//
// Get the base type, and add "[]" to it for arrays.
//
TypeInstance baseType = CompilerUtils.getReferenceType( annotation, TYPE_ATTR, true );
StringBuffer arrayDimensions = new StringBuffer();
while ( baseType instanceof ArrayType )
{
arrayDimensions.append( ARRAY_TYPE_SUFFIX );
baseType = ( ( ArrayType ) baseType ).getComponentType();
}
String baseTypeName;
if ( baseType instanceof PrimitiveType )
{
baseTypeName = ( ( PrimitiveType ) baseType ).getKind().toString().toLowerCase();
}
else
{
assert baseType instanceof DeclaredType : baseType.getClass().getName(); // checker should enforce this
baseTypeName = CompilerUtils.getLoadableName( ( DeclaredType ) baseType );
}
setType( baseTypeName + arrayDimensions.toString() );
}