Difference between revisions of "EDT:EGL Language Part Types"

From Eclipsepedia

Jump to: navigation, search
Line 1: Line 1:
Please see the parent of this page, [[EDT:EGL_Language]].
+
Please see the parent of this page, [[EDT:EGL Language]].  
  
 
== Part Types (Table 1)  ==
 
== Part Types (Table 1)  ==
  
{| width="400" cellspacing="1" cellpadding="1" border="1" style=""
+
{| border="1" cellspacing="1" cellpadding="1" width="400"
 
|-
 
|-
 
| bgcolor="#999999" align="center" | '''''Part Types'''''  
 
| bgcolor="#999999" align="center" | '''''Part Types'''''  
Line 12: Line 12:
 
|-
 
|-
 
| bgcolor="#cccccc" | ''DataItem<sup>1</sup>''  
 
| bgcolor="#cccccc" | ''DataItem<sup>1</sup>''  
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" | ''Function<sup>2, 5</sup>''  
 
| bgcolor="#cccccc" | ''Function<sup>2, 5</sup>''  
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>''  
 
| bgcolor="#cccccc" | ''Top-level function<sup>2, 5</sup>''  
| <br>  
+
| <br>done
| <br>  
+
| <br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>''  
 
| bgcolor="#cccccc" | ''Delegate<sup>2</sup>''  
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Record''<br>  
+
| bgcolor="#cccccc" | ''Record''<br>
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Structured Record''<br>  
+
| bgcolor="#cccccc" | ''Structured Record''<br>
| <br>  
+
| <br>done
 
| N/S  
 
| N/S  
 
| N/S  
 
| N/S  
 
| N/S
 
| N/S
 
|-
 
|-
| bgcolor="#cccccc" | ''ExternalType''<br>  
+
| bgcolor="#cccccc" | ''ExternalType''<br>
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Handler''<br>  
+
| bgcolor="#cccccc" | ''Handler''<br>
| <br>  
+
| <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>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Library''<br>  
+
| bgcolor="#cccccc" | ''Library''<br>
| <br>  
+
| <br>done
| done<br>  
+
| done<br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Service''<br>  
+
| bgcolor="#cccccc" | ''Service''<br>
| <br>  
+
| <br>1d
| <br>  
+
| <br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br>  
+
| bgcolor="#cccccc" | ''Interface<sup>3</sup>''<br>
| <br>  
+
| <br>done
| <br>  
+
| <br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Enumeration''<br>  
+
| bgcolor="#cccccc" | ''Enumeration''<br>
| <br>  
+
| <br>
| [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>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Program<sup>4</sup>''<br>  
+
| bgcolor="#cccccc" | ''Program<sup>4</sup>''<br>
| <br>  
+
| <br>done
| N/S<br>  
+
| N/S<br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Array''<br>  
+
| bgcolor="#cccccc" | ''Array''<br>
| <br>  
+
| <br>
| <br>  
+
| <br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''Nullability<sup>6</sup>''<br>  
+
| bgcolor="#cccccc" | ''Nullability<sup>6</sup>''<br>
| <br>  
+
| <br>
| <br>  
+
| <br>
| <br>  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
| bgcolor="#cccccc" | ''DataTable''<br>  
+
| bgcolor="#cccccc" | ''DataTable''<br>
| <br>  
+
| <br>done
 
| N/S  
 
| N/S  
 
| N/S  
 
| N/S  
 
| N/S
 
| N/S
 
|-
 
|-
| bgcolor="#cccccc" | ''Form''<br>  
+
| bgcolor="#cccccc" | ''Form''<br>
| <br>  
+
| <br>done
 
| N/S  
 
| N/S  
 
| N/S  
 
| N/S  
Line 114: Line 114:
 
|}
 
|}
  
'''Notes on Table 1'''<br>  
+
'''Notes on Table 1'''<br>
  
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.</span>  
+
#<span style="background: rgb(255,165,0)">In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.</span>  
 
#See also Table 2: Function Parameters.  
 
#See also Table 2: Function Parameters.  
#Interfaces can be implemented by services <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">and handlers (every kind of "logic part" which can be instantiated)</span>.  
+
#Interfaces can be implemented by services <span style="background: rgb(255,165,0)">and handlers (every kind of "logic part" which can be instantiated)</span>.  
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".</span>  
+
#<span style="background: rgb(255,165,0)">There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".</span>  
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">We intend to support function overloading in all implementations, even JavaScript.</span>  
+
#<span style="background: rgb(255,165,0)">We intend to support function overloading in all implementations, even JavaScript.</span>  
#<span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">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.</span> The string concatenation operators will work the same as in RBD with respect to nulls. &nbsp;:: treats null as the empty string, and&nbsp;?: results in null if either operand is null. <span style="background: none repeat scroll 0% 0% rgb(255, 165, 0);">A question mark won't be allowed on the second operand of the AS and ISA operators (the name of the type).</span>
+
#<span style="background: rgb(255,165,0)">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.</span> The string concatenation operators will work the same as in RBD with respect to nulls. &nbsp;:: treats null as the empty string, and&nbsp;?: results in null if either operand is null. <span style="background: rgb(255,165,0)">A question mark won't be allowed on the second operand of the AS and ISA operators (the name of the type).</span>

Revision as of 14:15, 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


Record

done
JS:Record


Structured Record

done
N/S N/S N/S
ExternalType

done
JS:ExternalType


Handler

1d
JS:Handler


Library

done
done


Service

1d



Interface3

done



Enumeration

JS: Enumeration


Program4

done
N/S


Array




Nullability6




DataTable

done
N/S N/S N/S
Form

done
N/S N/S N/S

Notes on Table 1

  1. In RBD a DataItem can only be used for primitive types. In EDT it can be used for any type.
  2. See also Table 2: Function Parameters.
  3. Interfaces can be implemented by services and handlers (every kind of "logic part" which can be instantiated).
  4. There are no called programs in EDT. Use libraries for "local calls" and services for "remote calls".
  5. We intend to support function overloading in all implementations, even JavaScript.
  6. 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).