Classes
public class foo() : keyword0, keyword1, ... , keywordN {}
Keyword | Description |
abstract | Class is an interface and cannot be instantiated. You need this keyword on the class to make a method abstract. |
rigid | The rigid property is intended for use with classes defined in other languages, such as C++. Rigid classes do not inherit from Object and cannot contain non-final methods. They cannot be changed incrementally. |
inherit constructors | If you declare a constructor in a class with this keyword all other constructors added in the closest base class will still be available (instead of becoming unavailable). |
uncopyable | Instances of this class cannot be copied using copy() . |
unstreamable | Instances of this class will be silently omitted when saving to stream. |
modify notice | Just before any field in this class is changed (except for those marked ignore modify notice ), modifyNotice() will be called automatically. |
box type | The box type property makes the class a box class for type. You can look at the Double class for an example. |
replacing load | Specifies that loaded0() of this class may return a different instance of the same class; this instance replaces the loaded object. |
align integer | Overrides the memory alignment of a class or value. Supported values are powers of two from 1 to 32. |
throw src | Throwing this exception class has the side-effect of writing a stack dump to the log file immediately. |
deprecated | Using this class will generate a compile-time warning. |
cast id = type | Valid syntax, but currently does nothing. |
Methods
public void foo() : keyword0, keyword1, ... , keywordN {}
Keyword | Description |
abstract | All non-abstract sub-classes to the class with a method using this keyword has to have an overwrite of the method. You basically force a subclass to implement this method. |
null=; |
If this method is called through a null pointer, return null, or the result of the expression argument instead. |
inline | Inline this method if possible. Arguments may not be modified in-place. |
noreturn | The function never returns to the caller – it always throws an exception or performs some other form of non-local exit. Currently optional. |
Fields
public double value : keyword0, keyword1, ... , keywordN;
Keyword | Description |
stream=null |
Streaming the class will write a null or 0 instead of the actual value of this field. |
copy=null |
A copy of this field will contain a null or 0 instead of the actual value from the original instance of the class. |
copy=reference | A copy of this field will contain a reference to the same object as in the original instance's field, rather than a new copy of the object. (Only allowed on an Object type field) |
copy=shallow | A copy of this field will contain a shallow copy of the object in the original instance's field. (Only allowed on an Object type field) |
copy=function functionName() | Call this function instead of the default copy mechanism. The function should return an object of fieldType .The function argument should be of the form functionName(fieldType parameterName) |
public readable | This package or private field can be read by anyone. |
package readable | This private field can be read by the package. |
ignore modify notice | Don't notify the class when this field is written to. See the modify notice class property for more details. |
null=; OR null=expr |
If this field is accessed through a null pointer, return null or the result of the expression argument instead. |
deprecated | Using this field will generate a compile-time warning. |
stream replace | Allows field to be replaced by new instance at load. Only evaluated when the field is also set to stream=null. Else ignored. |
method domain functionName() | Valid syntax, but currently does nothing. |
domain expr | Valid syntax, but currently does nothing. |
Enumerations
Keyword | Description |
allow capitalized |
Allow the enum identifier to be capitalized. |
bitset |
|
field access |
Requires the identifier to be used to access the enum entries. Highly recommended to use with all enumerations to prevent ambiguity. |
unsafe | Allow the enum to be non-contiguous meaning the enum values can start on a non-zero value. See Enumerations for more details. |
Global Variables
Keyword | Description |
keep | Updating (compiling) the file won't remove the value of this field. |
public readable | This package or private variable can be read by anyone. |
package readable | This private variable can be read by the package. |
Comments
2 comments
What does a "noreturn" keyword for a function mean?
Hi Raam,
Talked to our compiler team.
So it's supposed to mean that the control flow will not return to the caller at the end of the function/method.
But, currently it only fails to compile if there is a return statement in it, or if a value is expected from calling the function/method.
This article is now updated with this information.
Please sign in to leave a comment.