{-# LANGUAGE TemplateHaskellQuotes #-} module PlutusTx.Plugin (plugin, plc) where import PlutusTx.Plugin.Boilerplate import PlutusTx.Plugin.Common import PlutusTx.Plugin.Unsupported import PlutusTx.Plugin.Utils import Control.Monad import GHC.Plugins qualified as GHC plugin :: GHC.Plugin plugin :: Plugin plugin = Plugin GHC.defaultPlugin { GHC.driverPlugin = addFlagsAndExts , GHC.typeCheckResultAction = \[CommandLineOption] _cliOpts ModSummary _modSummary -> TcGblEnv -> TcM TcGblEnv injectUnsupportedMarkers (TcGblEnv -> TcM TcGblEnv) -> (TcGblEnv -> TcM TcGblEnv) -> TcGblEnv -> TcM TcGblEnv forall (m :: * -> *) a b c. Monad m => (a -> m b) -> (b -> m c) -> a -> m c >=> TcGblEnv -> TcM TcGblEnv addInlineables , GHC.pluginRecompile = GHC.flagRecompile , GHC.installCoreToDos = installCorePlugin 'plc }