@@ -20,27 +20,21 @@ convert(::Type{Ptr{Uint8}}, s::ByteString) = convert(Ptr{Uint8}, s.data)
20
20
21
21
pointer {T} (:: Type{T} , x:: Uint ) = convert (Ptr{T}, x)
22
22
pointer {T} (:: Type{T} , x:: Ptr ) = convert (Ptr{T}, x)
23
- pointer (:: Type{Any} , x:: Uint ) = convert (Ptr{Ptr{Any}}, x)
24
- pointer (:: Type{Any} , x:: Ptr ) = convert (Ptr{Ptr{Any}}, x)
25
23
# note: these definitions don't mean any AbstractArray is convertible to
26
24
# pointer. they just map the array element type to the pointer type for
27
25
# convenience in cases that work.
28
26
pointer {T} (x:: AbstractArray{T} ) = convert (Ptr{T},x)
29
- pointer (x:: AbstractArray{Any} ) = convert (Ptr{Ptr{Any}},x)
30
27
pointer {T} (x:: AbstractArray{T} , i:: Int ) = convert (Ptr{T},x) + (i- 1 )* sizeof (T)
31
- pointer {T} (x:: AbstractArray{Any} , i:: Int ) = convert (Ptr{Ptr{Any}},x) + (i- 1 )* sizeof (T)
32
28
33
29
# unsafe pointer to array conversions
34
30
pointer_to_array (p, dims) = pointer_to_array (p, dims, false )
35
31
function pointer_to_array {T,N} (p:: Ptr{T} , dims:: NTuple{N,Int} , own:: Bool )
36
32
ccall (:jl_ptr_to_array , Array{T,N}, (Any, Ptr{T}, Any, Int32),
37
33
Array{T,N}, p, dims, own)
38
34
end
39
- unsafe_ref (p:: Ptr , i:: Integer ) = pointerref (p, int (i))
40
- unsafe_ref (p:: Ptr{Ptr{Any}} , i:: Integer ) = pointerref (pointerref (p, int (i)), 1 )
35
+ unsafe_ref (p:: Ptr ,i:: Integer ) = pointerref (p, int (i))
41
36
unsafe_ref (p:: Ptr ) = unsafe_ref (p, 1 )
42
- unsafe_assign (p:: Ptr{Any} , x, i:: Integer ) = error (" cannot unsafe_assign to contents of type Any" )
43
- unsafe_assign (p:: Ptr{Ptr{Any}} , x:: ANY , i:: Integer ) = pointerset (convert (Ptr{Any},p), x, int (i))
37
+ unsafe_assign (p:: Ptr{Any} , x:: ANY , i:: Integer ) = pointerset (p, x, int (i))
44
38
unsafe_assign {T} (p:: Ptr{T} , x, i:: Integer ) = pointerset (p, convert (T, x), int (i))
45
39
unsafe_assign {T} (p:: Ptr{T} , x) = unsafe_assign (p, convert (T,x), 1 )
46
40
0 commit comments