From 2f0db6d3d0e286fa1ea94c9405de1c707306bdc3 Mon Sep 17 00:00:00 2001 From: Kristoffer Carlsson Date: Wed, 21 Feb 2018 21:15:42 +0100 Subject: [PATCH] add precompilation statements for Pkg3 --- stdlib/Pkg3/src/GraphType.jl | 6 +- stdlib/Pkg3/src/Operations.jl | 2 +- stdlib/Pkg3/src/Pkg3.jl | 5 + stdlib/Pkg3/src/precompile.jl | 272 ++++++++++++++++++++++++++++++++++ 4 files changed, 281 insertions(+), 4 deletions(-) create mode 100644 stdlib/Pkg3/src/precompile.jl diff --git a/stdlib/Pkg3/src/GraphType.jl b/stdlib/Pkg3/src/GraphType.jl index f04741ac2278c..c9cd85573b4d6 100644 --- a/stdlib/Pkg3/src/GraphType.jl +++ b/stdlib/Pkg3/src/GraphType.jl @@ -125,7 +125,7 @@ mutable struct GraphData versions::Dict{UUID,Set{VersionNumber}}, deps::Dict{UUID,Dict{VersionRange,Dict{String,UUID}}}, compat::Dict{UUID,Dict{VersionRange,Dict{String,VersionSpec}}}, - uuid_to_name::Dict{UUID,String}; + uuid_to_name::Dict{UUID,String}, verbose::Bool = false ) # generate pkgs @@ -246,7 +246,7 @@ mutable struct Graph compat::Dict{UUID,Dict{VersionRange,Dict{String,VersionSpec}}}, uuid_to_name::Dict{UUID,String}, reqs::Requires = Requires(), - fixed::Dict{UUID,Fixed} = Dict{UUID,Fixed}(uuid_julia=>Fixed(VERSION)); + fixed::Dict{UUID,Fixed} = Dict{UUID,Fixed}(uuid_julia=>Fixed(VERSION)), verbose::Bool = false ) @@ -254,7 +254,7 @@ mutable struct Graph extra_uuids ⊆ keys(versions) || error("unknown UUID found in reqs/fixed") # TODO? # Type assert below due to https://github.com/JuliaLang/julia/issues/25918 - data = GraphData(versions, deps, compat, uuid_to_name, verbose = verbose)::GraphData + data = GraphData(versions, deps, compat, uuid_to_name, verbose)::GraphData pkgs, np, spp, pdict, pvers, vdict, rlog = data.pkgs, data.np, data.spp, data.pdict, data.pvers, data.vdict, data.rlog local extended_deps diff --git a/stdlib/Pkg3/src/Operations.jl b/stdlib/Pkg3/src/Operations.jl index 0d54d2d63934e..2647630e61322 100644 --- a/stdlib/Pkg3/src/Operations.jl +++ b/stdlib/Pkg3/src/Operations.jl @@ -205,7 +205,7 @@ function deps_graph(ctx::Context, uuid_to_name::Dict{UUID,String}, reqs::Require uuid_to_name[UUID(info["uuid"])] = info["name"] end - return Graph(all_versions, all_deps, all_compat, uuid_to_name, reqs, fixed; verbose=ctx.graph_verbose) + return Graph(all_versions, all_deps, all_compat, uuid_to_name, reqs, fixed, #=verbose=# ctx.graph_verbose) end # Resolve a set of versions given package version specs diff --git a/stdlib/Pkg3/src/Pkg3.jl b/stdlib/Pkg3/src/Pkg3.jl index 4d6cede1dc8ee..c4a1d493d4565 100644 --- a/stdlib/Pkg3/src/Pkg3.jl +++ b/stdlib/Pkg3/src/Pkg3.jl @@ -38,4 +38,9 @@ function __init__() end end +using Pkg3.Types +using UUIDs +import LibGit2 +include("precompile.jl") + end # module diff --git a/stdlib/Pkg3/src/precompile.jl b/stdlib/Pkg3/src/precompile.jl new file mode 100644 index 0000000000000..47cabb52db818 --- /dev/null +++ b/stdlib/Pkg3/src/precompile.jl @@ -0,0 +1,272 @@ +precompile(Tuple{getfield(Base, Symbol("#kw##printstyled")), NamedTuple{(:bold, :color), Tuple{Bool, Symbol}}, typeof(Base.printstyled), Base.TTY,String}) +precompile(Tuple{typeof(Base.start), Tuple{Pkg3.Types.PackageSpec, Bool, String}}) +precompile(Tuple{typeof(Base.values), Base.Dict{String, String}}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{Base.UUID, Base.Dict{K, V} where V where K}, Base.Dict{String, Any}, Base.UUID}) +precompile(Tuple{typeof(Base.collect), Base.Generator{Base.ValueIterator{Base.Dict{String, String}}, Type{Base.UUID}}}) +precompile(Tuple{typeof(Base.mapfoldl), typeof(Base.identity), typeof(Base.union!), Base.Set{Base.UUID}, Tuple{Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}}) +precompile(Tuple{Type{NamedTuple{(:path,), Tuple{String}}}, Tuple{String}}) +precompile(Tuple{typeof(Base.getindex), Type{Any}, Type{Nothing}, Type{String}}) +precompile(Tuple{typeof(Base.map), Type{Base.UUID}, Base.ValueIterator{Base.Dict{String, Any}}}) +precompile(Tuple{typeof(Base.merge_types), Tuple{Symbol, Symbol, Symbol, Symbol}, Type{NamedTuple{(:bare, :checkout_branch, :remote_cb), Tuple{Int32, Base.Cstring, Ptr{Nothing}}}}, Type{NamedTuple{(:fetch_opts,), Tuple{LibGit2.FetchOptionsStruct}}}}) +precompile(Tuple{typeof(Base.isempty), Base.Dict{String, Base.UUID}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.GraphData, Symbol, Array{Array{Base.VersionNumber, 1}, 1}}) +precompile(Tuple{typeof(Base.get!), Base.Dict{Base.UUID, Array{String, 1}}, Base.UUID, Array{String, 1}}) +precompile(Tuple{typeof(Base.push!), Array{Union{Pkg3.Types.VersionRange, String, Pkg3.REPLMode.Command, Pkg3.REPLMode.Option}, 1}, String}) +precompile(Tuple{typeof(Base.collect_to_with_first!), Array{Base.UUID, 1}, Base.UUID, Base.Generator{Base.ValueIterator{Base.Dict{String, Any}}, Type{Base.UUID}}, Int64}) +precompile(Tuple{Type{Pkg3.Types.PackageSpec}, Base.SubString{String}, Pkg3.Types.VersionSpec}) +precompile(Tuple{typeof(Base.show_method_candidates), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, MethodError, Tuple{}}) +precompile(Tuple{Type{Pkg3.Display.VerInfo}, Nothing, String, Base.VersionNumber, Bool}) +precompile(Tuple{typeof(Base.collect), Base.Generator{Base.ValueIterator{Base.Dict{Any, Any}}, Type{Base.UUID}}}) +precompile(Tuple{Type{Pkg3.Pkg2.Reqs.Comment}, String}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{Base.VersionNumber, Base.SHA1}, Base.SHA1, Base.VersionNumber}) +precompile(Tuple{typeof(Base.map), Type{Base.UUID}, Base.ValueIterator{Base.Dict{Any, Any}}}) +precompile(Tuple{Type{NamedTuple{(:bare, :checkout_branch, :fetch_opts, :remote_cb), Tuple{Int32, Base.Cstring, LibGit2.FetchOptions, Ptr{Nothing}}}}, Tuple{Int32, Base.Cstring, LibGit2.FetchOptions, Ptr{Nothing}}}) +precompile(Tuple{Type{Expr}, Symbol, GlobalRef, String, Core.SSAValue, String, Core.SSAValue, String, Core.SlotNumber, String}) +precompile(Tuple{typeof(Base.arg_gen), Base.SubString{String}, Base.SubString{String}}) +precompile(Tuple{typeof(Base.start), Tuple{Nothing, String}}) +precompile(Tuple{typeof(Base.next), Tuple{Base.BitArray{1}}, Int64}) +precompile(Tuple{typeof(Base.length), Base.Dict{Base.UUID, Int64}}) +precompile(Tuple{Type{Pkg3.Types.VersionBound}, Int64, Int64}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.Graph, Symbol, Array{Int64, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Tuple{}}) +precompile(Tuple{typeof(Pkg3.TOML.insertpair), Pkg3.TOML.Parser{Base.IOStream}, Pkg3.TOML.Table, String, Array{String, 1}, Int64}) +precompile(Tuple{typeof(Base.in), String, Array{String, 1}}) +precompile(Tuple{typeof(Pkg3.TOML.SOME), Array{String, 1}}) +precompile(Tuple{typeof(Base.start), Base.Pair{String, Any}}) +precompile(Tuple{typeof(Base.union!), Base.Set{Base.UUID}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{typeof(Base.run), Base.Cmd, Tuple{Base.DevNullStream, Base.DevNullStream, Base.DevNullStream}}) +precompile(Tuple{Type{Pkg3.REPLMode.Command}, Pkg3.REPLMode.CommandKind, Base.SubString{String}}) +precompile(Tuple{typeof(Pkg3.Display.not_in_project), Base.Dict{String, Any}}) +precompile(Tuple{Type{Base.Generator{I, F} where F where I}, Type{Base.UUID}, Base.ValueIterator{Base.Dict{Any, Any}}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.Graph, Symbol, Array{Array{Int64, 1}, 1}}) +precompile(Tuple{typeof(Base.get!), Base.Dict{String, Any}, String, Array{Base.Dict{String, Any}, 1}}) +precompile(Tuple{typeof(Base.values), Base.Dict{String, Any}}) +precompile(Tuple{getfield(Base, Symbol("#kw##with_output_color")), NamedTuple{(:bold,), Tuple{Bool}}, typeof(Base.with_output_color), typeof(Base.print), Symbol, Base.IOStream, String}) +precompile(Tuple{Type{Base.Generator{I, F} where F where I}, Type{Base.UUID}, Base.ValueIterator{Base.Dict{String, String}}}) +precompile(Tuple{typeof(Pkg3.Display.print_diff), Base.TTY, Array{Pkg3.Display.DiffEntry, 1}}) +precompile(Tuple{typeof(Pkg3.Operations.install_archive), Array{String, 1}, Base.VersionNumber, String}) +precompile(Tuple{typeof(Base.start), Tuple{typeof(Base.getindex), Array{Any, 1}}}) +precompile(Tuple{typeof(Base.collect), Base.Generator{Array{Any, 1}, typeof(Pkg3.TOML.table2dict)}}) +precompile(Tuple{typeof(Base.isempty), Base.Dict{String, Any}}) +precompile(Tuple{Type{NamedTuple{(:env,), Tuple{Pkg3.Types.EnvCache}}}, Tuple{Pkg3.Types.EnvCache}}) +precompile(Tuple{typeof(Base.diff_names), Tuple{Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol}}) +precompile(Tuple{getfield(Core, Symbol("#kw#Type")), NamedTuple{(:bare, :checkout_branch, :fetch_opts, :remote_cb), Tuple{Int32, Base.Cstring, LibGit2.FetchOptions, Ptr{Nothing}}}, Type{LibGit2.CloneOptions}}) +precompile(Tuple{typeof(Base.getproperty), Pkg3.Pkg2.Pkg2Types.VersionSet, Symbol}) +precompile(Tuple{typeof(Pkg3.API.rm), String}) +precompile(Tuple{Type{NamedTuple{(:callbacks,), Tuple{LibGit2.RemoteCallbacks}}}, Tuple{LibGit2.RemoteCallbacks}}) +precompile(Tuple{typeof(Base.show), Base.GenericIOBuffer{Array{UInt8, 1}}, TypeVar}) +precompile(Tuple{getfield(LibGit2, Symbol("#kw##clone")), NamedTuple{(:branch,), Tuple{String}}, typeof(LibGit2.clone), String, String}) +precompile(Tuple{typeof(Base.promote_eltype), Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID,Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{Type{Base.Pair{A, B} where B where A}, Base.UUID, Pkg3.Types.VersionSpec}) +precompile(Tuple{typeof(Base.haskey), Base.Dict{String, Pkg3.Types.VersionSpec}, String}) +precompile(Tuple{typeof(Base.start), Array{Base.UUID, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Type{Union{}}}) +precompile(Tuple{typeof(Base.next), Base.Channel{Any}, Base.ChannelIterState{Any}}) +precompile(Tuple{typeof(Base.merge_names), Tuple{Symbol, Symbol, Symbol}, Tuple{Symbol}}) +precompile(Tuple{typeof(Base.getindex), Base.Dict{Any, Any}, Char}) +precompile(Tuple{typeof(Base.next), Array{Base.Dict{String, Any}, 1}, Int64}) +precompile(Tuple{Type{Base.Pair{A, B} where B where A}, Symbol, TypeVar}) +precompile(Tuple{Type{Pkg3.Types.PackageSpec}, Base.SubString{String}}) +precompile(Tuple{typeof(Base.diff_names), Tuple{Symbol, Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Type{Base.LinRange{T} where T}}) +precompile(Tuple{typeof(Base.promote_eltype), Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID,Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{getfield(Core, Symbol("#kw#Type")), NamedTuple{(:prompt_prefix, :prompt_suffix, :sticky), Tuple{String, String, Bool}}, Type{REPL.LineEdit.Prompt}, String}) +precompile(Tuple{getfield(Pkg3.TOML, Symbol("#kw##_print")), NamedTuple{(:sorted,), Tuple{Bool}}, typeof(Pkg3.TOML._print), Base.IOStream, Base.Dict{String, Any}, Array{String, 1}}) +precompile(Tuple{getfield(Base, Symbol("#kw##printstyled")), NamedTuple{(:bold, :color), Tuple{Bool, Symbol}}, typeof(Base.printstyled), Base.IOStream, String}) +precompile(Tuple{typeof(Base.deepcopy), Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base.diff_names), Tuple{Symbol, Symbol, Symbol, Symbol}, Tuple{Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol}}) +precompile(Tuple{typeof(Base.length), Array{Base.Dict{Base.VersionNumber, Int64}, 1}}) +precompile(Tuple{typeof(Base.show_tuple_as_call), Base.IOContext{Base.IOStream}, Symbol, Type{Tuple{typeof(Pkg3.Operations.build_versions), Pkg3.Types.Context, Array{Base.UUID, 1}}}}) +precompile(Tuple{typeof(Base.empty), Base.Dict{Union{}, Union{}}, Type{String}, Type{Base.UUID}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Type{Union{}}}) +precompile(Tuple{Type{Expr}, Symbol, GlobalRef, QuoteNode, QuoteNode, QuoteNode, QuoteNode, QuoteNode, QuoteNode, QuoteNode}) +precompile(Tuple{typeof(Base.isempty), Base.Dict{Base.UUID, Int64}}) +precompile(Tuple{typeof(Pkg3.TOML.insertpair), Pkg3.TOML.Parser{Base.IOStream}, Pkg3.TOML.Table, String, String, Int64}) +precompile(Tuple{typeof(Base.length), Base.Dict{String, String}}) +precompile(Tuple{typeof(Base.diff_names), Tuple{Symbol}, Tuple{Symbol, Symbol, Symbol, Symbol, Symbol, Symbol, Symbol}}) +precompile(Tuple{typeof(Base.collect), Type{Any}, Base.Generator{Tuple{Nothing, String}, typeof(Core.Typeof)}}) +precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, Tuple{Pkg3.Types.PackageSpec, Bool, String}}) +precompile(Tuple{typeof(Base.getindex), Base.BitArray{2}, Base.BitArray{1}, Base.BitArray{1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Core.TypeName}) +precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, Tuple{UndefVarError, Array{Union{Ptr{Nothing}, Base.InterpreterIP}, 1}}}) +precompile(Tuple{typeof(Base.union), Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{typeof(Base.length), Array{Array{Base.VersionNumber, 1}, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Type{Union{Base.Slice{T} where T<:(Base.AbstractUnitRange{T} where T), Base.UnitRange{T} where T<:Real}}}) +precompile(Tuple{typeof(Base.in), String, Base.KeySet{String, Base.Dict{String, Any}}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.GraphData, Symbol, Base.Dict{Base.UUID, Int64}}) +precompile(Tuple{typeof(Base.ident_cmp), Tuple{String}, Tuple{}}) +precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{String, String}, Base.IdDict{Any, Any}}) +precompile(Tuple{Type{Base.Generator{I, F} where F where I}, typeof(Core.Typeof), Tuple{Nothing, String}}) +precompile(Tuple{typeof(Base.map), Type{Base.UUID}, Base.ValueIterator{Base.Dict{String, String}}}) +precompile(Tuple{typeof(Base.empty), Base.Dict{Union{}, Union{}}, Type{String}, Type{String}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Bool}) +precompile(Tuple{typeof(Pkg3.Display.name_ver_info), Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base.empty), Base.Dict{Union{}, Union{}}, Type{Base.UUID}, Type{Int64}}) +precompile(Tuple{typeof(Base.getindex), Type{Pkg3.Types.VersionRange}, Pkg3.Pkg2.Pkg2Types.VersionInterval}) +precompile(Tuple{typeof(Base.start), Array{Base.Dict{String, Any}, 1}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.GraphData, Symbol, Array{Base.UUID, 1}}) +precompile(Tuple{typeof(Base.promote_eltype), Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{typeof(Base.done), Base.Channel{Any}, Base.ChannelIterState{Any}}) +precompile(Tuple{getfield(Base, Symbol("#kw##printstyled")), NamedTuple{(:color,), Tuple{Symbol}}, typeof(Base.printstyled), Base.IOContext{Base.IOStream}, String}) +precompile(Tuple{typeof(Pkg3.Display.in_project), Base.Dict{String, Any}}) +precompile(Tuple{typeof(REPL.LineEdit.setup_search_keymap), REPL.REPLHistoryProvider}) +precompile(Tuple{typeof(Base.foldl), typeof(Base.union!), Base.Set{Base.UUID}, Tuple{Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}}) +precompile(Tuple{typeof(Base._array_for), Type{Base.BitArray{2}}, Base.UnitRange{Int64}, Base.HasShape{1}}) +precompile(Tuple{typeof(Base.close), LibGit2.GitRepo}) +precompile(Tuple{typeof(Base.promote_eltype), Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}) +precompile(Tuple{typeof(REPL.LineEdit.setup_prefix_keymap), REPL.REPLHistoryProvider, REPL.LineEdit.Prompt}) +precompile(Tuple{typeof(Base.collect_to_with_first!), Array{Base.UUID, 1}, Base.UUID, Base.Generator{Base.ValueIterator{Base.Dict{Any, Any}}, Type{Base.UUID}}, Int64}) +precompile(Tuple{typeof(Base.mapfoldl_impl), typeof(Base.identity), typeof(Base.union!), Base.Set{Base.UUID}, Tuple{Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.Fixed}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID,Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}, Base.KeySet{Base.UUID, Base.Dict{Base.UUID, Pkg3.Types.VersionSpec}}}, Int64}) +precompile(Tuple{typeof(Base.indexed_next), Tuple{typeof(Base.getindex), Array{Any, 1}}, Int64, Int64}) +precompile(Tuple{typeof(Base.keys), Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base._array_for), Type{Base.UUID}, Base.ValueIterator{Base.Dict{Any, Any}}, Base.HasLength}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Any}, Array{Any, 1}, String}) +precompile(Tuple{typeof(Base._compute_eltype), Type{Tuple{Int32, Base.Cstring, Ptr{Nothing}}}}) +precompile(Tuple{typeof(Base.hash), Tuple{String, UInt64}, UInt64}) +precompile(Tuple{Type{Base.IOContext{IO_t} where IO_t<:IO}, Base.IOStream, Base.Pair{Symbol, Bool}}) +precompile(Tuple{typeof(Pkg3.API.build)}) +precompile(Tuple{typeof(Base.merge_names), Tuple{Symbol}, Tuple{Symbol}}) +precompile(Tuple{getfield(Pkg3.API, Symbol("#kw##checkout")), NamedTuple{(:path,), Tuple{String}}, typeof(Pkg3.API.checkout), Pkg3.Types.Context, Array{Tuple{Pkg3.Types.PackageSpec, Union{Nothing, String}}, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Type{Union{Nothing, String}}}) +precompile(Tuple{typeof(Base.getindex), Array{Array{UInt64, 1}, 1}, Int64}) +precompile(Tuple{typeof(Base.merge!), Base.Dict{String, Base.UUID}, Base.Dict{Union{}, Union{}}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.ResolveLog, Symbol, Base.Dict{Base.UUID, Pkg3.GraphType.ResolveLogEntry}}) +precompile(Tuple{typeof(Base.show), Base.GenericIOBuffer{Array{UInt8, 1}}, Type{Base.Pair{A, B} where B where A}}) +precompile(Tuple{typeof(Base.print), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, String, Type{getfield(Pkg3.API, Symbol("#kw##checkout"))}, String}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.GraphData, Symbol, Array{Int64, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Type{Pkg3.Types.Context}}) +precompile(Tuple{typeof(Base.merge!), Base.Dict{String, String}, Base.Dict{Union{}, Union{}}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, Tuple{}}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Any}, Array{Base.Dict{String, Any}, 1}, String}) +precompile(Tuple{typeof(Base.getindex), Base.Dict{String, Pkg3.REPLMode.CommandKind}, Base.SubString{String}}) +precompile(Tuple{getfield(Pkg3.TOML, Symbol("#kw##print")), NamedTuple{(:sorted,), Tuple{Bool}}, typeof(Pkg3.TOML.print), Base.IOStream, Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, Tuple{Pkg3.Types.PackageSpec, String}}) +precompile(Tuple{typeof(Base.length), Array{Array{Base.BitArray{2}, 1}, 1}}) +precompile(Tuple{typeof(Base.identity), Char}) +precompile(Tuple{typeof(Base.promote_typejoin), Type{Int32}, Type{Base.Cstring}}) +precompile(Tuple{typeof(Base.length), Array{Array{Int64, 1}, 1}}) +precompile(Tuple{typeof(Base.indexed_next), Tuple{Pkg3.Types.PackageSpec, Bool, String}, Int64, Int64}) +precompile(Tuple{typeof(Base.values), Base.Dict{Any, Any}}) +precompile(Tuple{getfield(Base, Symbol("#kw##sort!")), NamedTuple{(:by,), Tuple{typeof(Base.Unicode.lowercase)}}, typeof(Base.sort!), Array{String, 1}}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.Graph, Symbol, Array{Array{Base.BitArray{2}, 1}, 1}}) +precompile(Tuple{typeof(Base.typesof), Nothing, String}) +precompile(Tuple{Type{Pkg3.Types.PackageSpec}, String, Base.UUID}) +precompile(Tuple{typeof(Base.spawn_opts_inherit), Tuple{Base.DevNullStream, Base.DevNullStream, Base.DevNullStream}}) +precompile(Tuple{typeof(Pkg3.REPLMode.create_mode), REPL.LineEditREPL, REPL.LineEdit.Prompt}) +precompile(Tuple{typeof(Base.unescape_string), Base.SubString{String}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Tuple{Symbol}}) +precompile(Tuple{typeof(Base.start), Tuple{UndefVarError, Array{Union{Ptr{Nothing}, Base.InterpreterIP}, 1}}}) +precompile(Tuple{Type{Base.Generator{I, F} where F where I}, Type{Base.UUID}, Base.ValueIterator{Base.Dict{String, Any}}}) +precompile(Tuple{typeof(Base.push!), Array{Pkg3.Pkg2.Reqs.Line, 1}, Pkg3.Pkg2.Reqs.Requirement}) +precompile(Tuple{typeof(Base._array_for), Type{Base.UUID}, Base.ValueIterator{Base.Dict{String, Any}}, Base.HasLength}) +precompile(Tuple{typeof(Base.start), Tuple{Pkg3.Types.PackageSpec, String}}) +precompile(Tuple{getfield(Base, Symbol("#kw##show_trace_entry")), NamedTuple{(:prefix,), Tuple{String}}, typeof(Base.show_trace_entry), Base.IOContext{Base.IOStream}, Base.StackTraces.StackFrame, Int64}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Any}, Base.Dict{String, String}, String}) +precompile(Tuple{getfield(Pkg3.TOML, Symbol("#kw##printvalue")), NamedTuple{(:sorted,), Tuple{Bool}}, typeof(Pkg3.TOML.printvalue), Base.IOStream,Array{String, 1}}) +precompile(Tuple{typeof(Base.isempty), Array{Base.Dict{String, Any}, 1}}) +precompile(Tuple{typeof(Pkg3.Display.manifest_diff), Base.Dict{String, Any}, Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base.length), Base.Dict{String, Any}}) +precompile(Tuple{typeof(Base.promote_typejoin), Type{Union{}}, Type{Int32}}) +precompile(Tuple{typeof(Base.push!), Array{Pkg3.Pkg2.Reqs.Line, 1}, Pkg3.Pkg2.Reqs.Comment}) +precompile(Tuple{typeof(Base.start), Tuple{Base.BitArray{1}}}) +precompile(Tuple{Type{Pkg3.Types.VersionSpec}, String}) +precompile(Tuple{typeof(Base.print), Base.IOContext{Base.IOStream}, String, Type{Pkg3.Types.Context}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.IOStream}, Int64}) +precompile(Tuple{typeof(Base.merge_types), Tuple{Symbol, Symbol}, Type{NamedTuple{(:credentials,), Tuple{Ptr{Nothing}}}}, Type{NamedTuple{(:payload,), Tuple{Ptr{Nothing}}}}}) +precompile(Tuple{typeof(Base.collect), Base.KeySet{String, Base.Dict{String, Any}}}) +precompile(Tuple{Type{NamedTuple{(:branch,), Tuple{String}}}, Tuple{String}}) +precompile(Tuple{Type{NamedTuple{(:prompt_prefix, :prompt_suffix, :sticky), Tuple{String, String, Bool}}}, Tuple{String, String, Bool}}) +precompile(Tuple{Pkg3.Display.InProject{Base.Dict{String, Any}}, String, Base.Dict{String, Any}}) +precompile(Tuple{Type{Pkg3.Display.VerInfo}, Base.SHA1, Nothing, Base.VersionNumber, Bool}) +precompile(Tuple{typeof(Base.join), Base.GenericIOBuffer{Array{UInt8, 1}}, Tuple{String}, Char}) +precompile(Tuple{Type{Pkg3.Pkg2.Reqs.Requirement}, String}) +precompile(Tuple{typeof(Base.ident_cmp), Tuple{}, Tuple{String}}) +precompile(Tuple{typeof(Base.length), Array{Base.Dict{Int64, Int64}, 1}}) +precompile(Tuple{getfield(Pkg3.TOML, Symbol("#kw##_print")), NamedTuple{(:sorted,), Tuple{Bool}}, typeof(Pkg3.TOML._print), Base.IOStream, Base.Dict{String, String}, Array{String, 1}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{Base.GenericIOBuffer{Array{UInt8, 1}}}, TypeVar}) +precompile(Tuple{typeof(Base.cmd_gen), Tuple{Tuple{Base.Cmd}, Tuple{Base.SubString{String}}}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{REPL.Terminals.TTYTerminal}, Tuple{}}) +precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}, Base.BitArray{1}}) +precompile(Tuple{typeof(Base.get!), Base.Dict{String, Array{Base.UUID, 1}}, String, Array{Base.UUID, 1}}) +precompile(Tuple{typeof(Base.show_datatype), Base.IOContext{Base.IOStream}, Type{Pkg3.Types.Context}}) +precompile(Tuple{typeof(Base.delete!), Base.Set{Any}, Char}) +precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}}) +precompile(Tuple{typeof(Base.:(∉)), Base.UUID, Array{Base.UUID, 1}}) +precompile(Tuple{typeof(Pkg3.API.add), String}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Any}, Base.UUID, String}) +precompile(Tuple{typeof(Base.haskey), Base.Dict{String, Pkg3.REPLMode.CommandKind}, Base.SubString{String}}) +precompile(Tuple{typeof(Base.display_error), Base.IOStream, MethodError, Array{Union{Ptr{Nothing}, Base.InterpreterIP}, 1}}) +precompile(Tuple{typeof(REPL.eval), Module, Symbol}) +precompile(Tuple{getfield(Pkg3.TOML, Symbol("#kw##printvalue")), NamedTuple{(:sorted,), Tuple{Bool}}, typeof(Pkg3.TOML.printvalue), Base.IOStream,String}) +precompile(Tuple{typeof(Base.promote_typejoin), Type{Any}, Type{Ptr{Nothing}}}) +precompile(Tuple{Type{Pkg3.Types.VersionBound}, Int64, Int64, Int64}) +precompile(Tuple{getfield(Base, Symbol("#kw##with_output_color")), NamedTuple{(:bold,), Tuple{Bool}}, typeof(Base.with_output_color), typeof(Base.print), Symbol, Base.IOContext{Base.IOStream}, String}) +precompile(Tuple{typeof(Base.vcat), Base.BitArray{1}, Base.BitArray{1}, Base.BitArray{1}}) +precompile(Tuple{Type{Base.SHA1}, String}) +precompile(Tuple{typeof(Base.ident_cmp), Tuple{String}, Tuple{String}}) +precompile(Tuple{typeof(Base.get!), Base.Dict{String, Array{String, 1}}, String, Array{String, 1}}) +precompile(Tuple{getfield(Core, Symbol("#kw#Type")), NamedTuple{(:env,), Tuple{Pkg3.Types.EnvCache}}, Type{Pkg3.Types.Context}}) +precompile(Tuple{typeof(Base.diff_names), Tuple{Symbol, Symbol, Symbol, Symbol}, Tuple{Symbol}}) +precompile(Tuple{typeof(Base.show), Base.IOContext{REPL.Terminals.TTYTerminal}, Type{Union{}}}) +precompile(Tuple{typeof(REPL.LineEdit.fixup_keymaps!), Base.Dict{Char, Any}, Int64, Char, Nothing}) +precompile(Tuple{typeof(Base.push!), Base.Set{Any}, Char}) +precompile(Tuple{typeof(Base.:(!=)), String, Bool}) +precompile(Tuple{typeof(Base.setindex!), Base.Dict{String, Any}, Base.Dict{Any, Any}, String}) +precompile(Tuple{typeof(Base.:(!=)), Base.SubString{String}, Nothing}) +precompile(Tuple{Type{Pkg3.Types.PackageSpec}, String}) +precompile(Tuple{typeof(Base.hash), Tuple{String}, UInt64}) +precompile(Tuple{typeof(Base.print), Base.IOContext{Base.IOStream}, Type{Pkg3.Types.Context}}) +precompile(Tuple{typeof(REPL.send_to_backend), Symbol, REPL.REPLBackendRef}) +precompile(Tuple{typeof(Base.promote_type), Type{Base.UUID}, Type{Base.UUID}}) +precompile(Tuple{Type{Pkg3.Types.VersionBound}, Base.SubString{String}}) +precompile(Tuple{getfield(Core, Symbol("#kw#Type")), NamedTuple{(:callbacks,), Tuple{LibGit2.RemoteCallbacks}}, Type{LibGit2.FetchOptions}}) +precompile(Tuple{typeof(Base.vcat), Base.BitArray{2}, Base.BitArray{2}}) +precompile(Tuple{typeof(Base.promote_typejoin), Type{Union{}}, Type{Base.UUID}}) +precompile(Tuple{typeof(Base.done), Array{Base.Dict{String, Any}, 1}, Int64}) +precompile(Tuple{typeof(Base.setproperty!), Pkg3.GraphType.GraphData, Symbol, Array{Base.Dict{Base.VersionNumber, Int64}, 1}}) +precompile(Tuple{typeof(Base.indexed_next), Tuple{UndefVarError, Array{Union{Ptr{Nothing}, Base.InterpreterIP}, 1}}, Int64, Int64}) +precompile(Tuple{typeof(Base.merge), Base.Dict{String, Any}, Base.Dict{String, Any}}) +precompile(Tuple{Type{Base.Pair{A, B} where B where A}, Base.VersionNumber, Base.SHA1}) +precompile(Tuple{typeof(Base.collect), Base.Generator{Base.ValueIterator{Base.Dict{String, Any}}, Type{Base.UUID}}}) +precompile(Tuple{typeof(Base.start), Base.Pair{Any, Any}}) +precompile(Tuple{typeof(Base.deepcopy_internal), Array{Base.Dict{String, Any}, 1}, Base.IdDict{Any, Any}}) +precompile(Tuple{typeof(REPL.send_to_backend), Symbol, Base.Channel{Any}, Base.Channel{Any}}) +precompile(Tuple{typeof(Base.merge), Base.Dict{String, Any}, Base.Dict{String, String}}) +precompile(Tuple{typeof(Base.deepcopy_internal), Base.Dict{Any, Any}, Base.IdDict{Any, Any}}) +precompile(Tuple{Type{Base.Pair{A, B} where B where A}, String, Base.UUID}) +precompile(Tuple{typeof(Base.start), Base.Channel{Any}}) +precompile(Tuple{Type{Base.Generator{I, F} where F where I}, typeof(Pkg3.TOML.table2dict), Array{Any, 1}}) +precompile(Tuple{typeof(Base.Iterators.enumerate), Array{Base.UUID, 1}}) +precompile(Tuple{typeof(Base.similar), Array{Base.Dict{String, Any}, 1}}) +precompile(Tuple{typeof(Base.print), Base.GenericIOBuffer{Array{UInt8, 1}}, String, Base.UUID, String}) +precompile(Tuple{typeof(Base.done), Tuple{Base.BitArray{1}}, Int64}) +precompile(Tuple{typeof(Base.merge!), Base.Dict{Base.UUID, Int64}, Base.Dict{Union{}, Union{}}}) +precompile(Tuple{typeof(Base.vcat), Base.BitArray{2}, Base.BitArray{2}, Base.BitArray{2}, Base.BitArray{2}}) +precompile(Tuple{typeof(Pkg3.Display.filter_manifest), Pkg3.Display.InProject{Base.Dict{String, Any}}, Base.Dict{String, Any}}) + +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_help!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}, REPL.LineEditREPL}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_status!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_add!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_rm!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_up!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_pin!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_free!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_checkout!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_test!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) +@assert precompile(Tuple{typeof(Pkg3.REPLMode.do_build!), Pkg3.Types.Context, Vector{Pkg3.REPLMode.Token}}) + +@assert precompile(Tuple{Type{Pkg3.GraphType.GraphData}, Dict{UUID,Set{VersionNumber}}, + Dict{UUID,Dict{VersionRange,Dict{String,UUID}}}, + Dict{UUID,Dict{VersionRange,Dict{String,VersionSpec}}}, + Dict{UUID,String}}) + +@assert precompile(Tuple{Type{Pkg3.GraphType.Graph},Dict{UUID,Set{VersionNumber}}, + Dict{UUID,Dict{VersionRange,Dict{String,UUID}}}, + Dict{UUID,Dict{VersionRange,Dict{String,VersionSpec}}}, + Dict{UUID,String}, + Requires, + Dict{UUID,Pkg3.Types.Fixed}, + Bool}) + +@assert precompile(Tuple{typeof(Pkg3.Resolve.simplify_graph!), Pkg3.GraphType.Graph, Set{Int}}) +