gemini fix checker

This commit is contained in:
2026-05-03 18:29:09 -07:00
parent 2705f18e0f
commit d01be7bc23

View File

@@ -9,7 +9,7 @@ module FWL.Check
, CheckError(..) , CheckError(..)
) where ) where
import Data.List (foldl', nub) import Data.List (nub)
import qualified Data.Map.Strict as Map import qualified Data.Map.Strict as Map
import qualified Data.Set as Set import qualified Data.Set as Set
@@ -43,12 +43,12 @@ buildEnv = foldl' addDecl Map.empty
where where
addDecl m (DInterface n _ _) = Map.insert n KInterface m addDecl m (DInterface n _ _) = Map.insert n KInterface m
addDecl m (DZone n _) = Map.insert n KZone m addDecl m (DZone n _) = Map.insert n KZone m
addDecl m (DImport n _ _) = Map.insert n KLet m
addDecl m (DLet n _ _) = Map.insert n KLet m addDecl m (DLet n _ _) = Map.insert n KLet m
addDecl m (DPattern n _ _) = Map.insert n KPattern m addDecl m (DPattern n _ _) = Map.insert n KPattern m
addDecl m (DFlow n _) = Map.insert n KFlow m addDecl m (DFlow n _) = Map.insert n KFlow m
addDecl m (DRule n _ _) = Map.insert n KRule m addDecl m (DRule n _ _) = Map.insert n KRule m
addDecl m (DPolicy n _ _ _) = Map.insert n KPolicy m addDecl m (DPolicy n _ _ _) = Map.insert n KPolicy m
addDecl m _ = m
findDups :: [Decl] -> [CheckError] findDups :: [Decl] -> [CheckError]
findDups decls = go [] Set.empty decls findDups decls = go [] Set.empty decls
@@ -100,11 +100,12 @@ checkName env kind n
isBuiltin :: String -> Bool isBuiltin :: String -> Bool
isBuiltin n = n `elem` isBuiltin n = n `elem`
[ "ct", "iif", "oif", "lo", "wan", "lan" [ "ct", "iif", "oif", "lo", "wan", "lan"
, "tcp", "udp", "ip", "ip6", "eth" , "tcp", "udp", "ip", "ip6", "eth", "wg"
, "Established", "Related", "DNAT" , "Established", "Related", "DNAT"
, "Allow", "Drop", "Continue", "Masquerade" , "Allow", "Drop", "Continue", "Masquerade", "DNATMap"
, "Matched", "Unmatched" , "Matched", "Unmatched"
, "true", "false" , "true", "false"
, "matches", "flowOf", "Warn"
] ]
checkPat :: Env -> Pat -> [CheckError] checkPat :: Env -> Pat -> [CheckError]
@@ -177,7 +178,7 @@ checkExpr env (EInfix _ l r) = checkExpr env l ++ checkExpr env r
checkExpr env (ENot e) = checkExpr env e checkExpr env (ENot e) = checkExpr env e
checkStmt :: Env -> DoStmt -> [CheckError] checkStmt :: Env -> DoStmt -> [CheckError]
checkStmt env (DSBind n e) = checkExpr env e checkStmt env (DSBind _ e) = checkExpr env e
checkStmt env (DSExpr e) = checkExpr env e checkStmt env (DSExpr e) = checkExpr env e
-- ─── Policy termination ─────────────────────────────────────────────────────── -- ─── Policy termination ───────────────────────────────────────────────────────