!tG7      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                  ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 None"#Mc  homplexityMessage severity  homplexityMessage from analysis  homplexityKeeps a set of messages  homplexity'String showing all possible values for Severity.  homplexity1Helper for logging a message with given severity.  homplexity?TODO: automatic inference of the srcLine | Log a certain error homplexity Log a warning homplexityLog informational message homplexityLog debugging message7 homplexityConvert Log into ordered sequence (Seq). homplexity1Extract an ordered sequence of messages from the Log.    None$X$ homplexityCabal package identification' homplexity$Project file cabal file related info$&%'()*'$&%()*None"#=?i1 homplexityGCompute the slice of code that given source fragment is in (for naming) ,-./01234 ,1042./-3Safe5 homplexity=Maximum of the results of mapping the function over the list.6 homplexity6Sum the results of mapping the function over the list.7 homplexityGet the name of a declaration.567657None"#%2=>?@AHVX78 homplexityClass  CodeFragmentz allows for: * both selecting direct or all descendants of the given type of object within another structure (with occurs and  allOccurs7) * naming the object to allow user to distinguish it.;In order to compute selection, we just need to know which ASTL nodes contain the given object, and how to extract this given object from AST, if it is there (matchAST).:w; homplexityAlias for a class signature? homplexity3Type alias for a type signature of a function as a  CodeFragmentD homplexity Alias for a data declarationH homplexity Alias for a function declarationN homplexityProgramQ homplexity<Smart constructor for adding cross-references in the future.R homplexityProxy for passing Program type as an argument.S homplexityProxy for passing Function type as an argument.T homplexityProxy for passing DataDef type as an argument.U homplexityProxy for passing  TypeSignature type as an argument.V homplexityProxy for passing  TypeClass type as an argument.W homplexityFirst location for each  CodeFragment - for convenient reporting.8 homplexityMake a single element list.X homplexityDirect occurences of given  CodeFragment# fragment within another structure.Y homplexityExplicitly typed variant of occurs.[ homplexityExplicitly typed variant of  allOccurs.\ homplexityProxy for passing Module type as an argument.9 homplexityUnpack Name identifier into a String.)89:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\)89:XYZ[NOPRQ\HIJKLMSDEFGT?@ABCU;<=>VWNone=?@AMX>m homplexity)Number of lines of code (example metric)n homplexity#Metric can be computed on a set of  CodeFragment fragments and then shown.p homplexityProxy for passing LOC type as parameter.q homplexity$Convenience function for fixing the Metric type.r homplexity)Convenience function for fixing both the Metric and  CodeFragment" for which the metric is computed.mnopqrnompqrNone =>?@AMXC: homplexity6Sum the results of mapping the function over the list.; homplexity*Function computing constructor depth of a Type.< homplexity#Check whether given constructor of Type) counts in constructor depth computation.= homplexity*Function computing constructor depth of a Type.|}~}~|None@AMI homplexityoRepresents the number of associated types in a type class. It includes both associated type and data families. homplexity;Represents the number of methods and value in a type class. homplexity For passing NonTypeDeclCount type as parameter. homplexity For passing AssocTypeCount type as parameter. None "#=>?@AMXI None "#=>?@AMXSs  homplexityDecision depth homplexity Represents cyclomatic complexity homplexity For passing  Cyclomatic type as parameter.> homplexity2Computing cyclomatic complexity on a code fragment? homplexity1Compute cyclomatic complexity of pattern matches.@ homplexity(Cyclomatic complexity of all expressions homplexity For passing Depth type as parameter.A homplexityDepth of branching within Expression.B homplexity5Helper function to compute depth of branching within case expression match.C homplexityCheck whether given Exp5ression node is a decision node (conditional branch.) None "#%=>?@AX`  homplexity4Tagging of source range for each commentable object. homplexity3Possible link between comment and commented entity. homplexity<May be counted as commenting object that starts just before. homplexity;May be counted as commenting object within which it exists. homplexity;May be counted as commenting object that starts just after. homplexityODescribes the comment span, and the way it may be connected to the source code homplexityOClassifies all comments in list, so they can be assigned to declarations later. homplexityDFinds Haddock markers of which declarations the comment pertains to. homplexity&Find comment sites for entire program. homplexity\Take together are commentable elements, and all comments, and order them by source location. None =>?@AX_hD homplexity=CppHs options that should be compatible with haskell-src-extsE homplexity+Removes duplicate and switching extensions.Example:d[ EnableExtension ScopedTypeVariables, DisableExtension ScopedTypeVariables, EnableExtension DoRec ]?[ DisableExtension ScopedTypeVariables, EnableExtension DoRec ] homplexity\Parse Haskell source file, using CppHs for preprocessing, and haskell-src-exts for parsing.)Catches all exceptions and wraps them as Critical log messages. homplexityFor use in test suite None"#%12=>?@AXq homplexity!Type of functions that convert a Metric into a log message. homplexity"Measure all occurences of a given  CodeFragment with a given Metric , then use  Assessment on them and give a list of Log messages.+Arguments come in the following order: 1.  Assessment for the value of the Metric. 2. Metric given as Proxy type. 3.  CodeFragment given as Proxy type. 4. Program containing  CodeFragments.5 homplexityLCompute all metrics, and assign severity depending on configured thresholds.E     !"$%&()*+-./12345E     !"$%&()*+-./12345Safet"FGHIJKLMN !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKKLMNNOPQRRSTUUVWXYZZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                                                      ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ?@ABECDE F G H I J K L MNOPQRSTUV)homplexity-0.4.6.0-68NdpTFmKj53U7lkpX6lpc(Language.Haskell.Homplexity.CodeFragment#Language.Haskell.Homplexity.Message&Language.Haskell.Homplexity.CabalFiles$Language.Haskell.Homplexity.SrcSlice%Language.Haskell.Homplexity.Utilities"Language.Haskell.Homplexity.Metric*Language.Haskell.Homplexity.TypeComplexity/Language.Haskell.Homplexity.TypeClassComplexity-Language.Haskell.Homplexity.RecordFieldsCount&Language.Haskell.Homplexity.Cyclomatic$Language.Haskell.Homplexity.Comments!Language.Haskell.Homplexity.Parse&Language.Haskell.Homplexity.AssessmentPaths_homplexity.haskell-src-exts-1.23.0-IvjfjJasXCo89gWhp1TrsKLanguage.Haskell.Exts.SyntaxModule XmlHybridXmlPageSeverityDebugInfoWarningCriticalMessageLogseverityOptionsmessagecriticalwarninfodebugextract$fFlagTypeSeverity$fLiftSeverity$fNFDataSeverity$fToMarkupSeverity$fToMarkupMessage $fShowMessage$fNFDataMessage $fShowLog $fNFDataLog $fEqSeverity $fOrdSeverity$fReadSeverity$fShowSeverity$fEnumSeverity$fBoundedSeverity $fEqMessage $fMonoidLog$fSemigroupLog CabalPackageLibraryPackage CabalFilewarningsparseCabalFilelanguageExtensions$fShowCabalFileSrcSlice sliceFilenamesliceFirstLine sliceLastLinesrcLocsrcSlice mergeSrcLocs locAsSpan showSrcSpanmaxOfsumOf declHeadName CodeFragment fragmentName fragmentSlice TypeClasstcNametcDecls TypeSignatureloc identifierstheTypeDataDef dataDefName dataDefCtorsFunction functionNamesfunctionLocations functionRhs functionBindsProgram allModulesprogramprogramT functionTdataDefTtypeSignatureT typeClassT fragmentLococcursoccursOf allOccurs allOccursOfmoduleT$fCodeFragmentTypeClass$fCodeFragmentTypeSignature$fCodeFragmentModule$fCodeFragmentProgram$fCodeFragmentDataDef$fCodeFragmentFunction $fDataProgram $fShowProgram$fDataFunction$fShowFunction $fDataDataDef $fShowDataDef$fDataTypeSignature$fShowTypeSignature$fDataTypeClass$fShowTypeClassLOCMetricmeasurelocT measureAs measureFor $fMetricLOCc $fReadLOC $fShowLOC$fOrdLOC$fEqLOC $fEnumLOC$fNumLOC $fRealLOC $fIntegralLOC NumFunArgsConDepth conDepthT numFunArgsT$fMetricConDepthTypeSignature$fShowConDepth$fMetricNumFunArgsTypeSignature$fShowNumFunArgs $fEqConDepth $fOrdConDepth$fEnumConDepth $fNumConDepth$fRealConDepth$fIntegralConDepth$fEqNumFunArgs$fOrdNumFunArgs$fEnumNumFunArgs$fNumNumFunArgs$fRealNumFunArgs$fIntegralNumFunArgsAssocTypeCountNonTypeDeclCountnonTypeDeclCountTassocTypeCountT!$fMetricNonTypeDeclCountTypeClass$fShowNonTypeDeclCount$fMetricAssocTypeCountTypeClass$fShowAssocTypeCount$fEqNonTypeDeclCount$fOrdNonTypeDeclCount$fEnumNonTypeDeclCount$fNumNonTypeDeclCount$fRealNonTypeDeclCount$fIntegralNonTypeDeclCount$fEqAssocTypeCount$fOrdAssocTypeCount$fEnumAssocTypeCount$fNumAssocTypeCount$fRealAssocTypeCount$fIntegralAssocTypeCountRecordFieldsCountrecordFieldsCountT$fShowRecordFieldsCount $fMetricRecordFieldsCountDataDef$fEqRecordFieldsCount$fOrdRecordFieldsCount$fEnumRecordFieldsCount$fNumRecordFieldsCount$fRealRecordFieldsCount$fIntegralRecordFieldsCountDepth Cyclomatic cyclomaticTdepthT$fMetricCyclomaticFunction$fShowCyclomatic $fShowDepth$fMetricDepthFunction$fEqCyclomatic$fOrdCyclomatic$fEnumCyclomatic$fNumCyclomatic$fRealCyclomatic$fIntegralCyclomatic $fEqDepth $fOrdDepth $fEnumDepth $fNumDepth $fRealDepth$fIntegralDepth CommentSitesiteName siteSlice CommentTypeCommentsBeforeCommentsInside CommentsAfter CommentLink commentSpan commentTypeclassifyCommentsfindCommentType commentableorderCommentsAndCommentables $fOrdEnds$fEqCommentType$fOrdCommentType$fEnumCommentType$fShowCommentType$fEqCommentLink$fOrdCommentLink$fShowCommentLink$fEqCommentSite$fShowCommentSite$fEqEnds $fShowEnds parseSource parseTest Assessment measureAllmeasureTopOccursmeasureAllOccurs warnOfMeasureHFlag_moduleLinesWarningHFlagC_moduleLinesWarningflags_moduleLinesWarning$fFlagHFlag_moduleLinesWarningHFlag_moduleLinesCriticalHFlagC_moduleLinesCriticalflags_moduleLinesCriticalassessModuleLength$fFlagHFlag_moduleLinesCriticalHFlag_functionLinesWarningHFlagC_functionLinesWarningflags_functionLinesWarning $fFlagHFlag_functionLinesWarningHFlag_functionLinesCriticalHFlagC_functionLinesCriticalflags_functionLinesCriticalassessFunctionLength!$fFlagHFlag_functionLinesCriticalHFlag_functionDepthWarningHFlagC_functionDepthWarningflags_functionDepthWarning $fFlagHFlag_functionDepthWarningHFlag_functionDepthCriticalHFlagC_functionDepthCriticalflags_functionDepthCriticalassessFunctionDepth!$fFlagHFlag_functionDepthCriticalHFlag_functionCCWarningHFlagC_functionCCWarningflags_functionCCWarning$fFlagHFlag_functionCCWarningHFlag_functionCCCriticalHFlagC_functionCCCriticalflags_functionCCCriticalassessFunctionCC$fFlagHFlag_functionCCCriticalHFlag_typeConDepthWarningHFlagC_typeConDepthWarningflags_typeConDepthWarning$fFlagHFlag_typeConDepthWarningHFlag_typeConDepthCriticalHFlagC_typeConDepthCriticalflags_typeConDepthCriticalassessTypeConDepth $fFlagHFlag_typeConDepthCriticalHFlag_numFunArgsWarningHFlagC_numFunArgsWarningflags_numFunArgsWarning$fFlagHFlag_numFunArgsWarningHFlag_numFunArgsCriticalHFlagC_numFunArgsCriticalflags_numFunArgsCriticalassessNumFunArgs$fFlagHFlag_numFunArgsCriticalHFlag_recordFieldsCountWarningHFlagC_recordFieldsCountWarningflags_recordFieldsCountWarning$$fFlagHFlag_recordFieldsCountWarningHFlag_recordFieldsCountCritical HFlagC_recordFieldsCountCriticalflags_recordFieldsCountCriticalassessRecordFieldsCount%$fFlagHFlag_recordFieldsCountCritical!HFlag_typeClassNonTypeDeclWarning"HFlagC_typeClassNonTypeDeclWarning!flags_typeClassNonTypeDeclWarning'$fFlagHFlag_typeClassNonTypeDeclWarning"HFlag_typeClassNonTypeDeclCritical#HFlagC_typeClassNonTypeDeclCritical"flags_typeClassNonTypeDeclCriticalassessTCNonTypeDeclCount($fFlagHFlag_typeClassNonTypeDeclCritical HFlag_typeClassAssocTypesWarning!HFlagC_typeClassAssocTypesWarning flags_typeClassAssocTypesWarning&$fFlagHFlag_typeClassAssocTypesWarning!HFlag_typeClassAssocTypesCritical"HFlagC_typeClassAssocTypesCritical!flags_typeClassAssocTypesCriticalassessTCAssocTypesCountmetrics'$fFlagHFlag_typeClassAssocTypesCriticalorderedMessages singletonunNameconDepthdeeper numFunArgs cyclomaticcyclomaticOfMatchescyclomaticOfExprs depthOfExprdepthOfMatches isDecision cppHsOptionscollapseSameExtensionsversion getBinDir getLibDir getDynLibDir getDataDir getLibexecDir getSysconfDirgetDataFileName