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)))))

Uses (9)

Used by (1)