diff options
author | Ronan Collobert <ronan@collobert.com> | 2014-11-08 04:11:52 +0300 |
---|---|---|
committer | Ronan Collobert <ronan@collobert.com> | 2014-11-08 04:11:52 +0300 |
commit | f672472b99f725d1a3980bb7f40ef18cf29476ba (patch) | |
tree | 66d93c415f20c1ae96c38d82a1c9d3487676442c | |
parent | f83243fbd2ad8f3a60ff6e420f31e4386b96513e (diff) |
removed one useless specific case
-rw-r--r-- | graph.lua | 42 |
1 files changed, 15 insertions, 27 deletions
@@ -85,36 +85,24 @@ function ACN:addpath(rules, rulemask, named) end end - if #rulemask == 0 then -- the no argument case - if not rules.force and self.rules then - if rules ~= self.rules then - error('argcheck rules led to ambiguous situations') - end + local head, n = self:match(rules, rulemask, named) + if n == #rulemask then + -- check we are not overwriting something here + if not rules.force and head.rules and rules ~= head.rules then + error('argcheck rules led to ambiguous situations') end self.rules = rules self.rulemask = rulemask - else - local head, n = self:match(rules, rulemask, named) - if n == #rulemask and head.rules then - if rules ~= head.rules then - if rules.force then - self.rules = rules - self.rulemask = rulemask - else - error('argcheck rules led to ambiguous situations') - end - end - end - for n=n+1,#rulemask do - local rule = rules[rulemask[n]] - local node = ACN.new(rule.type, - named and rule.name or nil, - rule.check, - n == #rulemask and rules or nil, - n == #rulemask and rulemask or nil) - head:add(node) - head = node - end + end + for n=n+1,#rulemask do + local rule = rules[rulemask[n]] + local node = ACN.new(rule.type, + named and rule.name or nil, + rule.check, + n == #rulemask and rules or nil, + n == #rulemask and rulemask or nil) + head:add(node) + head = node end end |