language-csharp-0.0.1: C# source code manipulation

Safe HaskellSafe
LanguageHaskell2010

Language.CSharp.Pretty

Description

This module contains the pretty printing of the abstract syntax tree defined in Language.CSharp.Syntax. Pretty printing results in a syntactically valid program.

Synopsis

Documentation

prettyPrint :: Pretty a => a -> String Source #

Results in the pretty printed value of a.

class Pretty a where Source #

Pretty printing type class.

Minimal complete definition

pretty

Methods

pretty :: a -> Doc Source #

Instances

Pretty Doc Source # 

Methods

pretty :: Doc -> Doc Source #

Pretty Name Source # 

Methods

pretty :: Name -> Doc Source #

Pretty Identifier Source # 
Pretty Modifier Source # 

Methods

pretty :: Modifier -> Doc Source #

Pretty AttributeArgument Source # 
Pretty Attribute Source # 

Methods

pretty :: Attribute -> Doc Source #

Pretty AttributeTarget Source # 
Pretty GlobalAttributeTarget Source # 
Pretty GlobalAttributeSection Source # 
Pretty AttributeSection Source # 
Pretty TypeName Source # 

Methods

pretty :: TypeName -> Doc Source #

Pretty RankSpecifier Source # 
Pretty ArrayType Source # 

Methods

pretty :: ArrayType -> Doc Source #

Pretty FloatingPointType Source # 
Pretty IntegralType Source # 
Pretty SimpleType Source # 
Pretty Type Source # 

Methods

pretty :: Type -> Doc Source #

Pretty TypeArgument Source # 
Pretty TypeParameterConstraint Source # 
Pretty Variance Source # 

Methods

pretty :: Variance -> Doc Source #

Pretty VariantTypeParameter Source # 
Pretty TypeParameterConstraintClause Source # 
Pretty TypeParameter Source # 
Pretty BinaryOperator Source # 
Pretty AssignmentOperator Source # 
Pretty Literal Source # 

Methods

pretty :: Literal -> Doc Source #

Pretty MemberAccess Source # 
Pretty InitializerValue Source # 
Pretty InitializerTarget Source # 
Pretty MemberInitializer Source # 
Pretty ObjectCreationInitializer Source # 
Pretty ArrayCreationInitializer Source # 
Pretty TypeOfExpression Source # 
Pretty NameofEntity Source # 
Pretty AnonymousFunctionParameter Source # 
Pretty AnonymousFunctionBody Source # 
Pretty AnonymousFunctionSignature Source # 
Pretty Expression Source # 
Pretty ExceptionSpecifier Source # 
Pretty Catch Source # 

Methods

pretty :: Catch -> Doc Source #

Pretty ForInitializer Source # 
Pretty ArrayInitializer Source # 
Pretty LocalVarType Source # 
Pretty VariableInitializer Source # 
Pretty VariableDeclarator Source # 
Pretty ResourceAcquisition Source # 
Pretty SwitchBlock Source # 
Pretty GotoTarget Source # 
Pretty LocalVarDeclaration Source # 
Pretty Statement Source # 

Methods

pretty :: Statement -> Doc Source #

Pretty ParameterModifier Source # 
Pretty ParamArray Source # 
Pretty FormalParam Source # 
Pretty FormalParams Source # 
Pretty MethodBody Source # 
Pretty AccessorDeclaration Source # 
Pretty PropertyBody Source # 
Pretty IndexerDeclarator Source # 
Pretty IndexerBody Source # 
Pretty DestructorBody Source # 
Pretty ConstructorBody Source # 
Pretty OperatorBody Source # 
Pretty OverloadableUnaryOperator Source # 
Pretty OperatorDeclarator Source # 
Pretty Argument Source # 

Methods

pretty :: Argument -> Doc Source #

Pretty ConstructorInitializer Source # 
Pretty EventAccessor Source # 
Pretty InterfaceAccessor Source # 
Pretty MemberDeclaration Source # 
Pretty InterfaceMemberDeclaration Source # 
Pretty InterfaceBody Source # 
Pretty EnumMemberDeclaration Source # 
Pretty EnumBody Source # 

Methods

pretty :: EnumBody -> Doc Source #

Pretty StructBody Source # 
Pretty ClassBody Source # 

Methods

pretty :: ClassBody -> Doc Source #

Pretty TypeDeclaration Source # 
Pretty Declaration Source # 
Pretty Using Source # 

Methods

pretty :: Using -> Doc Source #

Pretty CompilationUnit Source # 
Pretty [Modifier] Source # 

Methods

pretty :: [Modifier] -> Doc Source #

Pretty [GlobalAttributeSection] Source # 
Pretty [AttributeSection] Source # 
Pretty [TypeArgument] Source # 

Methods

pretty :: [TypeArgument] -> Doc Source #

Pretty [VariantTypeParameter] Source # 
Pretty [TypeParameter] Source # 
Pretty [Catch] Source # 

Methods

pretty :: [Catch] -> Doc Source #

Pretty [VariableDeclarator] Source # 
Pretty [SwitchBlock] Source # 

Methods

pretty :: [SwitchBlock] -> Doc Source #

Pretty [Statement] Source # 

Methods

pretty :: [Statement] -> Doc Source #

Pretty [Argument] Source # 

Methods

pretty :: [Argument] -> Doc Source #

Pretty [Declaration] Source # 

Methods

pretty :: [Declaration] -> Doc Source #

Pretty [Using] Source # 

Methods

pretty :: [Using] -> Doc Source #

Pretty (Maybe Type) Source # 

Methods

pretty :: Maybe Type -> Doc Source #