1. Symbols
Each element contains standard information :
Name |
Value |
type |
The type of the symbol (module , function , etc..) |
name |
The name of the symbol |
loc_file |
The name of the file containing the symbol |
loc_line |
The number of the line at which the symbol is declared |
loc_column |
The number of the column at which the symbol is declared |
doc |
The documentation associated with the symbol (user comments) |
protection |
The protection of the symbol (pub V prot V prv ) |
1.1. Module
Name |
Value |
type |
module |
childs |
The symbols declared inside the module |
1.2. Function
Name |
Value |
type |
function |
attributes |
The custom attributes of the function |
params |
The list of parameters of the function |
ret_type |
The return type of the function |
throwers |
The list of type that can be thrown by the function |
The parameters are defined according to the following table :
Name |
Value |
name |
The name of the parameter |
type |
The type of the parameter (ymir type) |
mut |
true V false |
ref |
true V false |
value |
Can be unset if the variable has no value, encoded in a string |
1.3. Variable declaration
Declaration of a static global variable.
Name |
Value |
type |
var |
mut |
true V false |
var_type |
The ymir type of the variable |
value |
Can be unset if the variable has no value, encoded in a string |
1.4. Aka
Name |
Value |
type |
aka |
value |
The value of the aka, encoded in a string |
The value of the aka is encoded in a string, because as aka
are
only evaluated when used, we can't have more information on them.
1.5. Structure
Name |
Value |
type |
struct |
attributes |
union , packed |
fields |
The list of fields of the structure |
1.5.1. Fields
Name |
Value |
name |
The name of the field |
type |
The ymir type of the field |
mut |
true V false |
doc |
The user documentation about the field |
value |
Set if the field has a default value, encoded in a string |
1.6. Enumeration
Name |
Value |
type |
enum |
en_type |
The ymir type of the enumeration fields |
fields |
The fields of the enum |
1.6.1. Fields
Name |
Value |
name |
The name of the field |
doc |
The user comments about the field |
value |
The value associated with the field, in a string |
1.7. Class
Name |
Value |
type |
class |
ancestor |
Set if the class has an ancestor, ymir type |
abstract |
true V false |
final |
true V false |
fields |
The fields of the class |
asserts |
The list of static assertion inside the class |
cstrs |
The list of constructor of the class |
impls |
The list of implementation of the class |
methods |
The list of methods of the class |
1.7.1. Fields
Name |
Value |
name |
The name of the field |
type |
The ymir type of the field |
mut |
true V false |
doc |
The user comments about the field |
protection |
prv V prot V pub |
value |
Set if the field has a default value, inside a string |
1.7.2. Asserts
Name |
Value |
test |
The condition in a string |
msg |
The msg of the assert |
doc |
The user comment about the assertion |
1.7.3. Constructors
Name |
Value |
type |
cstr |
params |
The list of parameters of the constructor, identical to those of a function |
throws |
The list of ymir types thrown by the constructor |
1.7.4. Implementations
Name |
Value |
type |
impl |
trait |
The name of the trait, in a string |
childs |
The list of overriden methods, identical to methods |
1.7.5. Methods
Name |
Value |
type |
method |
over |
true V false |
params |
The list of parameters of the method, identical to function |
ret_type |
The ymir type of the return type |
attributes |
virtual , final , mut |
throwers |
The list of types thrown by the method |
A virtual method is method with no body, and a mutable method is a
method that accepts only a mutable object.
1.8. Traits
Name |
Value |
type |
trait |
childs |
The list of method inside the trait |
1.9. Templates
Name |
Value |
type |
template |
test |
Set if the template has a test, in a string |
params |
The list of parameter of the template, in strings |
childs |
The list of symbol inside the template |
1.10. Macros
Name |
Value |
type |
macro |
cstrs |
The list of constructor of the macro |
rules |
The list of rules of the macro |
1.10.1. Constructors and Rules
Name |
Value |
rule |
The rule of the macro in a string |
skips |
The list of token skiped, list of string |