Community
Participate
Working Groups
record myannot type annotation i int[] = [1,2]; s string = "foo"; end Here's the output for myannot.eglxml: <?xml version="1.0" encoding="iso-8859-1"?> <AnnotationType ID="1" eClass="org.eclipse.edt.mof.egl.AnnotationType" isAbstract="false" isInterface="false" name="myannot" hasCompileErrors="false" packageName="pkg" > <eFields ID="2" eClass="org.eclipse.edt.mof.EField" name="i" eType="org.eclipse.edt.mof.EList<org.eclipse.edt.mof.EInt32>" nullable="false" isTransient="false" containment="true" > <declarer IDREF="1"/> </eFields> <eFields ID="3" eClass="org.eclipse.edt.mof.EField" name="s" eType="org.eclipse.edt.mof.EString" nullable="false" isTransient="false" containment="true" initialValue="foo" > <declarer IDREF="1"/> </eFields> </AnnotationType> As you can see the string field has an initialValue but the array field does not.
I have fixed this. The initial values for annotation fields are now stored as literal expressions. These expressions are then converted to the appropriate java object when the annotationType is instatiated.
Verified