paul@810 | 1 | = APIs = |
paul@810 | 2 | |
paul@861 | 3 | The principal application programming interfaces (APIs) within Lichen are |
paul@861 | 4 | described below. |
paul@810 | 5 | |
paul@810 | 6 | == Modules == |
paul@810 | 7 | |
paul@861 | 8 | When [[../Inspection|inspecting]] and [[../Translation|translating]] modules, |
paul@861 | 9 | common abstractions are used so that elements of the program are handled in |
paul@861 | 10 | similar ways. Various useful attributes and methods are provided by the |
paul@861 | 11 | `CommonModule` abstraction for use within `InspectedModule` and |
paul@861 | 12 | `TranslatedModule` methods: |
paul@810 | 13 | |
paul@810 | 14 | {{{#!table |
paul@810 | 15 | '''Attribute or Method''' || '''Purpose''' |
paul@810 | 16 | == |
paul@861 | 17 | `name` || An attribute providing the module name. |
paul@810 | 18 | == |
paul@861 | 19 | `get_global_path(name)` || A method returning the qualified name of the given |
paul@861 | 20 | .. global name within the module being processed. |
paul@810 | 21 | == |
paul@861 | 22 | `get_namespace_path()` || A method returning the qualified name of the |
paul@861 | 23 | .. namespace being processed. |
paul@861 | 24 | |
paul@810 | 25 | * For modules, this is the module name |
paul@861 | 26 | * For classes, functions and methods, the path incorporates the module name |
paul@861 | 27 | and namespaces leading to the current namespace itself |
paul@810 | 28 | == |
paul@861 | 29 | `get_object_path(name)` || A method returning the qualified name of the given |
paul@861 | 30 | .. local name within the namespace being processed. |
paul@810 | 31 | }}} |