diff options
author | Adam Lindberg <[email protected]> | 2012-01-05 17:03:12 +0100 |
---|---|---|
committer | Adam Lindberg <[email protected]> | 2012-02-28 14:59:31 +0100 |
commit | 93f0641c2122d6c23e2ac5f18579ef879599fc16 (patch) | |
tree | 9b49b376b3b048bc35bc698feeefb51218bbd7e8 /lib/asn1/src/asn1ct_gen.erl | |
parent | c797ac2ca286b70dae9f78d512631c8fd6522c3c (diff) | |
download | otp-93f0641c2122d6c23e2ac5f18579ef879599fc16.tar.gz otp-93f0641c2122d6c23e2ac5f18579ef879599fc16.tar.bz2 otp-93f0641c2122d6c23e2ac5f18579ef879599fc16.zip |
[asn1] Abstract out table access to new module
All table access is now performed in a separate module. This will allow
changes to how ETS is handled by changing only this module. Note that
the module exports a very ETS-like interface for now which would have to
be maintained even if the data format would change (to a hash map for
example).
Diffstat (limited to 'lib/asn1/src/asn1ct_gen.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_gen.erl | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/asn1/src/asn1ct_gen.erl b/lib/asn1/src/asn1ct_gen.erl index 0f8833f716..fda4e1c6d9 100644 --- a/lib/asn1/src/asn1ct_gen.erl +++ b/lib/asn1/src/asn1ct_gen.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1997-2011. All Rights Reserved. +%% Copyright Ericsson AB 1997-2012. All Rights Reserved. %% %% The contents of this file are subject to the Erlang Public License, %% Version 1.1, (the "License"); you may not use this file except in @@ -169,7 +169,7 @@ pgen_objectsets(Rtmod,Erules,Module,[H|T]) -> pgen_objectsets(Rtmod,Erules,Module,T). pgen_check_defaultval(Erules,Module) -> - CheckObjects = ets:tab2list(check_functions), + CheckObjects = asn1ct_table:to_list(check_functions), case get(asndebug) of true -> FileName = lists:concat([Module,".table"]), @@ -1598,7 +1598,7 @@ gen_check_call(TopType,Cname,Type,InnerType,WhatKind,DefaultValue,Element) -> NameList = [Cname|TopType], Name = list2name(NameList ++ [check]), emit({"'",Name,"'(",DefaultValue,", ",Element,")"}), - ets:insert(check_functions,{Name,Type}), + asn1ct_table:insert(check_functions, {Name, Type}), %% Must look for check functions in InnerType, %% that may be referenced or internal defined %% constructed types not used elsewhere. @@ -1744,10 +1744,9 @@ lookahead_reference(#'Externaltypereference'{module=M,type=T}) -> end. insert_once(Table,Object) -> - _Info = ets:info(Table), - case ets:lookup(Table,element(1,Object)) of + case asn1ct_table:lookup(Table, element(1, Object)) of [] -> - ets:insert(Table,Object); %returns true + asn1ct_table:insert(Table, Object); %returns true _ -> false end. |