sirEdit/sirSpec/annotations.skill

49 lines
788 B
Plaintext

# everything related to hints
/**
* anything that can receive annotations
*/
interface Annotations {
Hint[] hints;
Restriction[] restrictions;
}
/**
* A hint including name and parsed arguments
*/
@abstract
Hint {
string name;
}
HintValues extends Hint {
/**
* if a string has arguments at all, they are stored as plain text
*/
string[] arguments;
}
HintTypes extends Hint {
Type[] types;
}
/**
* Base of type and field restrictions.
*/
@abstract
Restriction {
string name;
}
RestrictionValues extends Restriction {
/**
* restriction arguments are stored as strings, because I do not want
* to introduce a million restriction types just for range restrictions.
*/
string[] arguments;
}
RestrictionTypes extends Restriction {
Type[] types;
}