Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "EDT:EGL Language Part Types"
Line 12: | Line 12: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''DataItem<sup>1</sup>'' | | bgcolor="#cccccc" | ''DataItem<sup>1</sup>'' | ||
− | | <br>2d | + | | <br>2d |
| <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352111 JS: DataItem]</span><br> | | <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352111 JS: DataItem]</span><br> | ||
| <br> | | <br> | ||
Line 18: | Line 18: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Function<sup>2, 5</sup>'' | | bgcolor="#cccccc" | ''Function<sup>2, 5</sup>'' | ||
− | | <br>done | + | | <br>done |
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]<br> | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352116 JS: Function overloading]<br> | ||
| <br> | | <br> | ||
Line 24: | Line 24: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>'' | | bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>'' | ||
− | | <br>done | + | | <br>done |
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 30: | Line 30: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>'' | | bgcolor="#cccccc" | ''Delegate<sup>2</sup>'' | ||
− | | <br>done | + | | <br>done |
| <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352036 JS:Delegates]</span><br> | | <span style="text-decoration: underline">[https://bugs.eclipse.org/bugs/show_bug.cgi?id=352036 JS:Delegates]</span><br> | ||
| <br> | | <br> | ||
Line 36: | Line 36: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Record<sup>6</sup>''<br> | | bgcolor="#cccccc" | ''Record<sup>6</sup>''<br> | ||
− | | <br>done | + | | <br>done |
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352045 JS:Record]<br> | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352045 JS:Record]<br> | ||
| <br> | | <br> | ||
Line 42: | Line 42: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Structured Record''<br> | | bgcolor="#cccccc" | ''Structured Record''<br> | ||
− | | <br> | + | | <br>5d |
| N/S | | N/S | ||
| N/S | | N/S | ||
Line 48: | Line 48: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''ExternalType''<br> | | bgcolor="#cccccc" | ''ExternalType''<br> | ||
− | | <br>done | + | | <br>done |
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352035 JS:ExternalType]<br> | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352035 JS:ExternalType]<br> | ||
| <br> | | <br> | ||
Line 54: | Line 54: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Handler''<br> | | bgcolor="#cccccc" | ''Handler''<br> | ||
− | | <br>1d | + | | <br>1d |
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352044 JS:Handler]<br> | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352044 JS:Handler]<br> | ||
| <br> | | <br> | ||
Line 60: | Line 60: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Library''<br> | | bgcolor="#cccccc" | ''Library''<br> | ||
− | | <br>done | + | | <br>done |
| done<br> | | done<br> | ||
| <br> | | <br> | ||
Line 66: | Line 66: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Service''<br> | | bgcolor="#cccccc" | ''Service''<br> | ||
− | | <br>1d | + | | <br>1d |
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 72: | Line 72: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | | bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br> | ||
− | | <br>done | + | | <br>done |
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 78: | Line 78: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Enumeration''<br> | | bgcolor="#cccccc" | ''Enumeration''<br> | ||
− | | <br> | + | | <br>done |
| [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352118 JS: Enumeration]<br> | | [https://bugs.eclipse.org/bugs/show_bug.cgi?id=352118 JS: Enumeration]<br> | ||
| <br> | | <br> | ||
Line 84: | Line 84: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Program<sup>4</sup>''<br> | | bgcolor="#cccccc" | ''Program<sup>4</sup>''<br> | ||
− | | <br>done | + | | <br>done |
| N/S<br> | | N/S<br> | ||
| <br> | | <br> | ||
Line 90: | Line 90: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Array''<br> | | bgcolor="#cccccc" | ''Array''<br> | ||
− | | <br> | + | | <br>done |
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 96: | Line 96: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Nullability<sup>6</sup>''<br> | | bgcolor="#cccccc" | ''Nullability<sup>6</sup>''<br> | ||
− | | <br> | + | | <br>done |
| <br> | | <br> | ||
| <br> | | <br> | ||
Line 102: | Line 102: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''DataTable''<br> | | bgcolor="#cccccc" | ''DataTable''<br> | ||
− | | <br>done | + | | <br>done |
| N/S | | N/S | ||
| N/S | | N/S | ||
Line 108: | Line 108: | ||
|- | |- | ||
| bgcolor="#cccccc" | ''Form''<br> | | bgcolor="#cccccc" | ''Form''<br> | ||
− | | <br>done | + | | <br>done |
| N/S | | N/S | ||
| N/S | | N/S |
Revision as of 14:31, 19 July 2011
Please see the parent of this page, EDT:EGL Language.
Part Types (Table 1)
Part Types | Core | JavaScript | Java | Debug |
DataItem1 | 2d |
JS: DataItem |
|
|
Function2, 5 | done |
JS: Function overloading |
|
|
Top-level function2, 5 | done |
|
|
|
Delegate2 | done |
JS:Delegates |
|
|
Record6 |
done |
JS:Record |
|
|
Structured Record |
5d |
N/S | N/S | N/S |
ExternalType |
done |
JS:ExternalType |
|
|
Handler |
1d |
JS:Handler |
|
|
Library |
done |
done |
|
|
Service |
1d |
|
|
|
Interface3 |
done |
|
|
|
Enumeration |
done |
JS: Enumeration |
|
|
Program4 |
done |
N/S |
|
|
Array |
done |
|
|
|
Nullability6 |
done |
|
|
|
DataTable |
done |
N/S | N/S | N/S |
Form |
done |
N/S | N/S | N/S |
Notes on Table 1
- In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.
- See also Table 2: Function Parameters.
- Interfaces can be implemented by services and handlers (every kind of "logic part" which can be instantiated).
- There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".
- We intend to support function overloading in all implementations, even JavaScript.
- Records are value types, so record variables may be declared with a question mark following the name of the type to indicate that they're nullable. Nullability means that a variable may really be null. It's not an "I'm null" flag like in RBD. A NullValueException will be thrown if you try to access a field or function of a null variable, even a record. A NullValueException will be thrown if a null variable is an operand to a math operator, an array access, a substring access, a comparison, or a bitwise operator. The string concatenation operators will work the same as in RBD with respect to nulls. :: treats null as the empty string, and ?: results in null if either operand is null. A question mark won't be allowed on the second operand of the AS and ISA operators (the name of the type).