From: Tobias Ulmer Date: Wed, 26 Oct 2016 17:49:50 +0000 (+0200) Subject: sl: remove merge option and make it the default X-Git-Tag: e2factory-2.3.15rc1~47 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=d471c717fbcb94d03d89bf95c0e6b0f86b99267a;p=e2factory.git sl: remove merge option and make it the default Signed-off-by: Tobias Ulmer --- diff --git a/local/sl.lua b/local/sl.lua index cc4ced4..32d8b62 100644 --- a/local/sl.lua +++ b/local/sl.lua @@ -27,16 +27,14 @@ local strict = require("strict") -- TODO: remove _sorted from method names, -- insertion order methods were and should not be used ---- Class "sl" for keeping string lists. +--- String list class that keeps entries in sorted order +-- while ignoring duplicate entries. -- Trying to use string list with anything but strings throws an exception. sl.sl = class("sl") --- Initialize string list [sl:new()] --- @param merge Whether entries are to be merged, defaults to false (boolean). -function sl.sl:initialize(merge) - assert(merge, debug.traceback()) - assert(merge == nil or type(merge) == "boolean") - self._merge = merge or false +-- @return new string list object +function sl.sl:initialize() self._list = {} self._need_sort = false end @@ -53,10 +51,8 @@ end function sl.sl:insert(entry) assert(type(entry) == "string") - if self._merge then - if self:lookup(entry) then - return - end + if self:lookup(entry) then + return end table.insert(self._list, entry) self._need_sort = true @@ -142,7 +138,7 @@ end --- Create in independent string list copy. -- @return New string list object. function sl.sl:copy() - local c = sl.sl:new(self._merge) + local c = sl.sl:new() for _,e in pairs(self._list) do c:insert(e)