summaryrefslogtreecommitdiff
path: root/lib/dialyzer/src/dialyzer_race_data_server.erl
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dialyzer/src/dialyzer_race_data_server.erl')
-rw-r--r--lib/dialyzer/src/dialyzer_race_data_server.erl127
1 files changed, 0 insertions, 127 deletions
diff --git a/lib/dialyzer/src/dialyzer_race_data_server.erl b/lib/dialyzer/src/dialyzer_race_data_server.erl
deleted file mode 100644
index 953cebfdf1..0000000000
--- a/lib/dialyzer/src/dialyzer_race_data_server.erl
+++ /dev/null
@@ -1,127 +0,0 @@
-%% -*- erlang-indent-level: 2 -*-
-%%
-%% Licensed under the Apache License, Version 2.0 (the "License");
-%% you may not use this file except in compliance with the License.
-%% You may obtain a copy of the License at
-%%
-%% http://www.apache.org/licenses/LICENSE-2.0
-%%
-%% Unless required by applicable law or agreed to in writing, software
-%% distributed under the License is distributed on an "AS IS" BASIS,
-%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-%% See the License for the specific language governing permissions and
-%% limitations under the License.
-
-%%%-------------------------------------------------------------------
-%%% File : dialyzer_race_data_server.erl
-%%% Author : Tobias Lindahl <tobiasl@it.uu.se>
-%%% Description :
-%%%
-%%% Created : 18 Sep 2015 by Luca Favatella <luca.favatella@erlang-solutions.com>
-%%%-------------------------------------------------------------------
--module(dialyzer_race_data_server).
-
--export([new/0,
- duplicate/1,
- stop/1,
- call/2,
- cast/2]).
-
--include("dialyzer.hrl").
-
-%%----------------------------------------------------------------------
-
--record(state, {race_code = dict:new() :: dict:dict(),
- public_tables = [] :: [label()],
- named_tables = [] :: [string()],
- beh_api_calls = [] :: [{mfa(), mfa()}]}).
-
-%%----------------------------------------------------------------------
-
--spec new() -> pid().
-
-new() ->
- spawn_link(fun() -> loop(#state{}) end).
-
--spec duplicate(pid()) -> pid().
-
-duplicate(Server) ->
- call(dup, Server).
-
--spec stop(pid()) -> ok.
-
-stop(Server) ->
- cast(stop, Server).
-
--spec call(atom(), pid()) -> term().
-
-call(Query, Server) ->
- Ref = make_ref(),
- Server ! {call, self(), Ref, Query},
- receive
- {Ref, Reply} -> Reply
- end.
-
--spec cast(atom() | {atom(), term()}, pid()) -> ok.
-
-cast(Message, Server) ->
- Server ! {cast, Message},
- ok.
-
-%%----------------------------------------------------------------------
-
-loop(State) ->
- receive
- {call, From, Ref, Query} ->
- Reply = handle_call(Query, State),
- From ! {Ref, Reply},
- loop(State);
- {cast, stop} ->
- ok;
- {cast, Message} ->
- NewState = handle_cast(Message, State),
- loop(NewState)
- end.
-
-handle_cast(race_code_new, State) ->
- State#state{race_code = dict:new()};
-handle_cast({Tag, Data}, State) ->
- case Tag of
- renew_race_info -> renew_race_info_handler(Data, State);
- renew_race_code -> renew_race_code_handler(Data, State);
- renew_race_public_tables -> renew_race_public_tables_handler(Data, State);
- put_race_code -> State#state{race_code = Data};
- put_public_tables -> State#state{public_tables = Data};
- put_named_tables -> State#state{named_tables = Data};
- put_behaviour_api_calls -> State#state{beh_api_calls = Data}
- end.
-
-handle_call(Query,
- #state{race_code = RaceCode,
- public_tables = PublicTables,
- named_tables = NamedTables,
- beh_api_calls = BehApiCalls}
- = State) ->
- case Query of
- dup -> spawn_link(fun() -> loop(State) end);
- get_race_code -> RaceCode;
- get_public_tables -> PublicTables;
- get_named_tables -> NamedTables;
- get_behaviour_api_calls -> BehApiCalls
- end.
-
-%%----------------------------------------------------------------------
-
-renew_race_info_handler({RaceCode, PublicTables, NamedTables},
- #state{} = State) ->
- State#state{race_code = RaceCode,
- public_tables = PublicTables,
- named_tables = NamedTables}.
-
-renew_race_code_handler({Fun, FunArgs, Code},
- #state{race_code = RaceCode} = State) ->
- State#state{race_code = dict:store(Fun, [FunArgs, Code], RaceCode)}.
-
-renew_race_public_tables_handler(VarLabel,
- #state{public_tables = PT} = State) ->
- State#state{public_tables = ordsets:add_element(VarLabel, PT)}.