public <T> Type<T[]> getArrayType(final Type<T> elementType) { Type<T[]> arrayType = (Type<T[]>) _arrayMap.get(elementType); if (arrayType != null) { return arrayType; } arrayType = elementType.createArrayType(); add(arrayType); return arrayType; }
public <T> Type<T[]> getArrayType(final Type<T> elementType) { Type<T[]> arrayType = (Type<T[]>)_arrayMap.get(elementType); if (arrayType != null) { return arrayType; } arrayType = new ArrayType<>(elementType); add(arrayType); return arrayType; }
public <T> Type<T[]> getArrayType(final Type<T> elementType) { Type<T[]> arrayType = (Type<T[]>)_arrayMap.get(elementType); if (arrayType != null) { return arrayType; } arrayType = new ArrayType<>(elementType); add(arrayType); return arrayType; }
Type<?> resolveType(final java.lang.reflect.Type t) { final Type<?> result = resolveTypeCore(t); /* if (result != null && result.isGenericType()) { if (t instanceof Class<?> && ArrayUtilities.isNullOrEmpty(((Class)t).getTypeParameters())) { return result.getErasedType(); } } */ if (result != null) { _elementTypeMap.put(t, result); Type.CACHE.add(result); } return result; }
Type<?> resolveType(final java.lang.reflect.Type t) { final Type<?> result = resolveTypeCore(t); /* if (result != null && result.isGenericType()) { if (t instanceof Class<?> && ArrayUtilities.isNullOrEmpty(((Class)t).getTypeParameters())) { return result.getErasedType(); } } */ if (result != null) { _elementTypeMap.put(t, result); Type.CACHE.add(result); } return result; }
Type<?> resolveType(final java.lang.reflect.Type t) { final Type<?> result = resolveTypeCore(t); /* if (result != null && result.isGenericType()) { if (t instanceof Class<?> && ArrayUtilities.isNullOrEmpty(((Class)t).getTypeParameters())) { return result.getErasedType(); } } */ if (result != null) { _elementTypeMap.put(t, result); Type.CACHE.add(result); } return result; }
Type.CACHE.add(currentType);
Type.CACHE.add(currentType);
Type.CACHE.add(currentType);
@Override public Type<?> visitClassType(final Type<?> type, final TypeBindings bindings) { if (bindings.containsGenericParameter(type)) { return bindings.getBoundType(type); } final TypeBindings oldTypeBindings = type.getTypeBindings(); final TypeBindings newTypeBindings = visitTypeBindings(oldTypeBindings, bindings); if (oldTypeBindings != newTypeBindings) { final Type<?> cachedType = Type.CACHE.find( Type.CACHE.key( type.getErasedClass(), newTypeBindings.getBoundTypes() ) ); if (cachedType != null) { return cachedType; } final GenericType genericType = new GenericType( type.getGenericTypeDefinition(), newTypeBindings ); Type.CACHE.add(genericType); return genericType; } return type; }
@Override public Type<?> visitClassType(final Type<?> type, final TypeBindings bindings) { if (bindings.containsGenericParameter(type)) { return bindings.getBoundType(type); } final TypeBindings oldTypeBindings = type.getTypeBindings(); final TypeBindings newTypeBindings = visitTypeBindings(oldTypeBindings, bindings); if (oldTypeBindings != newTypeBindings) { final Type<?> cachedType = Type.CACHE.find( Type.CACHE.key( type.getErasedClass(), newTypeBindings.getBoundTypes() ) ); if (cachedType != null) { return cachedType; } final GenericType genericType = new GenericType( type.getGenericTypeDefinition(), newTypeBindings ); Type.CACHE.add(genericType); return genericType; } return type; }