def AaParse.xconf
bend-osdev-apparmor@0.1.0.0 · parse.bend:1450
import bend-osdev-apparmor@0.1.0.0/parse.bend as Parse
import Base
import bend-osdev-apparmor@0.1.0.0/text.bend as X
import bend-osdev-apparmor@0.1.0.0/glob.bend as G
import bend-osdev-apparmor@0.1.0.0/rule_file.bend as F
1450def AaParse.xconf(a: F.AaFileRule, b: F.AaFileRule) -> Bool:
1451 match a:
1452 case F.AaFileRule{q1, t1, g1, p1, e1, tg1}:
1453 match e1:
1454 case None{}:
1455 False{}
1456 case Some{m1}:
1457 match b:
1458 case F.AaFileRule{q2, t2, g2, p2, e2, tg2}:
1459 match e2:
1460 case None{}:
1461 False{}
1462 case Some{m2}:
1463 Bool.and(Bool.and(G.AaGlob.is_literal(g1), G.AaGlob.is_literal(g2)), Bool.and(X.AaText.eq(t1, t2), Bool.not(Bool.and(F.AaXMode.eq(m1, m2), AaParse.target_eq(tg1, tg2)))))