Skip to content

Commit ce93960

Browse files
committed
Remove WeakRefString dependency
1 parent a4d4e2a commit ce93960

File tree

5 files changed

+6
-14
lines changed

5 files changed

+6
-14
lines changed

REQUIRE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,4 @@ julia 0.6
22
Compat 0.17
33
DataValues
44
PooledArrays 0.0.2
5-
WeakRefStrings
65
DataStructures

src/csv.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,12 +75,12 @@ end
7575

7676
function csvread(file::IOStream, delim=','; kwargs...)
7777
mmap_data = Mmap.mmap(file)
78-
_csvread(WeakRefString(pointer(mmap_data), length(mmap_data)), delim; kwargs...)
78+
_csvread(String(mmap_data), delim; kwargs...)
7979
end
8080

8181
function csvread(buffer::IO, delim=','; kwargs...)
8282
mmap_data = read(buffer)
83-
_csvread(WeakRefString(pointer(mmap_data), length(mmap_data)), delim; kwargs...)
83+
_csvread(String(mmap_data), delim; kwargs...)
8484
end
8585

8686
function _csvread(str::AbstractString, delim=','; kwargs...)
@@ -90,7 +90,7 @@ end
9090
function _csvread_f(file::AbstractString, delim=','; kwargs...)
9191
open(file, "r") do io
9292
mmap_data = Mmap.mmap(io)
93-
_csvread_internal(WeakRefString(pointer(mmap_data), length(mmap_data)), delim; filename=file, kwargs...)
93+
_csvread_internal(String(mmap_data), delim; filename=file, kwargs...)
9494
end
9595
end
9696

src/field.jl

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -286,10 +286,6 @@ end
286286
StrRange(i-1, j-i+1)
287287
end
288288

289-
@inline function _substring(::Type{WeakRefString}, str, i, j)
290-
WeakRefString(_pointer(str, i), j-i+1)
291-
end
292-
293289
export Quoted
294290

295291
immutable Quoted{T, S<:AbstractToken} <: AbstractToken{T}
@@ -497,7 +493,7 @@ function tryparsenext{T}(na::NAToken{T}, str, i, len, opts)
497493
@label maybe_null
498494
naopts = LocalOpts(endchar(na,opts), opts.quotechar,
499495
opts.escapechar, false, opts.includenewlines)
500-
@chk2 nastr, ii = tryparsenext(StringToken(WeakRefString), str, i, len, naopts)
496+
@chk2 nastr, ii = tryparsenext(StringToken(String), str, i, len, naopts)
501497
if !isempty(searchsorted(na.nastrings, nastr))
502498
i=ii
503499
i = eatwhitespaces(str, i)

src/util.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,14 +157,13 @@ end
157157

158158

159159
# PooledArrays for string data
160-
using WeakRefStrings
161160
using PooledArrays
162161

163-
_pointer(x::WeakRefString, n) = x.ptr + n - 1
164162
_pointer(x::String, n) = pointer(x, n)
165163

166164
@inline function nonallocating_setindex!{T}(pa::PooledArray{T}, i, rng::StrRange, str::AbstractString)
167-
wstr = WeakRefString(_pointer(str, 1+rng.offset), rng.length)
165+
# wstr = WeakRefString(_pointer(str, 1+rng.offset), rng.length)
166+
wstr = str[(1:rng.length) + rng.offset] # so now it is allocating
168167
pool_idx = searchsortedfirst(pa.pool, wstr)
169168
if pool_idx > length(pa.pool) || pa.pool[pool_idx] != wstr
170169
# allocate only here.

test/runtests.jl

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,11 @@ end
4040

4141

4242
import TextParse: StringToken
43-
using WeakRefStrings
4443
@testset "String parsing" begin
4544

4645
# default options
4746
@test tryparsenext(StringToken(String), "") |> unwrap == ("", 1)
4847
x = "x"
49-
@test tryparsenext(StringToken(WeakRefString), WeakRefString(pointer(x), 1)) |> unwrap == ("x", 2)
5048
@test tryparsenext(StringToken(String), "x") |> unwrap == ("x", 2)
5149
@test tryparsenext(StringToken(String), "x ") |> unwrap == ("x ", 3)
5250
@test tryparsenext(StringToken(String), " x") |> unwrap == (" x", 3)

0 commit comments

Comments
 (0)