From 808a8176bc6314aab315145c74c63add6443bf52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Carlos=20Mart=C3=ADn=20Nieto?= Date: Sat, 31 Aug 2013 17:57:55 +0200 Subject: [PATCH] Make dialyzer happy --- src/geef_nif.erl | 7 ++++--- src/geef_ref.erl | 14 +++++++------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/geef_nif.erl b/src/geef_nif.erl index 90a3404..d1d9e1f 100644 --- a/src/geef_nif.erl +++ b/src/geef_nif.erl @@ -40,6 +40,7 @@ repository_discover(_Path) -> reference_list(_Repo) -> nif_error(?LINE). +-spec reference_create(term(), iolist(), geef_ref:type(), binary(), boolean()) -> ok | {error, term()}. reference_create(_Repo, _Refname, _Type, _Target, _Force) -> ?NIF_FN. @@ -49,7 +50,7 @@ reference_to_id(_Repo, _Refname) -> reference_glob(_Repo, _Glob) -> nif_error(?LINE). --spec reference_lookup(term(), binary() | iolist()) -> {ok, geef_ref:ref_type(), geef_oid:oid()} | {error, term()}. +-spec reference_lookup(term(), binary() | iolist()) -> {ok, geef_ref:type(), binary()} | {error, term()}. reference_lookup(_RepoHandle, _Refname) -> nif_error(?LINE). @@ -57,11 +58,11 @@ reference_lookup(_RepoHandle, _Refname) -> reference_iterator(_Repo, _Regexp) -> nif_error(?LINE). --spec reference_next(geef_ref:iterator()) -> {ok, binary(), geef_ref:ref_type(), geef_oid:oid() | binary()} | {error, iterover | term()}. +-spec reference_next(geef_ref:iterator()) -> {ok, binary(), geef_ref:type(), binary()} | {error, iterover | term()}. reference_next(_Handle) -> nif_error(?LINE). --spec reference_resolve(term(), binary()) -> {ok, geef_oid:oid()} | {error, term()}. +-spec reference_resolve(term(), binary()) -> {ok, geef_ref:type(), binary()} | {error, term()}. reference_resolve(_RepoHandle, _Name) -> nif_error(?LINE). diff --git a/src/geef_ref.erl b/src/geef_ref.erl index 326cbb7..8fa2be9 100644 --- a/src/geef_ref.erl +++ b/src/geef_ref.erl @@ -6,31 +6,31 @@ -type iterator() :: #geef_iterator{type :: ref}. -type type() :: oid | symbolic. --type target() :: binary | geef_oid:oid(). +-type target() :: binary() | geef_oid:oid(). -type ref() :: #geef_reference{name :: binary()}. --export_type([reference/0, iterator/0]). +-export_type([reference/0, type/0, target/0, iterator/0]). -spec create(pid(), iolist(), target(), boolean()) -> {ok, ref()} | {error, term()}. create(Repo, Refname, Target, Force) -> RepoHandle = geef_repo:handle(Repo), case do_create(RepoHandle, Refname, Target, Force) of ok -> - {ok, make(Repo, Refname, Target)}; + {ok, make(Repo, iolist_to_binary(Refname), Target)}; Err = {error, _} -> Err end. --spec do_create(term(), binary(), target(), boolean()) -> ok | {error, term}. +-spec do_create(term(), iolist(), target(), boolean()) -> ok | {error, term()}. do_create(RepoHandle, Refname, #geef_oid{oid=Oid}, Force) -> geef_nif:reference_create(RepoHandle, Refname, oid, Oid, Force); do_create(RepoHandle, Refname, Target, Force) -> geef_nif:reference_create(RepoHandle, Refname, symbolic, Target, Force). -spec make(pid(), binary(), target()) -> ref(). -make(Repo, Name, Target = #geef_oid{}) -> - #geef_reference{repo=Repo, name=Name, type=oid, target=Target}; +make(Repo, Name, #geef_oid{oid=Oid}) -> + make(Repo, Name, oid, Oid); make(Repo, Name, Target) -> - #geef_reference{repo=Repo, name=Name, type=symbolic, target=Target}. + make(Repo, Name, symbolic, Target). -spec make(pid(), binary(), type(), binary()) -> ref(). make(Repo, Name, oid, Target) ->