clafer-0.3.5: clafer compiles Clafer models to other formats, such as Alloy, XML, HTML, Dot.

Safe HaskellNone

Language.Clafer.Intermediate.ResolverInheritance

Synopsis

Documentation

resolveNModule :: (IModule, GEnv) -> Resolve (IModule, GEnv)Source

Resolve Non-overlapping inheritance

resolveN :: Span -> [IElement] -> String -> Resolve (Maybe (String, [IClafer]))Source

resolveOModule :: (IModule, GEnv) -> Resolve (IModule, GEnv)Source

Resolve overlapping inheritance

analyzeModule :: (IModule, GEnv) -> IModuleSource

Resolve inherited and default cardinalities

resolveEModule :: (IModule, GEnv) -> (IModule, GEnv)Source

Expand inheritance

unrollabeDeclaration :: IElement -> Maybe (String, [String])Source

getDirUnrollables :: [(String, [String])] -> [String]Source

resolveEClafer :: MonadState GEnv m => [String] -> [String] -> Bool -> [IElement] -> IClafer -> m IClaferSource

genId :: String -> Int -> StringSource

resolveEInheritance :: MonadState GEnv m => [String] -> [String] -> Bool -> [IElement] -> [IClafer] -> m ([IElement], ISuper, [IClafer])Source

resolveEElement :: MonadState GEnv m => [String] -> [String] -> Bool -> [IElement] -> IElement -> m IElementSource