67 lines
948 B
Plaintext
67 lines
948 B
Plaintext
|
include "types.skill"
|
||
|
|
||
|
@abstract
|
||
|
FieldLike with Annotations {
|
||
|
|
||
|
/**
|
||
|
* the comment provided by the user or null
|
||
|
*/
|
||
|
Comment comment;
|
||
|
|
||
|
/**
|
||
|
* The type of the field.
|
||
|
*/
|
||
|
Type type;
|
||
|
|
||
|
/**
|
||
|
* the skill name
|
||
|
*/
|
||
|
Identifier name;
|
||
|
}
|
||
|
|
||
|
Field extends FieldLike {
|
||
|
|
||
|
/**
|
||
|
* true, iff the field is an auto field
|
||
|
*/
|
||
|
bool isAuto;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* a language custom field
|
||
|
*/
|
||
|
CustomField extends FieldLike {
|
||
|
|
||
|
/**
|
||
|
* the name of the language that treats this fields
|
||
|
*/
|
||
|
string language;
|
||
|
|
||
|
CustomFieldOption[] options;
|
||
|
|
||
|
/**
|
||
|
* the type name that will be used to create a language specific field type
|
||
|
*/
|
||
|
string typename;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* an option passed to a custom field
|
||
|
*/
|
||
|
CustomFieldOption {
|
||
|
string name;
|
||
|
string[] arguments;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* a view onto a field
|
||
|
*
|
||
|
* @note some components such as annotations must not be set by views
|
||
|
*/
|
||
|
FieldView extends FieldLike {
|
||
|
|
||
|
/**
|
||
|
* the viewed component
|
||
|
*/
|
||
|
FieldLike target;
|
||
|
}
|