Idris2Doc : Go.AST.Printer

Go.AST.Printer

(source)

Definitions

data PrintError : Type
Totality: total
Visibility: public export
Constructor: 
PrintFileError : FileError -> PrintError

Hint: 
Show PrintError
PrinterMonad : (Type -> Type) -> Type -> Type
Totality: total
Visibility: public export
data Indent : Type
Totality: total
Visibility: public export
Constructor: 
MkIndent : Nat -> Indent
zeroIndent : Indent
Totality: total
Visibility: export
increaseIndent : Indent -> Indent
Totality: total
Visibility: export
interface Printer : Type -> Type
Parameters: a
Constructor: 
MkPrinter

Methods:
print : HasIO io => File -> Indent => a -> PrinterMonad io ()

Implementations:
Printer BadExpression
Printer Identifier
Printer BasicLiteral
Expression (CompositLiteral t es) => Printer t => All Printer es => Printer (CompositLiteral t es)
Expression (FunctionLiteral ts ps rs sts) => Printer (FunctionType ts ps rs) => Printer (BlockStatement sts) => Printer (FunctionLiteral ts ps rs sts)
Expression (CallExpression f as e) => Printer f => All Printer as => Printer (CallExpression f as e)
Expression (ParenExpression e) => Printer e => Printer (ParenExpression e)
Expression (CastExpression t e) => Printer t => Printer e => Printer (CastExpression t e)
Expression (TypeAssertExpression e t) => Printer e => Printer t => Printer (TypeAssertExpression e t)
Expression (MakeExpression t es) => Printer t => All Printer es => Printer (MakeExpression t es)
Expression (SelectorExpression e) => Printer e => Printer (SelectorExpression e)
Expression (IndexExpression e i) => Printer e => Printer i => Printer (IndexExpression e i)
Expression (SliceExpression e l h m) => Printer e => Printer l => Printer h => Printer m => Printer (SliceExpression e l h m)
Expression (UnaryExpression e) => Printer e => Printer (UnaryExpression e)
Expression (StarExpression e) => Printer e => Printer (StarExpression e)
Expression (BinaryExpression e1 e2) => Printer e1 => Printer e2 => Printer (BinaryExpression e1 e2)
Expression (KeyValueExpression e1 e2) => Printer e1 => Printer e2 => Printer (KeyValueExpression e1 e2)
Printer ImportSpec
Specification (TypeSpec ts t) => Printer (FieldList ts) => Printer t => Printer (TypeSpec ts t)
Specification (ValueSpec t es) => Printer t => All Printer es => Printer (ValueSpec t es)
Printer BadStatement
Statement (ExpressionStatement e) => Printer e => Printer (ExpressionStatement e)
Statement (DeclarationStatement d) => Printer d => Printer (DeclarationStatement d)
Statement (BlockStatement sts) => All Printer sts => Printer (BlockStatement sts)
Statement (AssignmentStatement ls rs) => All Printer ls => All Printer rs => Printer (AssignmentStatement ls rs)
Statement (IncDecStatement e o) => Show (IncOrDec o) => Printer e => Printer (IncDecStatement e o)
Statement (DeferStatement f as e) => Printer (CallExpression f as e) => Printer (DeferStatement f as e)
Statement (LabeledStatement s) => Printer s => Printer (LabeledStatement s)
Statement (BranchStatement kw) => Printer (BranchStatement kw)
Statement (ForStatement i c p sts) => Printer i => Printer c => Printer p => Printer (BlockStatement sts) => Printer (ForStatement i c p sts)
Statement (KeyValueRangeStatement k v a r sts) => Printer k => Printer v => Show (AssignOrDefine a) => Printer r => Printer (BlockStatement sts) => Printer (KeyValueRangeStatement k v a r sts)
Statement (ValueRangeStatement v a r sts) => Printer v => Show (AssignOrDefine a) => Printer r => Printer (BlockStatement sts) => Printer (ValueRangeStatement v a r sts)
Statement (RangeStatement r sts) => Printer r => Printer (BlockStatement sts) => Printer (RangeStatement r sts)
Statement (IfStatement i c sts e) => Printer i => Printer c => Printer (BlockStatement sts) => Printer e => Printer (IfStatement i c sts e)
Statement (SwitchStatement i e sts) => Printer i => Printer e => All Printer sts => Printer (SwitchStatement i e sts)
Statement (CaseClause es sts) => All Printer es => All Printer sts => Printer (CaseClause es sts)
Statement (ReturnStatement rs) => All Printer rs => Printer (ReturnStatement rs)
{auto {conArg:14618} : GoType t} -> Printer t => Printer (Field t)
All Printer ts => Printer (FieldList ts)
Printer BadType
Printer TypeIdentifier
GoType (StructType es) => All Printer es => Printer (FieldList es) => Printer (StructType es)
GoType (ArrayType l e) => Printer l => Printer e => Printer (ArrayType l e)
GoType (MapType k v) => Printer k => Printer v => Printer (MapType k v)
GoType (FunctionType ts ps rs) => All Printer ts => All Printer ps => All Printer rs => Printer (FunctionType ts ps rs)
Declaration (FuncDeclaration rcs ts ps rs sts) => All Printer ps => All Printer rs => Printer (BlockStatement sts) => Printer (FuncDeclaration rcs ts ps rs sts)
Declaration (GenericDeclaration k es) => All Printer es => Show (GenericDeclarationToken k) => Printer (GenericDeclaration k es)
{auto {conArg:16857} : All Declaration ds} -> All Printer ds => Printer (File ds)
print : Printer a => HasIO io => File -> Indent => a -> PrinterMonad io ()
Totality: total
Visibility: public export
printFile : HasIO io => {auto {conArg:17412} : All Declaration ds} -> Printer (File ds) => String -> File ds -> io (Either PrintError ())
Totality: total
Visibility: export