Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
GOOL.Drasil.RendererClasses
Documentation
class (FileSym r, AssignStatement r, DeclStatement r, IOStatement r, StringStatement r, FuncAppStatement r, CommentStatement r, ControlStatement r, Argument r, Literal r, MathConstant r, VariableValue r, CommandLineArgs r, NumericExpression r, BooleanExpression r, Comparison r, ValueExpression r, InternalValueExp r, GetSet r, List r, InternalList r, VectorExpression r, StatePattern r, ObserverPattern r, StrategyPattern r, TypeElim r, VariableElim r, RenderBlock r, BlockElim r, RenderBody r, BodyElim r, RenderClass r, ClassElim r, RenderFile r, InternalGetSet r, InternalListFunc r, RenderFunction r, FunctionElim r, RenderMethod r, MethodElim r, RenderMod r, ModuleElim r, OpElim r, RenderParam r, ParamElim r, PermElim r, RenderScope r, ScopeElim r, InternalAssignStmt r, InternalIOStmt r, InternalControlStmt r, RenderStatement r, StatementElim r, StateVarElim r, RenderType r, InternalTypeElim r, RenderValue r, ValueElim r, RenderVariable r, InternalVarElim r, ImportSym r, ImportElim r, UnaryOpSym r, BinaryOpSym r, BlockCommentElim r) => RenderSym r Source #
Instances
RenderSym CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer | |
RenderSym CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer | |
RenderSym CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer | |
RenderSym JavaCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.JavaRenderer | |
RenderSym PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer | |
RenderSym SwiftCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.SwiftRenderer | |
Pair p => RenderSym (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer |
class BlockCommentSym r => RenderFile r where Source #
Methods
top :: r (Module r) -> r (Block r) Source #
bottom :: r (Block r) Source #
commentedMod :: SFile r -> FS (r (BlockComment r)) -> SFile r Source #
Instances
class ImportSym r where Source #
Instances
class ImportElim r where Source #
Instances
ImportElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods import' :: CSharpCode (Import CSharpCode) -> Doc Source # | |
ImportElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods import' :: CppHdrCode (Import CppHdrCode) -> Doc Source # | |
ImportElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods import' :: CppSrcCode (Import CppSrcCode) -> Doc Source # | |
ImportElim JavaCode Source # | |
ImportElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods import' :: PythonCode (Import PythonCode) -> Doc Source # | |
ImportElim SwiftCode Source # | |
Pair p => ImportElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods import' :: p CppSrcCode CppHdrCode (Import (p CppSrcCode CppHdrCode)) -> Doc Source # |
class PermElim r where Source #
Instances
class RenderBody r where Source #
Instances
RenderBody CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods multiBody :: [MSBody CSharpCode] -> MSBody CSharpCode Source # | |
RenderBody CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody CppHdrCode] -> MSBody CppHdrCode Source # | |
RenderBody CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody CppSrcCode] -> MSBody CppSrcCode Source # | |
RenderBody JavaCode Source # | |
RenderBody PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods multiBody :: [MSBody PythonCode] -> MSBody PythonCode Source # | |
RenderBody SwiftCode Source # | |
Pair p => RenderBody (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods multiBody :: [MSBody (p CppSrcCode CppHdrCode)] -> MSBody (p CppSrcCode CppHdrCode) Source # |
class BodyElim r where Source #
Instances
BodyElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods body :: CSharpCode (Body CSharpCode) -> Doc Source # | |
BodyElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods body :: CppHdrCode (Body CppHdrCode) -> Doc Source # | |
BodyElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods body :: CppSrcCode (Body CppSrcCode) -> Doc Source # | |
BodyElim JavaCode Source # | |
BodyElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods body :: PythonCode (Body PythonCode) -> Doc Source # | |
BodyElim SwiftCode Source # | |
Pair p => BodyElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods body :: p CppSrcCode CppHdrCode (Body (p CppSrcCode CppHdrCode)) -> Doc Source # |
class RenderBlock r where Source #
Methods
multiBlock :: [MSBlock r] -> MSBlock r Source #
Instances
class BlockElim r where Source #
Instances
BlockElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods block :: CSharpCode (Block CSharpCode) -> Doc Source # | |
BlockElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods block :: CppHdrCode (Block CppHdrCode) -> Doc Source # | |
BlockElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods block :: CppSrcCode (Block CppSrcCode) -> Doc Source # | |
BlockElim JavaCode Source # | |
BlockElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods block :: PythonCode (Block PythonCode) -> Doc Source # | |
BlockElim SwiftCode Source # | |
Pair p => BlockElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods block :: p CppSrcCode CppHdrCode (Block (p CppSrcCode CppHdrCode)) -> Doc Source # |
class RenderType r where Source #
Methods
multiType :: [VSType r] -> VSType r Source #
typeFromData :: CodeType -> String -> Doc -> VSType r Source #
Instances
class InternalTypeElim r where Source #
Instances
InternalTypeElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods type' :: CSharpCode (Type CSharpCode) -> Doc Source # | |
InternalTypeElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods type' :: CppHdrCode (Type CppHdrCode) -> Doc Source # | |
InternalTypeElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods type' :: CppSrcCode (Type CppSrcCode) -> Doc Source # | |
InternalTypeElim JavaCode Source # | |
InternalTypeElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods type' :: PythonCode (Type PythonCode) -> Doc Source # | |
InternalTypeElim SwiftCode Source # | |
Pair p => InternalTypeElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods type' :: p CppSrcCode CppHdrCode (Type (p CppSrcCode CppHdrCode)) -> Doc Source # |
class UnaryOpSym r where Source #
Methods
Instances
class BinaryOpSym r where Source #
Methods
notEqualOp :: VSBinOp r Source #
greaterOp :: VSBinOp r Source #
greaterEqualOp :: VSBinOp r Source #
lessEqualOp :: VSBinOp r Source #
divideOp :: VSBinOp r Source #
Instances
Methods
uOp :: r (UnaryOp r) -> Doc Source #
bOp :: r (BinaryOp r) -> Doc Source #
Instances
class RenderVariable r where Source #
Instances
class InternalVarElim r where Source #
Instances
class RenderValue r where Source #
Methods
inputFunc :: SValue r Source #
printFunc :: SValue r Source #
printLnFunc :: SValue r Source #
printFileFunc :: SValue r -> SValue r Source #
printFileLnFunc :: SValue r -> SValue r Source #
cast :: VSType r -> SValue r -> SValue r Source #
call :: Maybe Library -> Maybe Doc -> MixedCall r Source #
Very generic internal function for generating calls, to reduce repeated code throughout generators. Parameters are: maybe name of external module, maybe Doc for object variable (including separator between object and function) for method calls.
valFromData :: Maybe Int -> VSType r -> Doc -> SValue r Source #
Instances
class ValueElim r where Source #
Instances
class InternalGetSet r where Source #
Methods
getFunc :: SVariable r -> VSFunction r Source #
setFunc :: VSType r -> SVariable r -> SValue r -> VSFunction r Source #
Instances
class InternalListFunc r where Source #
Methods
listSizeFunc :: VSFunction r Source #
listAddFunc :: SValue r -> SValue r -> SValue r -> VSFunction r Source #
listAppendFunc :: SValue r -> VSFunction r Source #
listAccessFunc :: VSType r -> SValue r -> VSFunction r Source #
listSetFunc :: SValue r -> SValue r -> SValue r -> VSFunction r Source #
Instances
class RenderFunction r where Source #
Methods
funcFromData :: Doc -> VSType r -> VSFunction r Source #
Instances
class FunctionElim r where Source #
Methods
functionType :: r (Function r) -> r (Type r) Source #
Instances
class InternalAssignStmt r where Source #
Methods
multiAssign :: [SVariable r] -> [SValue r] -> MSStatement r Source #
Instances
class InternalIOStmt r where Source #
Instances
class InternalControlStmt r where Source #
Methods
multiReturn :: [SValue r] -> MSStatement r Source #
Instances
class RenderStatement r where Source #
Methods
stmt :: MSStatement r -> MSStatement r Source #
loopStmt :: MSStatement r -> MSStatement r Source #
emptyStmt :: MSStatement r Source #
stmtFromData :: Doc -> Terminator -> MSStatement r Source #
Instances
class StatementElim r where Source #
Methods
statement :: r (Statement r) -> Doc Source #
statementTerm :: r (Statement r) -> Terminator Source #
Instances
class RenderScope r where Source #
Instances
class ScopeElim r where Source #
Instances
ScopeElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods scope :: CSharpCode (Scope CSharpCode) -> Doc Source # | |
ScopeElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods scope :: CppHdrCode (Scope CppHdrCode) -> Doc Source # | |
ScopeElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods scope :: CppSrcCode (Scope CppSrcCode) -> Doc Source # | |
ScopeElim JavaCode Source # | |
ScopeElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods scope :: PythonCode (Scope PythonCode) -> Doc Source # | |
ScopeElim SwiftCode Source # | |
Pair p => ScopeElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods scope :: p CppSrcCode CppHdrCode (Scope (p CppSrcCode CppHdrCode)) -> Doc Source # |
type MSMthdType a = MS (a (MethodType a)) Source #
class TypeSym r => MethodTypeSym r where Source #
Associated Types
type MethodType r Source #
Instances
class RenderParam r where Source #
Methods
paramFromData :: SVariable r -> Doc -> MSParameter r Source #
Instances
class ParamElim r where Source #
Methods
parameterName :: r (Parameter r) -> Label Source #
parameterType :: r (Parameter r) -> r (Type r) Source #
Instances
class (MethodTypeSym r, BlockCommentSym r) => RenderMethod r where Source #
Methods
intMethod :: Bool -> Label -> r (Scope r) -> r (Permanence r) -> MSMthdType r -> [MSParameter r] -> MSBody r -> SMethod r Source #
intFunc :: Bool -> Label -> r (Scope r) -> r (Permanence r) -> MSMthdType r -> [MSParameter r] -> MSBody r -> SMethod r Source #
commentedFunc :: MS (r (BlockComment r)) -> SMethod r -> SMethod r Source #
destructor :: [CSStateVar r] -> SMethod r Source #
Instances
class MethodElim r where Source #
Instances
MethodElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods method :: CSharpCode (Method CSharpCode) -> Doc Source # | |
MethodElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods method :: CppHdrCode (Method CppHdrCode) -> Doc Source # | |
MethodElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods method :: CppSrcCode (Method CppSrcCode) -> Doc Source # | |
MethodElim JavaCode Source # | |
MethodElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods method :: PythonCode (Method PythonCode) -> Doc Source # | |
MethodElim SwiftCode Source # | |
Pair p => MethodElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods method :: p CppSrcCode CppHdrCode (Method (p CppSrcCode CppHdrCode)) -> Doc Source # |
class StateVarElim r where Source #
Instances
StateVarElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods stateVar :: CSharpCode (StateVar CSharpCode) -> Doc Source # | |
StateVarElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods stateVar :: CppHdrCode (StateVar CppHdrCode) -> Doc Source # | |
StateVarElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods stateVar :: CppSrcCode (StateVar CppSrcCode) -> Doc Source # | |
StateVarElim JavaCode Source # | |
StateVarElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods stateVar :: PythonCode (StateVar PythonCode) -> Doc Source # | |
StateVarElim SwiftCode Source # | |
Pair p => StateVarElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods stateVar :: p CppSrcCode CppHdrCode (StateVar (p CppSrcCode CppHdrCode)) -> Doc Source # |
type ParentSpec = Doc Source #
class BlockCommentSym r => RenderClass r where Source #
Methods
intClass :: Label -> r (Scope r) -> r ParentSpec -> [CSStateVar r] -> [SMethod r] -> SClass r Source #
inherit :: Maybe Label -> r ParentSpec Source #
implements :: [Label] -> r ParentSpec Source #
commentedClass :: CS (r (BlockComment r)) -> SClass r -> SClass r Source #
Instances
class ClassElim r where Source #
Instances
ClassElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods class' :: CSharpCode (Class CSharpCode) -> Doc Source # | |
ClassElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods class' :: CppHdrCode (Class CppHdrCode) -> Doc Source # | |
ClassElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods class' :: CppSrcCode (Class CppSrcCode) -> Doc Source # | |
ClassElim JavaCode Source # | |
ClassElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods class' :: PythonCode (Class PythonCode) -> Doc Source # | |
ClassElim SwiftCode Source # | |
Pair p => ClassElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods class' :: p CppSrcCode CppHdrCode (Class (p CppSrcCode CppHdrCode)) -> Doc Source # |
class RenderMod r where Source #
Methods
modFromData :: String -> FS Doc -> FSModule r Source #
updateModuleDoc :: (Doc -> Doc) -> r (Module r) -> r (Module r) Source #
Instances
class ModuleElim r where Source #
Instances
ModuleElim CSharpCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CSharpRenderer Methods module' :: CSharpCode (Module CSharpCode) -> Doc Source # | |
ModuleElim CppHdrCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods module' :: CppHdrCode (Module CppHdrCode) -> Doc Source # | |
ModuleElim CppSrcCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods module' :: CppSrcCode (Module CppSrcCode) -> Doc Source # | |
ModuleElim JavaCode Source # | |
ModuleElim PythonCode Source # | |
Defined in GOOL.Drasil.LanguageRenderer.PythonRenderer Methods module' :: PythonCode (Module PythonCode) -> Doc Source # | |
ModuleElim SwiftCode Source # | |
Pair p => ModuleElim (p CppSrcCode CppHdrCode) Source # | |
Defined in GOOL.Drasil.LanguageRenderer.CppRenderer Methods module' :: p CppSrcCode CppHdrCode (Module (p CppSrcCode CppHdrCode)) -> Doc Source # |
class BlockCommentSym r where Source #
Associated Types
type BlockComment r Source #
Methods
blockComment :: [String] -> r (BlockComment r) Source #
docComment :: State a [String] -> State a (r (BlockComment r)) Source #
Instances
class BlockCommentElim r where Source #
Methods
blockComment' :: r (BlockComment r) -> Doc Source #