eglx.lang defines the primary language types in Eclipse IDE for EGL Developers.
Any and EAny types |
AnyDelegate type |
AnyEnumeration type |
AnyException type |
/******************************************************************* * The supertype of every Record type. * *******************************************************************/ externalType AnyRecord extends AnyStruct type ClassType {isAbstract=yes} end |
/******************************************************************* * The supertype of every Struct type. For future use with Record. * *******************************************************************/ externalType AnyStruct extends AnyValue type ClassType {isAbstract=yes} end |
/******************************************************************* * The supertype of every type that represents a set of characters. * *******************************************************************/ externalType AnyText extends AnyValue type ClassType {isAbstract=yes} end |
/******************************************************************** * The supertype of every value type, not reference type * ********************************************************************/ externalType AnyValue extends EAny type ClassType {isAbstract=yes} end |
BasicProgram stereotype |
Bigint and EBigint types |
Boolean and EBoolean types |
Constants library |
/********************************************************************* * Marks a type that must be available in content assist. * **********************************************************************/ Record ContentAssist type Annotation { targets = [ ElementKind.ExternalTypePart ] } end |
DateTimeLib external type |
/********************************************************************* * The supertype of all other types; can reference any type of value. * *********************************************************************/ externalType EAny type ClassType /* {@Operation ==} compares two values of type any. */ static function $EQ(lvalue EAny in, rvalue EAny in) returns(EBoolean) {@Operation{"=="}}; /* {@Operation !=} compares two values of type any. */ static function $NEQ(lvalue EAny in, rvalue EAny in) returns(EBoolean) {@Operation{"!="}}; /* {@Operation widen} Converts to an any, as used in boxing */ static function asAny(value EAny in) returns(EAny) {@Operation{"widen"}}; end |
EGLProperty |
EventListener annotation |
/******************************************************************* * The stereotype for all exceptions. * *******************************************************************/ Record Exception type Annotation { targets = [ElementKind.recordPart], @Stereotype { defaultSuperType = AnyException } } end |
Exception Record types in eglx.lang |
/******************************************************************* * Identifies an alias for the name of a field or function in an * * external type. You must use this if the name is not a valid * * EGL identifier. * *******************************************************************/ Record ExternalName type Annotation { targets = [ ElementKind.FieldMbr, ElementKind.FunctionMbr ] } value String; end |
Float and EFloat types |
Int and EInt types |
List and EList types |
MathLib external type |
Record NativeType type Annotation { targets = [ElementKind.ExternalTypePart], @Stereotype { memberAnnotations = [EventListener] }} end |
Property |
Number and ENumber type |
Resource annotation |
Smallfloat and ESmallfloat types |
Smallint and ESmallint types |
String and EString types |
StringLib external type |
SysLib system library |