| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Description | |||||||||||||||||||||||||||||||
| Synopsis | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Representation | |||||||||||||||||||||||||||||||
| type PackageGraph = (Rel PGNode PGNode, Rel PGNode PGNode, Rel PGNode PGNode, Rel PGNode PGNode) | |||||||||||||||||||||||||||||||
| The type of package graphs is a 4-tuple of four relations: import, nesting, inherit, and implement. | |||||||||||||||||||||||||||||||
| type PGNode = String | |||||||||||||||||||||||||||||||
| The type of package graph nodes. | |||||||||||||||||||||||||||||||
| emptyPG :: PackageGraph | |||||||||||||||||||||||||||||||
| Empty package graph. | |||||||||||||||||||||||||||||||
| appendPG :: PackageGraph -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| Appending two package graphs. | |||||||||||||||||||||||||||||||
| addImport :: PGNode -> PGNode -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| Adding edges to the package graph. | |||||||||||||||||||||||||||||||
| addNesting :: PGNode -> PGNode -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| addInherit :: PGNode -> PGNode -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| addImplement :: PGNode -> PGNode -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| legendPG :: PackageGraph | |||||||||||||||||||||||||||||||
| A package graph that can serve as legend. | |||||||||||||||||||||||||||||||
| pgAsRel :: PackageGraph -> Rel Identifier Identifier | |||||||||||||||||||||||||||||||
| Create a single relation out of a package graph. | |||||||||||||||||||||||||||||||
| projectPG' :: Rel PGNode PGNode -> PackageGraph -> PackageGraph | |||||||||||||||||||||||||||||||
| Given a relation, compute the sub graph of a package graph that holds only edges that occur in the relation. | |||||||||||||||||||||||||||||||
| Package graph generation | |||||||||||||||||||||||||||||||
| java2pcg :: MonadPlus m => [CompilationUnit] -> m String | |||||||||||||||||||||||||||||||
| Generate a package graph from a list of compilation units and print it. in the GraphViz format. | |||||||||||||||||||||||||||||||
| java2pcg' | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| collectDeclaredTypes :: (MonadPlus m, Term t) => t -> m [Identifier] | |||||||||||||||||||||||||||||||
| Collect all types declared in a Java fragment. | |||||||||||||||||||||||||||||||
| collectNames :: Term x => x -> [Name] | |||||||||||||||||||||||||||||||
| Collect all names from a Java fragment. | |||||||||||||||||||||||||||||||
| Functions for Graphviz format generation. | |||||||||||||||||||||||||||||||
| pg2dot | |||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||
| Produced by Haddock version 0.6 | |||||||||||||||||||||||||||||||