@@ -76,6 +76,7 @@ function Model:addDef(sec, key, value)
76
76
self .model [sec ][key ].key = key
77
77
self .model [sec ][key ].value = value
78
78
self .model [sec ][key ].policyMap = {}
79
+ self .model [sec ][key ]:initPriorityIndex ()
79
80
if sec == " r" or sec == " p" then
80
81
self .model [sec ][key ].tokens = Util .splitCommaDelimited (self .model [sec ][key ].value )
81
82
for k , v in pairs (self .model [sec ][key ].tokens ) do
@@ -302,19 +303,17 @@ function Model:sortPoliciesByPriority()
302
303
if not self .model [" p" ] then return end
303
304
304
305
for ptype , ast in pairs (self .model [" p" ]) do
305
- local priorityIndex = 0
306
306
for inx , token in pairs (ast .tokens ) do
307
307
if token == ptype .. " _priority" then
308
- priorityIndex = inx
308
+ ast . priorityIndex = inx
309
309
break
310
310
end
311
311
end
312
- if priorityIndex == 0 then
312
+ if ast . priorityIndex == - 1 then
313
313
return
314
314
end
315
-
316
315
table.sort (ast .policy , function (a , b )
317
- return a [priorityIndex ] < b [priorityIndex ]
316
+ return a [ast . priorityIndex ] < b [ast . priorityIndex ]
318
317
end )
319
318
for i ,policy in pairs (ast .policy ) do
320
319
ast .policyMap [table.concat (policy ," ," )]= i
0 commit comments