Refactored the generation of method parameters in its own method.
Extract a couple of methods in CLIHeadersTemplate.cs to make the code more readable.
Change FindFunction to return an enumeration of all functions and use Linq to do the query.
Switch declaration find helper methods to return enumerables.
Use the enumerable version of FindFunction in the IgnoreFunctionWithName helper.
Added an helper method to find a complete class.
Pass the library to the pass build and pass it to each added pass.
Added an helper transform to set the name of a function.
Added enum to keep different type and declaration conversion kinds.
Moved Pass.cs to the Passes folder.
Added IAstVisited interface and use it in AstVisitor.
Change properties to inherit from declarations.
Parameters can now store what type of conversion they need.
Methods can now store what kind of conversion they need.
Do not create a class declaration if one is not found.
Change the CodeGenerator and Program class to public since the Generator can now be used as a library.
Remove the Preprocess pass since its functionality is being split up into smaller individual passes.
Move the renaming passes to the Passes folder.
Added a pass to clean up invalid declaration names.
Added a pass to check for duplicated declaration names.