Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gifbin129 -> 307 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gifbin129 -> 197 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gifbin129 -> 304 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gifbin129 -> 443 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gifbin129 -> 139 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gifbin129 -> 211 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Expression.gifbin0 -> 88 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gifbin129 -> 211 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gifbin129 -> 361 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gifbin129 -> 197 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gifbin129 -> 155 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gifbin129 -> 229 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListConstruction.gifbin0 -> 355 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gifbin129 -> 197 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gifbin129 -> 193 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gifbin129 -> 361 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gifbin129 -> 197 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StaticAccess.gifbin0 -> 193 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gifbin129 -> 304 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gifbin129 -> 0 bytes
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties5
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/AccessItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java)89
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java63
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java100
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java24
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListConstructionItemProvider.java248
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java100
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java12
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StaticAccessItemProvider.java (renamed from plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java)45
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore20
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag208
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Access.java49
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java33
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java4
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java36
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java397
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListConstruction.java (renamed from plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListValue.java)8
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java29
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/StaticAccess.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/This.java17
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/AccessImpl.java209
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java143
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java20
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java70
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java141
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java192
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java187
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java7
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListConstructionImpl.java (renamed from plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListValueImpl.java)70
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java113
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java175
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/StaticAccessImpl.java77
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ThisImpl.java85
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java111
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java140
-rw-r--r--plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsUtil.java136
-rw-r--r--plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/PermissionFilterImpl.java2
80 files changed, 2091 insertions, 1291 deletions
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif
index cdd3b76e3c..1fe3fbab8d 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/BooleanValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif
index 7bac4fd380..27a4e5ffbd 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ByteValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif
index 4365960a04..f568fe280b 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/CharValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif
index 90d10f9470..d8f32d8f29 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContainedObject.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif
index b3643da048..ac711ac6bb 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif
deleted file mode 100644
index ea58a657dc..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ContextValue.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif
index 2124f3e3ab..82d588cb82 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/DoubleValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif
deleted file mode 100644
index cdd3b76e3c..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAnnotation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif
deleted file mode 100644
index 89ad5da38a..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EAttribute.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif
deleted file mode 100644
index 739ebbfa6a..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EClass.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif
deleted file mode 100644
index 2124f3e3ab..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EDataType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif
deleted file mode 100644
index db7414e937..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnum.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif
deleted file mode 100644
index 2b69256029..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EEnumLiteral.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif
deleted file mode 100644
index c4fb30e968..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EFactory.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif
deleted file mode 100644
index 498364f1c1..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EGenericType.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif
deleted file mode 100644
index 33854e98c2..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EObject.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif
deleted file mode 100644
index c3370c7ddd..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EOperation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif
deleted file mode 100644
index db7414e937..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EPackage.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif
deleted file mode 100644
index c673a5200a..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EParameter.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif
deleted file mode 100644
index 7b7c428c71..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EReference.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif
deleted file mode 100644
index e4bc22dd17..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/EStringToStringMapEntry.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif
deleted file mode 100644
index c4fb30e968..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ETypeParameter.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Expression.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Expression.gif
new file mode 100644
index 0000000000..4c5d117d5d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Expression.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif
deleted file mode 100644
index 35ef84e20e..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FeatureAccess.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif
index e4bc22dd17..82d588cb82 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FloatValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif
index a3908bcf7b..b394107797 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/FunctionInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif
index 136e3b2726..27a4e5ffbd 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/IntValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif
index 9250fecbff..80ed6161ab 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedExpression.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif
index 5915591825..d200d1b49e 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LinkedObject.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif
deleted file mode 100644
index 7bac4fd380..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListAccess.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListConstruction.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListConstruction.gif
new file mode 100644
index 0000000000..e0347d8afa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListConstruction.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif
deleted file mode 100644
index c3370c7ddd..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ListValue.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif
index 498364f1c1..27a4e5ffbd 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/LongValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif
index 33854e98c2..7756600a53 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif
index 35ef84e20e..b394107797 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/MemberInvocation.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif
deleted file mode 100644
index 89ad5da38a..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/Not.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif
deleted file mode 100644
index 94c953e013..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ObjectValue.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif
deleted file mode 100644
index c8d381f0b3..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperationInvocation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif
deleted file mode 100644
index a26660ec28..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/OperatorInvocation.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif
index b1f8afa476..27a4e5ffbd 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/ShortValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StaticAccess.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StaticAccess.gif
new file mode 100644
index 0000000000..7756600a53
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StaticAccess.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif
index c414fe9f72..f568fe280b 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/StringValue.gif
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif b/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif
deleted file mode 100644
index cdd3b76e3c..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/icons/full/obj16/This.gif
+++ /dev/null
Binary files differ
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties
index fee83b5b03..fd5c68cc6c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/plugin.properties
@@ -203,3 +203,8 @@ _UI_EGenericType_eLowerBound_feature = ELower Bound
_UI_EGenericType_eTypeParameter_feature = EType Parameter
_UI_EGenericType_eClassifier_feature = EClassifier
_UI_ETypeParameter_eBounds_feature = EBounds
+_UI_Access_type = Access
+_UI_StaticAccess_type = Static Access
+_UI_ListConstruction_type = List Construction
+_UI_Access_name_feature = Name
+_UI_ListConstruction_elements_feature = Elements
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/AccessItemProvider.java
index dcc9007c8d..9036488da2 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListValueItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/AccessItemProvider.java
@@ -2,13 +2,21 @@
*/
package org.eclipse.emf.cdo.expressions.provider;
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.cdo.expressions.Access;
import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.ListValue;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
import org.eclipse.emf.ecore.EStructuralFeature;
+
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemColorProvider;
import org.eclipse.emf.edit.provider.IItemFontProvider;
@@ -20,18 +28,16 @@ import org.eclipse.emf.edit.provider.ITableItemColorProvider;
import org.eclipse.emf.edit.provider.ITableItemFontProvider;
import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-import java.util.Collection;
-import java.util.List;
-
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ListValue} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.Access} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class ListValueItemProvider extends ValueItemProvider implements IEditingDomainItemProvider,
+public class AccessItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
{
@@ -41,7 +47,7 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
* <!-- end-user-doc -->
* @generated
*/
- public ListValueItemProvider(AdapterFactory adapterFactory)
+ public AccessItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -77,7 +83,7 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
if (childrenFeatures == null)
{
super.getChildrenFeatures(object);
- childrenFeatures.add(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS);
+ childrenFeatures.add(ExpressionsPackage.Literals.ACCESS__NAME);
}
return childrenFeatures;
}
@@ -97,15 +103,14 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
}
/**
- * This returns ListValue.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Object getImage(Object object)
+ public boolean hasChildren(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/ListValue"));
+ return hasChildren(object, true);
}
/**
@@ -128,7 +133,7 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
@Override
public String getText(Object object)
{
- return getString("_UI_ListValue_type");
+ return getString("_UI_Access_type");
}
/**
@@ -143,9 +148,9 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
{
updateChildren(notification);
- switch (notification.getFeatureID(ListValue.class))
+ switch (notification.getFeatureID(Access.class))
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.ACCESS__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -164,59 +169,71 @@ public class ListValueItemProvider extends ValueItemProvider implements IEditing
{
super.collectNewChildDescriptors(newChildDescriptors, object);
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createBooleanValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createByteValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createShortValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createIntValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createLongValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createFloatValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createDoubleValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createCharValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createStringValue()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createMemberInvocation()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createMemberAccess()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createContextAccess()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
- ExpressionsFactory.eINSTANCE.createThis()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createContainedObject()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createLinkedObject()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS,
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.ACCESS__NAME,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java
index 378e4a4ac6..75a2e0a38c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ContextAccessItemProvider.java
@@ -2,14 +2,8 @@
*/
package org.eclipse.emf.cdo.expressions.provider;
-import org.eclipse.emf.cdo.expressions.ContextAccess;
-import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemColorProvider;
import org.eclipse.emf.edit.provider.IItemFontProvider;
@@ -21,10 +15,6 @@ import org.eclipse.emf.edit.provider.ITableItemColorProvider;
import org.eclipse.emf.edit.provider.ITableItemFontProvider;
import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-import org.eclipse.emf.edit.provider.ViewerNotification;
-
import java.util.Collection;
import java.util.List;
@@ -34,7 +24,7 @@ import java.util.List;
* <!-- end-user-doc -->
* @generated
*/
-public class ContextAccessItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class ContextAccessItemProvider extends AccessItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
{
@@ -62,39 +52,11 @@ public class ContextAccessItemProvider extends ItemProviderAdapter implements IE
{
super.getPropertyDescriptors(object);
- addNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
- * This adds a property descriptor for the Name feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected void addNamePropertyDescriptor(Object object)
- {
- itemPropertyDescriptors.add(createItemPropertyDescriptor(
- ((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(),
- getString("_UI_ContextAccess_name_feature"),
- getString("_UI_PropertyDescriptor_description", "_UI_ContextAccess_name_feature", "_UI_ContextAccess_type"),
- ExpressionsPackage.Literals.CONTEXT_ACCESS__NAME, true, false, false,
- ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null));
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
* This returns ContextAccess.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -126,9 +88,7 @@ public class ContextAccessItemProvider extends ItemProviderAdapter implements IE
@Override
public String getText(Object object)
{
- String label = ((ContextAccess)object).getName();
- return label == null || label.length() == 0 ? getString("_UI_ContextAccess_type")
- : getString("_UI_ContextAccess_type") + " " + label;
+ return getString("_UI_ContextAccess_type");
}
/**
@@ -142,13 +102,6 @@ public class ContextAccessItemProvider extends ItemProviderAdapter implements IE
public void notifyChanged(Notification notification)
{
updateChildren(notification);
-
- switch (notification.getFeatureID(ContextAccess.class))
- {
- case ExpressionsPackage.CONTEXT_ACCESS__NAME:
- fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
- return;
- }
super.notifyChanged(notification);
}
@@ -165,16 +118,4 @@ public class ContextAccessItemProvider extends ItemProviderAdapter implements IE
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return ((IChildCreationExtender)adapterFactory).getResourceLocator();
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java
index 53a5e5f771..906e535362 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ExpressionsItemProviderAdapterFactory.java
@@ -324,31 +324,6 @@ public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFac
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ListValue} instances.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ListValueItemProvider listValueItemProvider;
-
- /**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ListValue}.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Adapter createListValueAdapter()
- {
- if (listValueItemProvider == null)
- {
- listValueItemProvider = new ListValueItemProvider(this);
- }
-
- return listValueItemProvider;
- }
-
- /**
* This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.FunctionInvocation} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -399,78 +374,78 @@ public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFac
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.MemberAccess} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.StaticAccess} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected MemberAccessItemProvider memberAccessItemProvider;
+ protected StaticAccessItemProvider staticAccessItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.MemberAccess}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.StaticAccess}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createMemberAccessAdapter()
+ public Adapter createStaticAccessAdapter()
{
- if (memberAccessItemProvider == null)
+ if (staticAccessItemProvider == null)
{
- memberAccessItemProvider = new MemberAccessItemProvider(this);
+ staticAccessItemProvider = new StaticAccessItemProvider(this);
}
- return memberAccessItemProvider;
+ return staticAccessItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ContextAccess} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.MemberAccess} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected ContextAccessItemProvider contextAccessItemProvider;
+ protected MemberAccessItemProvider memberAccessItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ContextAccess}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.MemberAccess}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createContextAccessAdapter()
+ public Adapter createMemberAccessAdapter()
{
- if (contextAccessItemProvider == null)
+ if (memberAccessItemProvider == null)
{
- contextAccessItemProvider = new ContextAccessItemProvider(this);
+ memberAccessItemProvider = new MemberAccessItemProvider(this);
}
- return contextAccessItemProvider;
+ return memberAccessItemProvider;
}
/**
- * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.This} instances.
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ContextAccess} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected ThisItemProvider thisItemProvider;
+ protected ContextAccessItemProvider contextAccessItemProvider;
/**
- * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.This}.
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ContextAccess}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
- public Adapter createThisAdapter()
+ public Adapter createContextAccessAdapter()
{
- if (thisItemProvider == null)
+ if (contextAccessItemProvider == null)
{
- thisItemProvider = new ThisItemProvider(this);
+ contextAccessItemProvider = new ContextAccessItemProvider(this);
}
- return thisItemProvider;
+ return contextAccessItemProvider;
}
/**
@@ -549,6 +524,31 @@ public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFac
}
/**
+ * This keeps track of the one adapter used for all {@link org.eclipse.emf.cdo.expressions.ListConstruction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ListConstructionItemProvider listConstructionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.emf.cdo.expressions.ListConstruction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createListConstructionAdapter()
+ {
+ if (listConstructionItemProvider == null)
+ {
+ listConstructionItemProvider = new ListConstructionItemProvider(this);
+ }
+
+ return listConstructionItemProvider;
+ }
+
+ /**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -707,24 +707,24 @@ public class ExpressionsItemProviderAdapterFactory extends ExpressionsAdapterFac
charValueItemProvider.dispose();
if (stringValueItemProvider != null)
stringValueItemProvider.dispose();
- if (listValueItemProvider != null)
- listValueItemProvider.dispose();
if (functionInvocationItemProvider != null)
functionInvocationItemProvider.dispose();
if (memberInvocationItemProvider != null)
memberInvocationItemProvider.dispose();
+ if (staticAccessItemProvider != null)
+ staticAccessItemProvider.dispose();
if (memberAccessItemProvider != null)
memberAccessItemProvider.dispose();
if (contextAccessItemProvider != null)
contextAccessItemProvider.dispose();
- if (thisItemProvider != null)
- thisItemProvider.dispose();
if (containedObjectItemProvider != null)
containedObjectItemProvider.dispose();
if (linkedObjectItemProvider != null)
linkedObjectItemProvider.dispose();
if (linkedExpressionItemProvider != null)
linkedExpressionItemProvider.dispose();
+ if (listConstructionItemProvider != null)
+ listConstructionItemProvider.dispose();
}
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java
index a6f430b606..0f1de4e66e 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/InvocationItemProvider.java
@@ -196,22 +196,19 @@ public class InvocationItemProvider extends ItemProviderAdapter implements IEdit
ExpressionsFactory.eINSTANCE.createStringValue()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
ExpressionsFactory.eINSTANCE.createMemberInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
- ExpressionsFactory.eINSTANCE.createMemberAccess()));
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
- ExpressionsFactory.eINSTANCE.createContextAccess()));
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
- ExpressionsFactory.eINSTANCE.createThis()));
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
ExpressionsFactory.eINSTANCE.createContainedObject()));
@@ -222,6 +219,9 @@ public class InvocationItemProvider extends ItemProviderAdapter implements IEdit
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__ARGUMENTS,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
+
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
ExpressionsFactory.eINSTANCE.createBooleanValue()));
@@ -250,22 +250,19 @@ public class InvocationItemProvider extends ItemProviderAdapter implements IEdit
ExpressionsFactory.eINSTANCE.createStringValue()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
ExpressionsFactory.eINSTANCE.createMemberInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
- ExpressionsFactory.eINSTANCE.createMemberAccess()));
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
- ExpressionsFactory.eINSTANCE.createContextAccess()));
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
- ExpressionsFactory.eINSTANCE.createThis()));
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
ExpressionsFactory.eINSTANCE.createContainedObject()));
@@ -275,6 +272,9 @@ public class InvocationItemProvider extends ItemProviderAdapter implements IEdit
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.INVOCATION__NAME,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListConstructionItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListConstructionItemProvider.java
new file mode 100644
index 0000000000..f83048220e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ListConstructionItemProvider.java
@@ -0,0 +1,248 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.provider;
+
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.ListConstruction;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.edit.provider.IChildCreationExtender;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemColorProvider;
+import org.eclipse.emf.edit.provider.IItemFontProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITableItemColorProvider;
+import org.eclipse.emf.edit.provider.ITableItemFontProvider;
+import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import java.util.Collection;
+import java.util.List;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.ListConstruction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ListConstructionItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+ IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
+ ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
+{
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ListConstructionItemProvider(AdapterFactory adapterFactory)
+ {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object)
+ {
+ if (itemPropertyDescriptors == null)
+ {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
+ * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
+ * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object)
+ {
+ if (childrenFeatures == null)
+ {
+ super.getChildrenFeatures(object);
+ childrenFeatures.add(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS);
+ }
+ return childrenFeatures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EStructuralFeature getChildFeature(Object object, Object child)
+ {
+ // Check the type of the specified child object and return the proper feature to use for
+ // adding (see {@link AddCommand}) it as a child.
+
+ return super.getChildFeature(object, child);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean hasChildren(Object object)
+ {
+ return hasChildren(object, true);
+ }
+
+ /**
+ * This returns ListConstruction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object)
+ {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ListConstruction"));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected boolean shouldComposeCreationImage()
+ {
+ return true;
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object)
+ {
+ return getString("_UI_ListConstruction_type");
+ }
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification)
+ {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ListConstruction.class))
+ {
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object)
+ {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createBooleanValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createByteValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createShortValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createIntValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLongValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createFloatValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createDoubleValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createCharValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createStringValue()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberInvocation()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createContainedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedObject()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator()
+ {
+ return ((IChildCreationExtender)adapterFactory).getResourceLocator();
+ }
+
+}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java
index 7ef8c36de7..6c4749007c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberAccessItemProvider.java
@@ -5,12 +5,9 @@ package org.eclipse.emf.cdo.expressions.provider;
import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
import org.eclipse.emf.cdo.expressions.MemberAccess;
-
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
-import org.eclipse.emf.edit.provider.IChildCreationExtender;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemColorProvider;
import org.eclipse.emf.edit.provider.IItemFontProvider;
@@ -22,9 +19,7 @@ import org.eclipse.emf.edit.provider.ITableItemColorProvider;
import org.eclipse.emf.edit.provider.ITableItemFontProvider;
import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
-
import java.util.Collection;
import java.util.List;
@@ -34,7 +29,7 @@ import java.util.List;
* <!-- end-user-doc -->
* @generated
*/
-public class MemberAccessItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class MemberAccessItemProvider extends AccessItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
{
@@ -81,7 +76,6 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
{
super.getChildrenFeatures(object);
childrenFeatures.add(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT);
- childrenFeatures.add(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME);
}
return childrenFeatures;
}
@@ -101,17 +95,6 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
* This returns MemberAccess.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -161,7 +144,6 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
switch (notification.getFeatureID(MemberAccess.class))
{
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
@@ -208,22 +190,19 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
ExpressionsFactory.eINSTANCE.createStringValue()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
ExpressionsFactory.eINSTANCE.createMemberInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
- ExpressionsFactory.eINSTANCE.createMemberAccess()));
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
- ExpressionsFactory.eINSTANCE.createContextAccess()));
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
- ExpressionsFactory.eINSTANCE.createThis()));
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
ExpressionsFactory.eINSTANCE.createContainedObject()));
@@ -234,59 +213,8 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
ExpressionsFactory.eINSTANCE.createLinkedExpression()));
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createBooleanValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createByteValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createShortValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createIntValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createLongValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createFloatValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createDoubleValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createCharValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createStringValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createMemberInvocation()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createMemberAccess()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createContextAccess()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createThis()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createContainedObject()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createLinkedObject()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__NAME,
- ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
}
/**
@@ -301,8 +229,8 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
Object childFeature = feature;
Object childObject = child;
- boolean qualify = childFeature == ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT
- || childFeature == ExpressionsPackage.Literals.MEMBER_ACCESS__NAME;
+ boolean qualify = childFeature == ExpressionsPackage.Literals.ACCESS__NAME
+ || childFeature == ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT;
if (qualify)
{
@@ -312,16 +240,4 @@ public class MemberAccessItemProvider extends ItemProviderAdapter implements IEd
return super.getCreateChildText(owner, feature, child, selection);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return ((IChildCreationExtender)adapterFactory).getResourceLocator();
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java
index 8306a42c90..4c8b99b376 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/MemberInvocationItemProvider.java
@@ -192,22 +192,19 @@ public class MemberInvocationItemProvider extends InvocationItemProvider impleme
ExpressionsFactory.eINSTANCE.createStringValue()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
- ExpressionsFactory.eINSTANCE.createListValue()));
-
- newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
ExpressionsFactory.eINSTANCE.createFunctionInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
ExpressionsFactory.eINSTANCE.createMemberInvocation()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
- ExpressionsFactory.eINSTANCE.createMemberAccess()));
+ ExpressionsFactory.eINSTANCE.createStaticAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
- ExpressionsFactory.eINSTANCE.createContextAccess()));
+ ExpressionsFactory.eINSTANCE.createMemberAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
- ExpressionsFactory.eINSTANCE.createThis()));
+ ExpressionsFactory.eINSTANCE.createContextAccess()));
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
ExpressionsFactory.eINSTANCE.createContainedObject()));
@@ -217,6 +214,9 @@ public class MemberInvocationItemProvider extends InvocationItemProvider impleme
newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
ExpressionsFactory.eINSTANCE.createLinkedExpression()));
+
+ newChildDescriptors.add(createChildParameter(ExpressionsPackage.Literals.MEMBER_INVOCATION__OBJECT,
+ ExpressionsFactory.eINSTANCE.createListConstruction()));
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StaticAccessItemProvider.java
index d5725f0633..be1473b6c5 100644
--- a/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/ThisItemProvider.java
+++ b/plugins/org.eclipse.emf.cdo.expressions.edit/src/org/eclipse/emf/cdo/expressions/provider/StaticAccessItemProvider.java
@@ -2,10 +2,12 @@
*/
package org.eclipse.emf.cdo.expressions.provider;
+import java.util.Collection;
+import java.util.List;
+
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
-import org.eclipse.emf.common.util.ResourceLocator;
-import org.eclipse.emf.edit.provider.IChildCreationExtender;
+
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemColorProvider;
import org.eclipse.emf.edit.provider.IItemFontProvider;
@@ -17,18 +19,14 @@ import org.eclipse.emf.edit.provider.ITableItemColorProvider;
import org.eclipse.emf.edit.provider.ITableItemFontProvider;
import org.eclipse.emf.edit.provider.ITableItemLabelProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-import org.eclipse.emf.edit.provider.ItemProviderAdapter;
-
-import java.util.Collection;
-import java.util.List;
/**
- * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.This} object.
+ * This is the item provider adapter for a {@link org.eclipse.emf.cdo.expressions.StaticAccess} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
-public class ThisItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider,
+public class StaticAccessItemProvider extends AccessItemProvider implements IEditingDomainItemProvider,
IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource,
ITableItemLabelProvider, ITableItemColorProvider, ITableItemFontProvider, IItemColorProvider, IItemFontProvider
{
@@ -38,7 +36,7 @@ public class ThisItemProvider extends ItemProviderAdapter implements IEditingDom
* <!-- end-user-doc -->
* @generated
*/
- public ThisItemProvider(AdapterFactory adapterFactory)
+ public StaticAccessItemProvider(AdapterFactory adapterFactory)
{
super(adapterFactory);
}
@@ -61,18 +59,7 @@ public class ThisItemProvider extends ItemProviderAdapter implements IEditingDom
}
/**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean hasChildren(Object object)
- {
- return hasChildren(object, true);
- }
-
- /**
- * This returns This.gif.
+ * This returns StaticAccess.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -80,7 +67,7 @@ public class ThisItemProvider extends ItemProviderAdapter implements IEditingDom
@Override
public Object getImage(Object object)
{
- return overlayImage(object, getResourceLocator().getImage("full/obj16/This"));
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/StaticAccess"));
}
/**
@@ -103,7 +90,7 @@ public class ThisItemProvider extends ItemProviderAdapter implements IEditingDom
@Override
public String getText(Object object)
{
- return getString("_UI_This_type");
+ return getString("_UI_StaticAccess_type");
}
/**
@@ -133,16 +120,4 @@ public class ThisItemProvider extends ItemProviderAdapter implements IEditingDom
super.collectNewChildDescriptors(newChildDescriptors, object);
}
- /**
- * Return the resource locator for this item provider's resources.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public ResourceLocator getResourceLocator()
- {
- return ((IChildCreationExtender)adapterFactory).getResourceLocator();
- }
-
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore
index 3fcde90861..0e2049e08f 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore
+++ b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecore
@@ -39,10 +39,6 @@
<eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="#//Value">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="literal" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ListValue" eSuperTypes="#//Value">
- <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
- eType="#//Expression" containment="true"/>
- </eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Invocation" abstract="true" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" upperBound="-1"
eType="#//Expression" containment="true"/>
@@ -54,16 +50,16 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
eType="#//Expression" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="MemberAccess" eSuperTypes="#//Expression">
- <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
- eType="#//Expression" containment="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Access" abstract="true" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="name" lowerBound="1" eType="#//Expression"
containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="ContextAccess" eSuperTypes="#//Expression">
- <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eClassifiers xsi:type="ecore:EClass" name="StaticAccess" eSuperTypes="#//Access"/>
+ <eClassifiers xsi:type="ecore:EClass" name="MemberAccess" eSuperTypes="#//Access">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="object" lowerBound="1"
+ eType="#//Expression" containment="true"/>
</eClassifiers>
- <eClassifiers xsi:type="ecore:EClass" name="This" eSuperTypes="#//Expression"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ContextAccess" eSuperTypes="#//Access"/>
<eClassifiers xsi:type="ecore:EClass" name="ContainedObject" eSuperTypes="#//Expression">
<eStructuralFeatures xsi:type="ecore:EReference" name="object" eType="ecore:EClass platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"
containment="true"/>
@@ -75,4 +71,8 @@
<eStructuralFeatures xsi:type="ecore:EReference" name="expression" lowerBound="1"
eType="#//Expression"/>
</eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ListConstruction" eSuperTypes="#//Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
+ eType="#//Expression" containment="true"/>
+ </eClassifiers>
</ecore:EPackage>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag
index cba4671201..aad5d82a5e 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag
+++ b/plugins/org.eclipse.emf.cdo.expressions/model/expressions.ecorediag
@@ -14,14 +14,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ai9gwR7EEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//Expression"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ai9gwh7EEeOJ3sK94Szb0A" x="210" y="30"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="_R17pwB7FEeOJ3sK94Szb0A" type="1004">
- <children xmi:type="notation:Node" xmi:id="_R2EzsB7FEeOJ3sK94Szb0A" type="4008"/>
- <children xmi:type="notation:Node" xmi:id="_R2FawB7FEeOJ3sK94Szb0A" type="4009"/>
- <styles xmi:type="notation:ShapeStyle" xmi:id="_R17pwR7FEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EDataType" href="expressions.ecore#//EvaluationContext"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R17pwh7FEeOJ3sK94Szb0A" x="270" y="818" width="424"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ai9gwh7EEeOJ3sK94Szb0A" x="170" y="25"/>
</children>
<children xmi:type="notation:Node" xmi:id="_sGM1kB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_sGOqwB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -37,7 +30,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_sGM1kR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//Value"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGM1kh7mEeOJ3sK94Szb0A" x="70" y="170"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_sGM1kh7mEeOJ3sK94Szb0A" x="30" y="165"/>
</children>
<children xmi:type="notation:Node" xmi:id="_tesSgB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_tetgoB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -53,7 +46,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_tesSgR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//BooleanValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tesSgh7mEeOJ3sK94Szb0A" x="70" y="250"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tesSgh7mEeOJ3sK94Szb0A" x="30" y="245"/>
</children>
<children xmi:type="notation:Node" xmi:id="_t6kWMB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_t6lkUB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -69,7 +62,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_t6kWMR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//ByteValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6kWMh7mEeOJ3sK94Szb0A" x="94" y="315"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t6kWMh7mEeOJ3sK94Szb0A" x="54" y="310"/>
</children>
<children xmi:type="notation:Node" xmi:id="_uNX9cB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_uNZLkB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -85,7 +78,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_uNX9cR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//ShortValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uNX9ch7mEeOJ3sK94Szb0A" x="86" y="380"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_uNX9ch7mEeOJ3sK94Szb0A" x="46" y="375"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ui3sUB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_ui4TYB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -101,7 +94,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ui3sUR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//IntValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ui3sUh7mEeOJ3sK94Szb0A" x="97" y="445"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ui3sUh7mEeOJ3sK94Szb0A" x="57" y="440"/>
</children>
<children xmi:type="notation:Node" xmi:id="_u7wtcB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_u7yioB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -117,7 +110,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_u7wtcR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//LongValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u7wtch7mEeOJ3sK94Szb0A" x="89" y="510"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_u7wtch7mEeOJ3sK94Szb0A" x="49" y="505"/>
</children>
<children xmi:type="notation:Node" xmi:id="_vQaHwB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_vQb88B7mEeOJ3sK94Szb0A" type="4001"/>
@@ -133,7 +126,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_vQau0B7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//FloatValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vQau0R7mEeOJ3sK94Szb0A" x="89" y="575"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vQau0R7mEeOJ3sK94Szb0A" x="49" y="570"/>
</children>
<children xmi:type="notation:Node" xmi:id="_vjusYB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_vjwhkB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -149,7 +142,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_vjvTcB7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//DoubleValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjvTcR7mEeOJ3sK94Szb0A" x="76" y="640"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vjvTcR7mEeOJ3sK94Szb0A" x="36" y="635"/>
</children>
<children xmi:type="notation:Node" xmi:id="_wPPukB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_wPQ8sB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -165,7 +158,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_wPPukR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//CharValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wPPukh7mEeOJ3sK94Szb0A" x="91" y="705"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wPPukh7mEeOJ3sK94Szb0A" x="51" y="700"/>
</children>
<children xmi:type="notation:Node" xmi:id="_wnpngB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_wnq1oB7mEeOJ3sK94Szb0A" type="4001"/>
@@ -181,39 +174,23 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_wnpngR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//StringValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wnpngh7mEeOJ3sK94Szb0A" x="84" y="770"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wnpngh7mEeOJ3sK94Szb0A" x="44" y="765"/>
</children>
<children xmi:type="notation:Node" xmi:id="_-4IDgB7mEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_-4J4sB7mEeOJ3sK94Szb0A" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="_-4J4sR7mEeOJ3sK94Szb0A" type="5001">
+ <children xmi:type="notation:Node" xmi:id="_-4J4sR7mEeOJ3sK94Szb0A" visible="false" type="5001">
<styles xmi:type="notation:DrawerStyle" xmi:id="_-4J4sh7mEeOJ3sK94Szb0A"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_-4J4sx7mEeOJ3sK94Szb0A"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_-4J4tB7mEeOJ3sK94Szb0A"/>
</children>
- <children xmi:type="notation:Node" xmi:id="_-4KfwB7mEeOJ3sK94Szb0A" type="5002">
+ <children xmi:type="notation:Node" xmi:id="_-4KfwB7mEeOJ3sK94Szb0A" visible="false" type="5002">
<styles xmi:type="notation:DrawerStyle" xmi:id="_-4KfwR7mEeOJ3sK94Szb0A"/>
<styles xmi:type="notation:SortingStyle" xmi:id="_-4Kfwh7mEeOJ3sK94Szb0A"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_-4Kfwx7mEeOJ3sK94Szb0A"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_-4IDgR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//ContextAccess"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4IqkB7mEeOJ3sK94Szb0A" x="305" y="645"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="__Y4nMB7mEeOJ3sK94Szb0A" type="1001">
- <children xmi:type="notation:Node" xmi:id="__Y51UB7mEeOJ3sK94Szb0A" type="4001"/>
- <children xmi:type="notation:Node" xmi:id="__Y51UR7mEeOJ3sK94Szb0A" visible="false" type="5001">
- <styles xmi:type="notation:DrawerStyle" xmi:id="__Y51Uh7mEeOJ3sK94Szb0A"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="__Y51Ux7mEeOJ3sK94Szb0A"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="__Y51VB7mEeOJ3sK94Szb0A"/>
- </children>
- <children xmi:type="notation:Node" xmi:id="__Y6cYB7mEeOJ3sK94Szb0A" visible="false" type="5002">
- <styles xmi:type="notation:DrawerStyle" xmi:id="__Y6cYR7mEeOJ3sK94Szb0A"/>
- <styles xmi:type="notation:SortingStyle" xmi:id="__Y6cYh7mEeOJ3sK94Szb0A"/>
- <styles xmi:type="notation:FilteringStyle" xmi:id="__Y6cYx7mEeOJ3sK94Szb0A"/>
- </children>
- <styles xmi:type="notation:ShapeStyle" xmi:id="__Y4nMR7mEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="expressions.ecore#//This"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Y4nMh7mEeOJ3sK94Szb0A" x="305" y="710"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-4IqkB7mEeOJ3sK94Szb0A" x="274" y="482" width="113"/>
</children>
<children xmi:type="notation:Node" xmi:id="_A1E4YB7nEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_A1GGgB7nEeOJ3sK94Szb0A" type="4001"/>
@@ -229,7 +206,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_A1E4YR7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//LinkedObject"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A1E4Yh7nEeOJ3sK94Szb0A" x="305" y="586" width="122"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_A1E4Yh7nEeOJ3sK94Szb0A" x="274" y="637" width="122"/>
</children>
<children xmi:type="notation:Node" xmi:id="_H3cH4B7nEeOJ3sK94Szb0A" type="1001">
<children xmi:type="notation:Node" xmi:id="_H3dWAB7nEeOJ3sK94Szb0A" type="4001"/>
@@ -245,7 +222,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_H3cH4R7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//MemberAccess"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H3cH4h7nEeOJ3sK94Szb0A" x="305" y="375" width="119" height="61"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_H3cH4h7nEeOJ3sK94Szb0A" x="534" y="482" width="119" height="40"/>
</children>
<children xmi:type="notation:Node" xmi:id="_5dlBIB-8EeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_5dp5oB-8EeOoedksdoeBog" type="4001"/>
@@ -260,8 +237,8 @@
<styles xmi:type="notation:FilteringStyle" xmi:id="_5ds88h-8EeOoedksdoeBog"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_5dloMB-8EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
- <element xmi:type="ecore:EClass" href="expressions.ecore#//ListValue"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5dloMR-8EeOoedksdoeBog" x="97" y="835"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//ListConstruction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5dloMR-8EeOoedksdoeBog" x="274" y="771" width="141"/>
</children>
<children xmi:type="notation:Node" xmi:id="_bWLTQB-9EeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_bWMhYB-9EeOoedksdoeBog" type="4001"/>
@@ -277,7 +254,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_bWLTQR-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//Invocation"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bWLTQh-9EeOoedksdoeBog" x="404" y="166" width="123" height="60"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bWLTQh-9EeOoedksdoeBog" x="399" y="161" width="123" height="60"/>
</children>
<children xmi:type="notation:Node" xmi:id="_vvNo8B-9EeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_vvO3EB-9EeOoedksdoeBog" type="4001"/>
@@ -293,7 +270,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_vvNo8R-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//MemberInvocation"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vvNo8h-9EeOoedksdoeBog" x="487" y="293" width="143"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vvNo8h-9EeOoedksdoeBog" x="470" y="288" width="143"/>
</children>
<children xmi:type="notation:Node" xmi:id="_96W5AB-9EeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_96W5AR-9EeOoedksdoeBog" type="4001"/>
@@ -309,7 +286,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_96W5Ch-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//FunctionInvocation"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_96W5Cx-9EeOoedksdoeBog" x="305" y="293" width="143"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_96W5Cx-9EeOoedksdoeBog" x="315" y="288" width="143"/>
</children>
<children xmi:type="notation:Node" xmi:id="_D7nl8B_AEeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_D7xW8B_AEeOoedksdoeBog" type="4001"/>
@@ -325,7 +302,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_D7nl8R_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//LinkedExpression"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D7nl8h_AEeOoedksdoeBog" x="305" y="456"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D7nl8h_AEeOoedksdoeBog" x="274" y="576" width="128"/>
</children>
<children xmi:type="notation:Node" xmi:id="_Euud4B_AEeOoedksdoeBog" type="1001">
<children xmi:type="notation:Node" xmi:id="_EuvsAB_AEeOoedksdoeBog" type="4001"/>
@@ -341,7 +318,7 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_Euud4R_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="expressions.ecore#//ContainedObject"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Euud4h_AEeOoedksdoeBog" x="305" y="521" width="139"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Euud4h_AEeOoedksdoeBog" x="276" y="702" width="139"/>
</children>
<children xmi:type="notation:Node" xmi:id="_5L96cB_BEeOoedksdoeBog" type="1001">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_5NCRcB_BEeOoedksdoeBog" source="Shortcut">
@@ -360,7 +337,39 @@
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_5L96cR_BEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
<element xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore#//EObject"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5L96ch_BEeOoedksdoeBog" x="507" y="586" width="119"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5L96ch_BEeOoedksdoeBog" x="499" y="702" width="119"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_400MUCFOEeOKDdv6uYyfDg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_401acCFOEeOKDdv6uYyfDg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_402BgCFOEeOKDdv6uYyfDg" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_402BgSFOEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_402BgiFOEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_402BgyFOEeOKDdv6uYyfDg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_403PoCFOEeOKDdv6uYyfDg" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_403PoSFOEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_403PoiFOEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_403PoyFOEeOKDdv6uYyfDg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_400MUSFOEeOKDdv6uYyfDg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//Access"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_400MUiFOEeOKDdv6uYyfDg" x="410" y="358"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_gYfVcCFQEeOKDdv6uYyfDg" type="1001">
+ <children xmi:type="notation:Node" xmi:id="_gYgjkCFQEeOKDdv6uYyfDg" type="4001"/>
+ <children xmi:type="notation:Node" xmi:id="_gYgjkSFQEeOKDdv6uYyfDg" visible="false" type="5001">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_gYgjkiFQEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_gYgjkyFQEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_gYgjlCFQEeOKDdv6uYyfDg"/>
+ </children>
+ <children xmi:type="notation:Node" xmi:id="_gYhKoCFQEeOKDdv6uYyfDg" visible="false" type="5002">
+ <styles xmi:type="notation:DrawerStyle" xmi:id="_gYhKoSFQEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_gYhKoiFQEeOKDdv6uYyfDg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_gYhKoyFQEeOKDdv6uYyfDg"/>
+ </children>
+ <styles xmi:type="notation:ShapeStyle" xmi:id="_gYfVcSFQEeOKDdv6uYyfDg" fontColor="4210752" fontName="Segoe UI" fontHeight="10" fillColor="13761016" lineColor="8421504"/>
+ <element xmi:type="ecore:EClass" href="expressions.ecore#//StaticAccess"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gYfVciFQEeOKDdv6uYyfDg" x="404" y="482" width="113"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_n9VikR7BEeOJ3sK94Szb0A"/>
<element xmi:type="ecore:EPackage" href="expressions.ecore#/"/>
@@ -368,7 +377,7 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_sGgXkR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_sGgXkh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sGgXkx7mEeOJ3sK94Szb0A" points="[0, -24, -189, 116]$[0, -69, -189, 71]$[116, -69, -73, 71]$[116, -115, -73, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_sGgXkx7mEeOJ3sK94Szb0A" points="[0, -24, -189, 116]$[0, -69, -189, 71]$[129, -69, -60, 71]$[129, -115, -60, 25]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_te8KIB7mEeOJ3sK94Szb0A" type="3003" source="_tesSgB7mEeOJ3sK94Szb0A" target="_sGM1kB7mEeOJ3sK94Szb0A">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_te8KIR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
@@ -424,66 +433,60 @@
<element xsi:nil="true"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wn6GMx7mEeOJ3sK94Szb0A" points="[57, 0, 41, 600]$[82, 0, 66, 600]$[82, -575, 66, 25]"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_-4X7IB7mEeOJ3sK94Szb0A" type="3003" source="_-4IDgB7mEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <edges xmi:type="notation:Edge" xmi:id="_-4X7IB7mEeOJ3sK94Szb0A" type="3003" source="_-4IDgB7mEeOJ3sK94Szb0A" target="_400MUCFOEeOKDdv6uYyfDg">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_-4X7IR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_-4X7Ih7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-4X7Ix7mEeOJ3sK94Szb0A" points="[-56, 0, -40, 615]$[-89, 0, -73, 615]$[-89, -590, -73, 25]"/>
- </edges>
- <edges xmi:type="notation:Edge" xmi:id="__ZGCkB7mEeOJ3sK94Szb0A" type="3003" source="__Y4nMB7mEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
- <styles xmi:type="notation:ConnectorStyle" xmi:id="__ZGCkR7mEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
- <styles xmi:type="notation:FontStyle" xmi:id="__ZGCkh7mEeOJ3sK94Szb0A" fontName="Segoe UI"/>
- <element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__ZGCkx7mEeOJ3sK94Szb0A" points="[-50, 0, -40, 675]$[-83, 0, -73, 675]$[-83, -650, -73, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-4X7Ix7mEeOJ3sK94Szb0A" points="[0, -19, -131, 105]$[0, -51, -131, 73]$[130, -51, -1, 73]$[130, -105, -1, 19]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_A1STwB7nEeOJ3sK94Szb0A" type="3003" source="_A1E4YB7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_A1STwR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_A1STwh7nEeOJ3sK94Szb0A" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A1STwx7nEeOJ3sK94Szb0A" points="[-60, -1, -40, 550]$[-93, -1, -73, 550]$[-93, -526, -73, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A1STwx7nEeOJ3sK94Szb0A" points="[-60, 3, -31, 610]$[-89, 3, -60, 610]$[-89, -582, -60, 25]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_H3pjQB7nEeOJ3sK94Szb0A" type="3002" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_H3qxYB7nEeOJ3sK94Szb0A" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYR7nEeOJ3sK94Szb0A" x="-54" y="-269"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYR7nEeOJ3sK94Szb0A" x="-90" y="-269"/>
</children>
<children xmi:type="notation:Node" xmi:id="_H3qxYh7nEeOJ3sK94Szb0A" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYx7nEeOJ3sK94Szb0A" x="109" y="-344"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_H3qxYx7nEeOJ3sK94Szb0A" x="-123" y="-434"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_H3pjQR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_H3pjQh7nEeOJ3sK94Szb0A" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//MemberAccess/object"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3pjQx7nEeOJ3sK94Szb0A" points="[59, -19, 77, 331]$[324, -19, 342, 331]$[324, -350, 342, 0]$[117, -350, 135, 0]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3pjQx7nEeOJ3sK94Szb0A" points="[59, -1, 346, 451]$[98, -1, 385, 451]$[98, -452, 385, 0]$[-152, -452, 135, 0]"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_H3tNoB7nEeOJ3sK94Szb0A" type="3003" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <edges xmi:type="notation:Edge" xmi:id="_H3tNoB7nEeOJ3sK94Szb0A" type="3003" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_400MUCFOEeOKDdv6uYyfDg">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_H3tNoR7nEeOJ3sK94Szb0A" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_H3tNoh7nEeOJ3sK94Szb0A" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3tNox7nEeOJ3sK94Szb0A" points="[-58, 1, -40, 351]$[-91, 1, -73, 351]$[-91, -325, -73, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H3tNox7nEeOJ3sK94Szb0A" points="[0, -19, 132, 105]$[0, -51, 132, 73]$[-133, -51, -1, 73]$[-133, -105, -1, 19]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ma_EgB-9EeOoedksdoeBog" type="3002" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_mbCH0B-9EeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_mbCH0R-9EeOoedksdoeBog" x="-33" y="-172"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mbCH0R-9EeOoedksdoeBog" x="-60" y="-161"/>
</children>
<children xmi:type="notation:Node" xmi:id="_mbDV8B-9EeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_mbDV8R-9EeOoedksdoeBog" x="-81" y="-172"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mbDV8R-9EeOoedksdoeBog" x="-110" y="-164"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ma_EgR-9EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ma_Egh-9EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//Invocation/arguments"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ma_Egx-9EeOoedksdoeBog" points="[61, -20, 133, 138]$[178, -20, 250, 138]$[178, -141, 250, 17]$[16, -141, 88, 17]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ma_Egx-9EeOoedksdoeBog" points="[61, -5, 168, 153]$[171, -5, 278, 153]$[171, -141, 278, 17]$[-19, -141, 88, 17]"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mbKDoB-9EeOoedksdoeBog" id="(0.6764705882352942,0.16279069767441862)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_hxDPgB--EeOoedksdoeBog" type="3002" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_hxD2kB--EeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_hxD2kR--EeOoedksdoeBog" x="93" y="-387"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hxD2kR--EeOoedksdoeBog" x="-28" y="-338"/>
</children>
<children xmi:type="notation:Node" xmi:id="_hxEdoB--EeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_hxEdoR--EeOoedksdoeBog" x="34" y="-434"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_hxEdoR--EeOoedksdoeBog" x="96" y="-561"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_hxDPgR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_hxDPgh--EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//Invocation/name"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hxDPgx--EeOoedksdoeBog" points="[104, 32, 90, 157]$[236, 32, 222, 157]$[236, -124, 222, 1]$[59, -124, 45, 1]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hxDPgx--EeOoedksdoeBog" points="[104, 27, 125, 152]$[229, 27, 250, 152]$[229, -124, 250, 1]$[24, -124, 45, 1]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hxJ9MB--EeOoedksdoeBog" id="(0.14634146341463414,0.21568627450980393)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_hxJ9MR--EeOoedksdoeBog" id="(0.8333333333333334,0.4883720930232558)"/>
</edges>
@@ -491,38 +494,38 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_qGuhAR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_qGuhAh--EeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qGuhAx--EeOoedksdoeBog" points="[-8, -19, 85, 98]$[-8, -47, 85, 70]$[-90, -47, 3, 70]$[-90, -88, 3, 29]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qGuhAx--EeOoedksdoeBog" points="[-4, -19, 77, 98]$[-4, -47, 77, 70]$[-75, -47, 6, 70]$[-75, -88, 6, 29]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_qzsUsB--EeOoedksdoeBog" type="3003" source="_96W5AB-9EeOoedksdoeBog" target="_bWLTQB-9EeOoedksdoeBog">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_qzsUsR--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_qzsUsh--EeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qzsUsx--EeOoedksdoeBog" points="[3, -19, -86, 98]$[3, -47, -86, 70]$[92, -47, 3, 70]$[92, -88, 3, 29]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qzsUsx--EeOoedksdoeBog" points="[-2, -19, -76, 98]$[-2, -47, -76, 70]$[80, -47, 6, 70]$[80, -88, 6, 29]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_uqm74B--EeOoedksdoeBog" type="3002" source="_vvNo8B-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_uqni8B--EeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_uqni8R--EeOoedksdoeBog" x="95" y="-344"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uqni8R--EeOoedksdoeBog" x="-159" y="-469"/>
</children>
<children xmi:type="notation:Node" xmi:id="_uqoKAB--EeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_uqoKAR--EeOoedksdoeBog" x="71" y="-387"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uqoKAR--EeOoedksdoeBog" x="-12" y="-309"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_uqm74R--EeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_uqm74h--EeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//MemberInvocation/object"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uqm74x--EeOoedksdoeBog" points="[71, -1, 201, 264]$[115, -1, 245, 264]$[115, -258, 245, 7]$[-77, -258, 53, 7]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uqm74x--EeOoedksdoeBog" points="[71, -1, 224, 264]$[120, -1, 273, 264]$[120, -258, 273, 7]$[-100, -258, 53, 7]"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_uqtpkB--EeOoedksdoeBog" id="(0.803921568627451,0.3488372093023256)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_D8H8QB_AEeOoedksdoeBog" type="3002" source="_D7nl8B_AEeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_D8JKYB_AEeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYR_AEeOoedksdoeBog" x="150" y="-434"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYR_AEeOoedksdoeBog" x="166" y="-535"/>
</children>
<children xmi:type="notation:Node" xmi:id="_D8JKYh_AEeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYx_AEeOoedksdoeBog" x="-23" y="-239"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D8JKYx_AEeOoedksdoeBog" x="-18" y="-247"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_D8H8QR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_D8H8Qh_AEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//LinkedExpression/expression"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8H8Qx_AEeOoedksdoeBog" points="[60, 20, 80, 397]$[352, 20, 372, 397]$[352, -402, 372, -25]$[115, -402, 135, -25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8H8Qx_AEeOoedksdoeBog" points="[63, 18, 95, 520]$[368, 18, 400, 520]$[368, -527, 400, -25]$[103, -527, 135, -25]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmDwB_BEeOoedksdoeBog" id="(0.5,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmDwR_BEeOoedksdoeBog" id="(0.5,1.0)"/>
</edges>
@@ -530,7 +533,7 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_D8MNsR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_D8MNsh_AEeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8MNsx_AEeOoedksdoeBog" points="[-60, 20, -40, 397]$[-93, 20, -73, 397]$[-93, -377, -73, 0]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D8MNsx_AEeOoedksdoeBog" points="[-63, 18, -31, 520]$[-92, 18, -60, 520]$[-92, -502, -60, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQmq0B_BEeOoedksdoeBog" id="(0.5,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yQnR4B_BEeOoedksdoeBog" id="(0.5,1.0)"/>
</edges>
@@ -538,71 +541,84 @@
<styles xmi:type="notation:ConnectorStyle" xmi:id="_Eu-VgR_AEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_Eu-Vgh_AEeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eu-Vgx_AEeOoedksdoeBog" points="[-68, -1, -40, 485]$[-101, -1, -73, 485]$[-101, -461, -73, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Eu-Vgx_AEeOoedksdoeBog" points="[-68, -1, -29, 671]$[-99, -1, -60, 671]$[-99, -647, -60, 25]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_AH3yEB_BEeOoedksdoeBog" type="3002" source="_5dlBIB-8EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_AIAU8B_BEeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_AIAU8R_BEeOoedksdoeBog" x="10" y="814"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AIAU8R_BEeOoedksdoeBog" x="187" y="-730"/>
</children>
<children xmi:type="notation:Node" xmi:id="_AIA8AB_BEeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_AIA8AR_BEeOoedksdoeBog" x="13" y="785"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AIA8AR_BEeOoedksdoeBog" x="204" y="-751"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_AH3yER_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_AH4ZIB_BEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="expressions.ecore#//ListValue/elements"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AH4ZIR_BEeOoedksdoeBog" points="[-53, 11, -282, 813]$[-118, 11, -347, 813]$[-118, -788, -347, 14]$[60, -788, -169, 14]"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//ListConstruction/elements"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AH4ZIR_BEeOoedksdoeBog" points="[65, 11, 74, 754]$[372, 11, 381, 754]$[372, -729, 381, 14]$[92, -729, 101, 14]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AIHCoB_BEeOoedksdoeBog" id="(0.5392156862745098,0.20930232558139536)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AIHCoR_BEeOoedksdoeBog" id="(0.6286764705882353,0.21568627450980393)"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_Cye-MB_BEeOoedksdoeBog" type="3003" source="_5dlBIB-8EeOoedksdoeBog" target="_sGM1kB7mEeOJ3sK94Szb0A">
+ <edges xmi:type="notation:Edge" xmi:id="_Cye-MB_BEeOoedksdoeBog" type="3003" source="_5dlBIB-8EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_Cye-MR_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_Cye-Mh_BEeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cye-Mx_BEeOoedksdoeBog" points="[50, -1, 41, 659]$[75, -1, 66, 659]$[75, -635, 66, 25]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Cye-Mx_BEeOoedksdoeBog" points="[-69, -1, -31, 740]$[-98, -1, -60, 740]$[-98, -716, -60, 25]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_iGSYUB_BEeOoedksdoeBog" type="3003" source="_bWLTQB-9EeOoedksdoeBog" target="_ai9gwB7EEeOJ3sK94Szb0A">
<styles xmi:type="notation:ConnectorStyle" xmi:id="_iGSYUR_BEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_iGSYUh_BEeOoedksdoeBog" fontName="Segoe UI"/>
<element xsi:nil="true"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iGSYUx_BEeOoedksdoeBog" points="[-12, -10, 35, 122]$[-12, -51, 35, 81]$[-207, -51, -160, 81]$[-207, -97, -160, 35]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_iGSYUx_BEeOoedksdoeBog" points="[-9, -10, 73, 122]$[-9, -51, 73, 81]$[-229, -51, -147, 81]$[-229, -97, -147, 35]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iGWpwB_BEeOoedksdoeBog" id="(0.6260162601626016,0.18604651162790697)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_iGWpwR_BEeOoedksdoeBog" id="(0.8235294117647058,0.29411764705882354)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_HaJQYB_CEeOoedksdoeBog" type="3002" source="_A1E4YB7nEeOJ3sK94Szb0A" target="_5L96cB_BEeOoedksdoeBog">
<children xmi:type="notation:Node" xmi:id="_HaJ3cB_CEeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cR_CEeOoedksdoeBog" x="-20" y="11"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cR_CEeOoedksdoeBog" x="12" y="-24"/>
</children>
<children xmi:type="notation:Node" xmi:id="_HaJ3ch_CEeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cx_CEeOoedksdoeBog" x="-13" y="-10"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_HaJ3cx_CEeOoedksdoeBog" x="12" y="20"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_HaJQYR_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_HaJQYh_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//LinkedObject/object"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HaJQYx_CEeOoedksdoeBog" points="[60, -1, -140, -1]$[142, -1, -58, -1]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HaJQYx_CEeOoedksdoeBog" points="[60, -1, -163, -66]$[224, -1, 1, -66]$[224, 46, 1, -19]"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_IWot0B_CEeOoedksdoeBog" type="3002" source="_Euud4B_AEeOoedksdoeBog" target="_5L96cB_BEeOoedksdoeBog">
<children xmi:type="notation:Node" xmi:id="_IWp78B_CEeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78R_CEeOoedksdoeBog" x="6" y="-25"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78R_CEeOoedksdoeBog" x="-18" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_IWp78h_CEeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78x_CEeOoedksdoeBog" x="6" y="18"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IWp78x_CEeOoedksdoeBog" x="-7" y="11"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_IWot0R_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_IWot0h_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
<element xmi:type="ecore:EReference" href="expressions.ecore#//ContainedObject/object"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IWot0x_CEeOoedksdoeBog" points="[69, -1, -123, -66]$[192, -1, 0, -66]$[192, 46, 0, -19]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IWot0x_CEeOoedksdoeBog" points="[69, -1, -144, -1]$[155, -1, -58, -1]"/>
</edges>
- <edges xmi:type="notation:Edge" xmi:id="_9lS1sB_CEeOoedksdoeBog" type="3002" source="_H3cH4B7nEeOJ3sK94Szb0A" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <edges xmi:type="notation:Edge" xmi:id="_9lS1sB_CEeOoedksdoeBog" type="3002" source="_400MUCFOEeOKDdv6uYyfDg" target="_ai9gwB7EEeOJ3sK94Szb0A">
<children xmi:type="notation:Node" xmi:id="_9lTcwB_CEeOoedksdoeBog" type="4011">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwR_CEeOoedksdoeBog" x="53" y="-134"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwR_CEeOoedksdoeBog" y="-124"/>
</children>
<children xmi:type="notation:Node" xmi:id="_9lTcwh_CEeOoedksdoeBog" type="4012">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwx_CEeOoedksdoeBog" x="25" y="-134"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9lTcwx_CEeOoedksdoeBog" x="-25" y="-124"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_9lS1sR_CEeOoedksdoeBog" routing="Rectilinear" lineColor="4210752"/>
<styles xmi:type="notation:FontStyle" xmi:id="_9lS1sh_CEeOoedksdoeBog" fontColor="4210752" fontName="Segoe UI" fontHeight="10"/>
- <element xmi:type="ecore:EReference" href="expressions.ecore#//MemberAccess/name"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lS1sx_CEeOoedksdoeBog" points="[59, 21, 17, 387]$[339, 21, 297, 387]$[339, -350, 297, 16]$[117, -350, 75, 16]"/>
+ <element xmi:type="ecore:EReference" href="expressions.ecore#//Access/name"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9lS1sx_CEeOoedksdoeBog" points="[8, 2, 145, 343]$[173, 2, 310, 343]$[173, -325, 310, 16]$[-62, -325, 75, 16]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZCexMCFQEeOKDdv6uYyfDg" id="(0.9215686274509803,0.4418604651162791)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9lYVQB_CEeOoedksdoeBog" id="(0.7242647058823529,0.17647058823529413)"/>
</edges>
+ <edges xmi:type="notation:Edge" xmi:id="_q3Ur0CFQEeOKDdv6uYyfDg" type="3003" source="_gYfVcCFQEeOKDdv6uYyfDg" target="_400MUCFOEeOKDdv6uYyfDg">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_q3Ur0SFQEeOKDdv6uYyfDg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_q3Ur0iFQEeOKDdv6uYyfDg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q3Ur0yFQEeOKDdv6uYyfDg" points="[0, -19, -1, 105]$[0, -105, -1, 19]"/>
+ </edges>
+ <edges xmi:type="notation:Edge" xmi:id="_Yp_GwCFSEeOKDdv6uYyfDg" type="3003" source="_400MUCFOEeOKDdv6uYyfDg" target="_ai9gwB7EEeOJ3sK94Szb0A">
+ <styles xmi:type="notation:ConnectorStyle" xmi:id="_Yp_GwSFSEeOKDdv6uYyfDg" routing="Rectilinear" lineColor="4210752"/>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Yp_GwiFSEeOKDdv6uYyfDg" fontName="Segoe UI"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Yp_GwyFSEeOKDdv6uYyfDg" points="[-50, -1, 105, 327]$[-215, -1, -60, 327]$[-215, -303, -60, 25]"/>
+ </edges>
</notation:Diagram>
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Access.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Access.java
new file mode 100644
index 0000000000..a322b39d96
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/Access.java
@@ -0,0 +1,49 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Access</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.Access#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getAccess()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Access extends Expression
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' containment reference.
+ * @see #setName(Expression)
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getAccess_Name()
+ * @model containment="true" required="true"
+ * @generated
+ */
+ Expression getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.Access#getName <em>Name</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' containment reference.
+ * @see #getName()
+ * @generated
+ */
+ void setName(Expression value);
+
+} // Access
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java
index 4ab3d7bf99..9c807eb5e9 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ContextAccess.java
@@ -7,43 +7,12 @@ package org.eclipse.emf.cdo.expressions;
* A representation of the model object '<em><b>Context Value</b></em>'.
* <!-- end-user-doc -->
*
- * <p>
- * The following features are supported:
- * <ul>
- * <li>{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}</li>
- * </ul>
- * </p>
*
* @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContextAccess()
* @model
* @generated
*/
-public interface ContextAccess extends Expression
+public interface ContextAccess extends Access
{
- /**
- * Returns the value of the '<em><b>Name</b></em>' attribute.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' attribute isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' attribute.
- * @see #setName(String)
- * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getContextAccess_Name()
- * @model
- * @generated
- */
- String getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' attribute.
- * @see #getName()
- * @generated
- */
- void setName(String value);
} // ContextValue
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java
index c43bfc4d8d..886f39fc01 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/EvaluationContext.java
@@ -15,9 +15,7 @@ package org.eclipse.emf.cdo.expressions;
*/
public interface EvaluationContext
{
- public static final String THIS = "this";
+ public Class<?> getClass(String name);
public Object get(Object name);
-
- public Object getThis();
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java
index d6eb42eea7..8d2e73729c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsFactory.java
@@ -106,15 +106,6 @@ public interface ExpressionsFactory extends EFactory
StringValue createStringValue();
/**
- * Returns a new object of class '<em>List Value</em>'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return a new object of class '<em>List Value</em>'.
- * @generated
- */
- ListValue createListValue();
-
- /**
* Returns a new object of class '<em>Function Invocation</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -133,31 +124,31 @@ public interface ExpressionsFactory extends EFactory
MemberInvocation createMemberInvocation();
/**
- * Returns a new object of class '<em>Member Access</em>'.
+ * Returns a new object of class '<em>Static Access</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Member Access</em>'.
+ * @return a new object of class '<em>Static Access</em>'.
* @generated
*/
- MemberAccess createMemberAccess();
+ StaticAccess createStaticAccess();
/**
- * Returns a new object of class '<em>Context Access</em>'.
+ * Returns a new object of class '<em>Member Access</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>Context Access</em>'.
+ * @return a new object of class '<em>Member Access</em>'.
* @generated
*/
- ContextAccess createContextAccess();
+ MemberAccess createMemberAccess();
/**
- * Returns a new object of class '<em>This</em>'.
+ * Returns a new object of class '<em>Context Access</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return a new object of class '<em>This</em>'.
+ * @return a new object of class '<em>Context Access</em>'.
* @generated
*/
- This createThis();
+ ContextAccess createContextAccess();
/**
* Returns a new object of class '<em>Contained Object</em>'.
@@ -187,6 +178,15 @@ public interface ExpressionsFactory extends EFactory
LinkedExpression createLinkedExpression();
/**
+ * Returns a new object of class '<em>List Construction</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>List Construction</em>'.
+ * @generated
+ */
+ ListConstruction createListConstruction();
+
+ /**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java
index 60aaec4b71..212dceec0d 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ExpressionsPackage.java
@@ -640,61 +640,6 @@ public interface ExpressionsPackage extends EPackage
int STRING_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ListValueImpl <em>List Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ListValueImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getListValue()
- * @generated
- */
- int LIST_VALUE = 11;
-
- /**
- * The feature id for the '<em><b>Elements</b></em>' containment reference list.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_VALUE__ELEMENTS = VALUE_FEATURE_COUNT + 0;
-
- /**
- * The number of structural features of the '<em>List Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_VALUE_FEATURE_COUNT = VALUE_FEATURE_COUNT + 1;
-
- /**
- * The operation id for the '<em>Evaluate</em>' operation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_VALUE___EVALUATE__EVALUATIONCONTEXT = VALUE___EVALUATE__EVALUATIONCONTEXT;
-
- /**
- * The operation id for the '<em>Get Literal</em>' operation.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_VALUE___GET_LITERAL = VALUE___GET_LITERAL;
-
- /**
- * The number of operations of the '<em>List Value</em>' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- * @ordered
- */
- int LIST_VALUE_OPERATION_COUNT = VALUE_OPERATION_COUNT + 0;
-
- /**
* The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.InvocationImpl <em>Invocation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -702,7 +647,7 @@ public interface ExpressionsPackage extends EPackage
* @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getInvocation()
* @generated
*/
- int INVOCATION = 12;
+ int INVOCATION = 11;
/**
* The feature id for the '<em><b>Arguments</b></em>' containment reference list.
@@ -757,7 +702,7 @@ public interface ExpressionsPackage extends EPackage
* @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getFunctionInvocation()
* @generated
*/
- int FUNCTION_INVOCATION = 13;
+ int FUNCTION_INVOCATION = 12;
/**
* The feature id for the '<em><b>Arguments</b></em>' containment reference list.
@@ -812,7 +757,7 @@ public interface ExpressionsPackage extends EPackage
* @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberInvocation()
* @generated
*/
- int MEMBER_INVOCATION = 14;
+ int MEMBER_INVOCATION = 13;
/**
* The feature id for the '<em><b>Arguments</b></em>' containment reference list.
@@ -869,23 +814,60 @@ public interface ExpressionsPackage extends EPackage
int MEMBER_INVOCATION_OPERATION_COUNT = INVOCATION_OPERATION_COUNT + 0;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl <em>Member Access</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.AccessImpl <em>Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberAccess()
+ * @see org.eclipse.emf.cdo.expressions.impl.AccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getAccess()
* @generated
*/
- int MEMBER_ACCESS = 15;
+ int ACCESS = 14;
/**
- * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCESS__NAME = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int MEMBER_ACCESS__OBJECT = EXPRESSION_FEATURE_COUNT + 0;
+ int ACCESS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCESS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>Access</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ACCESS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.StaticAccessImpl <em>Static Access</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.StaticAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getStaticAccess()
+ * @generated
+ */
+ int STATIC_ACCESS = 15;
/**
* The feature id for the '<em><b>Name</b></em>' containment reference.
@@ -894,16 +876,16 @@ public interface ExpressionsPackage extends EPackage
* @generated
* @ordered
*/
- int MEMBER_ACCESS__NAME = EXPRESSION_FEATURE_COUNT + 1;
+ int STATIC_ACCESS__NAME = ACCESS__NAME;
/**
- * The number of structural features of the '<em>Member Access</em>' class.
+ * The number of structural features of the '<em>Static Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int MEMBER_ACCESS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 2;
+ int STATIC_ACCESS_FEATURE_COUNT = ACCESS_FEATURE_COUNT + 0;
/**
* The operation id for the '<em>Evaluate</em>' operation.
@@ -912,44 +894,53 @@ public interface ExpressionsPackage extends EPackage
* @generated
* @ordered
*/
- int MEMBER_ACCESS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+ int STATIC_ACCESS___EVALUATE__EVALUATIONCONTEXT = ACCESS___EVALUATE__EVALUATIONCONTEXT;
/**
- * The number of operations of the '<em>Member Access</em>' class.
+ * The number of operations of the '<em>Static Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int MEMBER_ACCESS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+ int STATIC_ACCESS_OPERATION_COUNT = ACCESS_OPERATION_COUNT + 0;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl <em>Context Access</em>}' class.
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl <em>Member Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContextAccess()
+ * @see org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberAccess()
* @generated
*/
- int CONTEXT_ACCESS = 16;
+ int MEMBER_ACCESS = 16;
/**
- * The feature id for the '<em><b>Name</b></em>' attribute.
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONTEXT_ACCESS__NAME = EXPRESSION_FEATURE_COUNT + 0;
+ int MEMBER_ACCESS__NAME = ACCESS__NAME;
/**
- * The number of structural features of the '<em>Context Access</em>' class.
+ * The feature id for the '<em><b>Object</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMBER_ACCESS__OBJECT = ACCESS_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Member Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONTEXT_ACCESS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+ int MEMBER_ACCESS_FEATURE_COUNT = ACCESS_FEATURE_COUNT + 1;
/**
* The operation id for the '<em>Evaluate</em>' operation.
@@ -958,35 +949,44 @@ public interface ExpressionsPackage extends EPackage
* @generated
* @ordered
*/
- int CONTEXT_ACCESS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+ int MEMBER_ACCESS___EVALUATE__EVALUATIONCONTEXT = ACCESS___EVALUATE__EVALUATIONCONTEXT;
/**
- * The number of operations of the '<em>Context Access</em>' class.
+ * The number of operations of the '<em>Member Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int CONTEXT_ACCESS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+ int MEMBER_ACCESS_OPERATION_COUNT = ACCESS_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl <em>Context Access</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContextAccess()
+ * @generated
+ */
+ int CONTEXT_ACCESS = 17;
/**
- * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ThisImpl <em>This</em>}' class.
+ * The feature id for the '<em><b>Name</b></em>' containment reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ThisImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getThis()
* @generated
+ * @ordered
*/
- int THIS = 17;
+ int CONTEXT_ACCESS__NAME = ACCESS__NAME;
/**
- * The number of structural features of the '<em>This</em>' class.
+ * The number of structural features of the '<em>Context Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int THIS_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 0;
+ int CONTEXT_ACCESS_FEATURE_COUNT = ACCESS_FEATURE_COUNT + 0;
/**
* The operation id for the '<em>Evaluate</em>' operation.
@@ -995,16 +995,16 @@ public interface ExpressionsPackage extends EPackage
* @generated
* @ordered
*/
- int THIS___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+ int CONTEXT_ACCESS___EVALUATE__EVALUATIONCONTEXT = ACCESS___EVALUATE__EVALUATIONCONTEXT;
/**
- * The number of operations of the '<em>This</em>' class.
+ * The number of operations of the '<em>Context Access</em>' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @ordered
*/
- int THIS_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+ int CONTEXT_ACCESS_OPERATION_COUNT = ACCESS_OPERATION_COUNT + 0;
/**
* The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ContainedObjectImpl <em>Contained Object</em>}' class.
@@ -1145,6 +1145,52 @@ public interface ExpressionsPackage extends EPackage
int LINKED_EXPRESSION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
/**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.expressions.impl.ListConstructionImpl <em>List Construction</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ListConstructionImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getListConstruction()
+ * @generated
+ */
+ int LIST_CONSTRUCTION = 21;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_CONSTRUCTION__ELEMENTS = EXPRESSION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>List Construction</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_CONSTRUCTION_FEATURE_COUNT = EXPRESSION_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Evaluate</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_CONSTRUCTION___EVALUATE__EVALUATIONCONTEXT = EXPRESSION___EVALUATE__EVALUATIONCONTEXT;
+
+ /**
+ * The number of operations of the '<em>List Construction</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LIST_CONSTRUCTION_OPERATION_COUNT = EXPRESSION_OPERATION_COUNT + 0;
+
+ /**
* The meta object id for the '<em>Evaluation Context</em>' data type.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1152,7 +1198,7 @@ public interface ExpressionsPackage extends EPackage
* @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getEvaluationContext()
* @generated
*/
- int EVALUATION_CONTEXT = 21;
+ int EVALUATION_CONTEXT = 22;
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Expression <em>Expression</em>}'.
@@ -1384,27 +1430,6 @@ public interface ExpressionsPackage extends EPackage
EAttribute getStringValue_Literal();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ListValue <em>List Value</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for class '<em>List Value</em>'.
- * @see org.eclipse.emf.cdo.expressions.ListValue
- * @generated
- */
- EClass getListValue();
-
- /**
- * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.expressions.ListValue#getElements <em>Elements</em>}'.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @return the meta object for the containment reference list '<em>Elements</em>'.
- * @see org.eclipse.emf.cdo.expressions.ListValue#getElements()
- * @see #getListValue()
- * @generated
- */
- EReference getListValue_Elements();
-
- /**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Invocation <em>Invocation</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1468,67 +1493,66 @@ public interface ExpressionsPackage extends EPackage
EReference getMemberInvocation_Object();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.MemberAccess <em>Member Access</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.Access <em>Access</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Member Access</em>'.
- * @see org.eclipse.emf.cdo.expressions.MemberAccess
+ * @return the meta object for class '<em>Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Access
* @generated
*/
- EClass getMemberAccess();
+ EClass getAccess();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getObject <em>Object</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.Access#getName <em>Name</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Object</em>'.
- * @see org.eclipse.emf.cdo.expressions.MemberAccess#getObject()
- * @see #getMemberAccess()
+ * @return the meta object for the containment reference '<em>Name</em>'.
+ * @see org.eclipse.emf.cdo.expressions.Access#getName()
+ * @see #getAccess()
* @generated
*/
- EReference getMemberAccess_Object();
+ EReference getAccess_Name();
/**
- * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getName <em>Name</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.StaticAccess <em>Static Access</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the containment reference '<em>Name</em>'.
- * @see org.eclipse.emf.cdo.expressions.MemberAccess#getName()
- * @see #getMemberAccess()
+ * @return the meta object for class '<em>Static Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.StaticAccess
* @generated
*/
- EReference getMemberAccess_Name();
+ EClass getStaticAccess();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ContextAccess <em>Context Access</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.MemberAccess <em>Member Access</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>Context Access</em>'.
- * @see org.eclipse.emf.cdo.expressions.ContextAccess
+ * @return the meta object for class '<em>Member Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess
* @generated
*/
- EClass getContextAccess();
+ EClass getMemberAccess();
/**
- * Returns the meta object for the attribute '{@link org.eclipse.emf.cdo.expressions.ContextAccess#getName <em>Name</em>}'.
+ * Returns the meta object for the containment reference '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getObject <em>Object</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for the attribute '<em>Name</em>'.
- * @see org.eclipse.emf.cdo.expressions.ContextAccess#getName()
- * @see #getContextAccess()
+ * @return the meta object for the containment reference '<em>Object</em>'.
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess#getObject()
+ * @see #getMemberAccess()
* @generated
*/
- EAttribute getContextAccess_Name();
+ EReference getMemberAccess_Object();
/**
- * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.This <em>This</em>}'.
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ContextAccess <em>Context Access</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @return the meta object for class '<em>This</em>'.
- * @see org.eclipse.emf.cdo.expressions.This
+ * @return the meta object for class '<em>Context Access</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ContextAccess
* @generated
*/
- EClass getThis();
+ EClass getContextAccess();
/**
* Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ContainedObject <em>Contained Object</em>}'.
@@ -1594,6 +1618,27 @@ public interface ExpressionsPackage extends EPackage
EReference getLinkedExpression_Expression();
/**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.expressions.ListConstruction <em>List Construction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>List Construction</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ListConstruction
+ * @generated
+ */
+ EClass getListConstruction();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.emf.cdo.expressions.ListConstruction#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Elements</em>'.
+ * @see org.eclipse.emf.cdo.expressions.ListConstruction#getElements()
+ * @see #getListConstruction()
+ * @generated
+ */
+ EReference getListConstruction_Elements();
+
+ /**
* Returns the meta object for data type '{@link org.eclipse.emf.cdo.expressions.EvaluationContext <em>Evaluation Context</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1829,24 +1874,6 @@ public interface ExpressionsPackage extends EPackage
EAttribute STRING_VALUE__LITERAL = eINSTANCE.getStringValue_Literal();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ListValueImpl <em>List Value</em>}' class.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ListValueImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getListValue()
- * @generated
- */
- EClass LIST_VALUE = eINSTANCE.getListValue();
-
- /**
- * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- EReference LIST_VALUE__ELEMENTS = eINSTANCE.getListValue_Elements();
-
- /**
* The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.InvocationImpl <em>Invocation</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
@@ -1901,58 +1928,60 @@ public interface ExpressionsPackage extends EPackage
EReference MEMBER_INVOCATION__OBJECT = eINSTANCE.getMemberInvocation_Object();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl <em>Member Access</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.AccessImpl <em>Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberAccess()
+ * @see org.eclipse.emf.cdo.expressions.impl.AccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getAccess()
* @generated
*/
- EClass MEMBER_ACCESS = eINSTANCE.getMemberAccess();
+ EClass ACCESS = eINSTANCE.getAccess();
/**
- * The meta object literal for the '<em><b>Object</b></em>' containment reference feature.
+ * The meta object literal for the '<em><b>Name</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EReference MEMBER_ACCESS__OBJECT = eINSTANCE.getMemberAccess_Object();
+ EReference ACCESS__NAME = eINSTANCE.getAccess_Name();
/**
- * The meta object literal for the '<em><b>Name</b></em>' containment reference feature.
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.StaticAccessImpl <em>Static Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.StaticAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getStaticAccess()
* @generated
*/
- EReference MEMBER_ACCESS__NAME = eINSTANCE.getMemberAccess_Name();
+ EClass STATIC_ACCESS = eINSTANCE.getStaticAccess();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl <em>Context Access</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl <em>Member Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContextAccess()
+ * @see org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getMemberAccess()
* @generated
*/
- EClass CONTEXT_ACCESS = eINSTANCE.getContextAccess();
+ EClass MEMBER_ACCESS = eINSTANCE.getMemberAccess();
/**
- * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * The meta object literal for the '<em><b>Object</b></em>' containment reference feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- EAttribute CONTEXT_ACCESS__NAME = eINSTANCE.getContextAccess_Name();
+ EReference MEMBER_ACCESS__OBJECT = eINSTANCE.getMemberAccess_Object();
/**
- * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ThisImpl <em>This</em>}' class.
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl <em>Context Access</em>}' class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @see org.eclipse.emf.cdo.expressions.impl.ThisImpl
- * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getThis()
+ * @see org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getContextAccess()
* @generated
*/
- EClass THIS = eINSTANCE.getThis();
+ EClass CONTEXT_ACCESS = eINSTANCE.getContextAccess();
/**
* The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ContainedObjectImpl <em>Contained Object</em>}' class.
@@ -2009,6 +2038,24 @@ public interface ExpressionsPackage extends EPackage
EReference LINKED_EXPRESSION__EXPRESSION = eINSTANCE.getLinkedExpression_Expression();
/**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.expressions.impl.ListConstructionImpl <em>List Construction</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.cdo.expressions.impl.ListConstructionImpl
+ * @see org.eclipse.emf.cdo.expressions.impl.ExpressionsPackageImpl#getListConstruction()
+ * @generated
+ */
+ EClass LIST_CONSTRUCTION = eINSTANCE.getListConstruction();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LIST_CONSTRUCTION__ELEMENTS = eINSTANCE.getListConstruction_Elements();
+
+ /**
* The meta object literal for the '<em>Evaluation Context</em>' data type.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListValue.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListConstruction.java
index 0db7d7cdf5..4dbaf44f3c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListValue.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/ListConstruction.java
@@ -12,15 +12,15 @@ import org.eclipse.emf.common.util.EList;
* <p>
* The following features are supported:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.expressions.ListValue#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.expressions.ListConstruction#getElements <em>Elements</em>}</li>
* </ul>
* </p>
*
- * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getListValue()
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getListConstruction()
* @model
* @generated
*/
-public interface ListValue extends Value
+public interface ListConstruction extends Expression
{
/**
* Returns the value of the '<em><b>Elements</b></em>' containment reference list.
@@ -32,7 +32,7 @@ public interface ListValue extends Value
* </p>
* <!-- end-user-doc -->
* @return the value of the '<em>Elements</em>' containment reference list.
- * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getListValue_Elements()
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getListConstruction_Elements()
* @model containment="true"
* @generated
*/
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java
index 1bc288c757..06de274c0c 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/MemberAccess.java
@@ -11,7 +11,6 @@ package org.eclipse.emf.cdo.expressions;
* The following features are supported:
* <ul>
* <li>{@link org.eclipse.emf.cdo.expressions.MemberAccess#getObject <em>Object</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.expressions.MemberAccess#getName <em>Name</em>}</li>
* </ul>
* </p>
*
@@ -19,7 +18,7 @@ package org.eclipse.emf.cdo.expressions;
* @model
* @generated
*/
-public interface MemberAccess extends Expression
+public interface MemberAccess extends Access
{
/**
* Returns the value of the '<em><b>Object</b></em>' containment reference.
@@ -47,30 +46,4 @@ public interface MemberAccess extends Expression
*/
void setObject(Expression value);
- /**
- * Returns the value of the '<em><b>Name</b></em>' containment reference.
- * <!-- begin-user-doc -->
- * <p>
- * If the meaning of the '<em>Name</em>' containment reference isn't clear,
- * there really should be more of a description here...
- * </p>
- * <!-- end-user-doc -->
- * @return the value of the '<em>Name</em>' containment reference.
- * @see #setName(Expression)
- * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getMemberAccess_Name()
- * @model containment="true" required="true"
- * @generated
- */
- Expression getName();
-
- /**
- * Sets the value of the '{@link org.eclipse.emf.cdo.expressions.MemberAccess#getName <em>Name</em>}' containment reference.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @param value the new value of the '<em>Name</em>' containment reference.
- * @see #getName()
- * @generated
- */
- void setName(Expression value);
-
} // MemberAccess
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/StaticAccess.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/StaticAccess.java
new file mode 100644
index 0000000000..97777ec3fa
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/StaticAccess.java
@@ -0,0 +1,17 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Static Access</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getStaticAccess()
+ * @model
+ * @generated
+ */
+public interface StaticAccess extends Access
+{
+} // StaticAccess
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/This.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/This.java
deleted file mode 100644
index aa869daa9b..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/This.java
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
- */
-package org.eclipse.emf.cdo.expressions;
-
-/**
- * <!-- begin-user-doc -->
- * A representation of the model object '<em><b>This</b></em>'.
- * <!-- end-user-doc -->
- *
- *
- * @see org.eclipse.emf.cdo.expressions.ExpressionsPackage#getThis()
- * @model
- * @generated
- */
-public interface This extends Expression
-{
-} // This
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/AccessImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/AccessImpl.java
new file mode 100644
index 0000000000..1ad7b828f3
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/AccessImpl.java
@@ -0,0 +1,209 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.impl;
+
+import org.eclipse.emf.cdo.expressions.Access;
+import org.eclipse.emf.cdo.expressions.EvaluationContext;
+import org.eclipse.emf.cdo.expressions.Expression;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import java.lang.reflect.InvocationTargetException;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Access</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.expressions.impl.AccessImpl#getName <em>Name</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AccessImpl extends CDOObjectImpl implements Access
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AccessImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ExpressionsPackage.Literals.ACCESS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getName()
+ {
+ return (Expression)eDynamicGet(ExpressionsPackage.ACCESS__NAME, ExpressionsPackage.Literals.ACCESS__NAME, true,
+ true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetName(Expression newName, NotificationChain msgs)
+ {
+ msgs = eDynamicInverseAdd((InternalEObject)newName, ExpressionsPackage.ACCESS__NAME, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(Expression newName)
+ {
+ eDynamicSet(ExpressionsPackage.ACCESS__NAME, ExpressionsPackage.Literals.ACCESS__NAME, newName);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Object evaluate(EvaluationContext context)
+ {
+ String name = (String)getName().evaluate(context);
+ return evaluate(context, name);
+ }
+
+ protected abstract Object evaluate(EvaluationContext context, String name);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case ExpressionsPackage.ACCESS__NAME:
+ return basicSetName(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case ExpressionsPackage.ACCESS__NAME:
+ return getName();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case ExpressionsPackage.ACCESS__NAME:
+ setName((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case ExpressionsPackage.ACCESS__NAME:
+ setName((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case ExpressionsPackage.ACCESS__NAME:
+ return getName() != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException
+ {
+ switch (operationID)
+ {
+ case ExpressionsPackage.ACCESS___EVALUATE__EVALUATIONCONTEXT:
+ return evaluate((EvaluationContext)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} // AccessImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java
index 446fca788e..71583d7c87 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ContextAccessImpl.java
@@ -6,39 +6,20 @@ import org.eclipse.emf.cdo.expressions.ContextAccess;
import org.eclipse.emf.cdo.expressions.EvaluationContext;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.internal.cdo.CDOObjectImpl;
-
-import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
-import java.lang.reflect.InvocationTargetException;
-
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Context Value</b></em>'.
* <!-- end-user-doc -->
* <p>
- * The following features are implemented:
- * <ul>
- * <li>{@link org.eclipse.emf.cdo.expressions.impl.ContextAccessImpl#getName <em>Name</em>}</li>
- * </ul>
* </p>
*
* @generated
*/
-public class ContextAccessImpl extends CDOObjectImpl implements ContextAccess
+public class ContextAccessImpl extends AccessImpl implements ContextAccess
{
/**
- * The default value of the '{@link #getName() <em>Name</em>}' attribute.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @see #getName()
- * @generated
- * @ordered
- */
- protected static final String NAME_EDEFAULT = null;
-
- /**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
@@ -59,128 +40,10 @@ public class ContextAccessImpl extends CDOObjectImpl implements ContextAccess
return ExpressionsPackage.Literals.CONTEXT_ACCESS;
}
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected int eStaticFeatureCount()
- {
- return 0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public String getName()
- {
- return (String)eDynamicGet(ExpressionsPackage.CONTEXT_ACCESS__NAME,
- ExpressionsPackage.Literals.CONTEXT_ACCESS__NAME, true, true);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(String newName)
- {
- eDynamicSet(ExpressionsPackage.CONTEXT_ACCESS__NAME, ExpressionsPackage.Literals.CONTEXT_ACCESS__NAME, newName);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object evaluate(EvaluationContext context)
- {
- return context.get(getName());
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eGet(int featureID, boolean resolve, boolean coreType)
- {
- switch (featureID)
- {
- case ExpressionsPackage.CONTEXT_ACCESS__NAME:
- return getName();
- }
- return super.eGet(featureID, resolve, coreType);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eSet(int featureID, Object newValue)
- {
- switch (featureID)
- {
- case ExpressionsPackage.CONTEXT_ACCESS__NAME:
- setName((String)newValue);
- return;
- }
- super.eSet(featureID, newValue);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public void eUnset(int featureID)
- {
- switch (featureID)
- {
- case ExpressionsPackage.CONTEXT_ACCESS__NAME:
- setName(NAME_EDEFAULT);
- return;
- }
- super.eUnset(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public boolean eIsSet(int featureID)
- {
- switch (featureID)
- {
- case ExpressionsPackage.CONTEXT_ACCESS__NAME:
- return NAME_EDEFAULT == null ? getName() != null : !NAME_EDEFAULT.equals(getName());
- }
- return super.eIsSet(featureID);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
@Override
- public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException
+ protected Object evaluate(EvaluationContext context, String name)
{
- switch (operationID)
- {
- case ExpressionsPackage.CONTEXT_ACCESS___EVALUATE__EVALUATIONCONTEXT:
- return evaluate((EvaluationContext)arguments.get(0));
- }
- return super.eInvoke(operationID, arguments);
+ return context.get(name);
}
} // ContextValueImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java
index b6d973bca9..35f6782079 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/EvaluationContextImpl.java
@@ -12,6 +12,8 @@ package org.eclipse.emf.cdo.expressions.impl;
import org.eclipse.emf.cdo.expressions.EvaluationContext;
+import org.eclipse.net4j.util.WrappedException;
+
import java.util.HashMap;
import java.util.Map;
@@ -43,11 +45,23 @@ public class EvaluationContextImpl extends HashMap<String, Object> implements Ev
public EvaluationContextImpl(Object thisValue)
{
- put(THIS, thisValue);
+ put("this", thisValue);
}
- public Object getThis()
+ public Class<?> getClass(String name)
{
- return get(THIS);
+ if (name.lastIndexOf('.') == -1)
+ {
+ name = "java.lang." + name;
+ }
+
+ try
+ {
+ return getClass().getClassLoader().loadClass(name);
+ }
+ catch (ClassNotFoundException ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
}
}
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java
index ee9b4b0b9b..04dad9df57 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsFactoryImpl.java
@@ -2,27 +2,7 @@
*/
package org.eclipse.emf.cdo.expressions.impl;
-import org.eclipse.emf.cdo.expressions.BooleanValue;
-import org.eclipse.emf.cdo.expressions.ByteValue;
-import org.eclipse.emf.cdo.expressions.CharValue;
-import org.eclipse.emf.cdo.expressions.ContainedObject;
-import org.eclipse.emf.cdo.expressions.ContextAccess;
-import org.eclipse.emf.cdo.expressions.DoubleValue;
-import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
-import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.FloatValue;
-import org.eclipse.emf.cdo.expressions.FunctionInvocation;
-import org.eclipse.emf.cdo.expressions.IntValue;
-import org.eclipse.emf.cdo.expressions.LinkedExpression;
-import org.eclipse.emf.cdo.expressions.LinkedObject;
-import org.eclipse.emf.cdo.expressions.ListValue;
-import org.eclipse.emf.cdo.expressions.LongValue;
-import org.eclipse.emf.cdo.expressions.MemberAccess;
-import org.eclipse.emf.cdo.expressions.MemberInvocation;
-import org.eclipse.emf.cdo.expressions.ShortValue;
-import org.eclipse.emf.cdo.expressions.StringValue;
-import org.eclipse.emf.cdo.expressions.This;
-
+import org.eclipse.emf.cdo.expressions.*;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
@@ -101,24 +81,24 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
return (EObject)createCharValue();
case ExpressionsPackage.STRING_VALUE:
return (EObject)createStringValue();
- case ExpressionsPackage.LIST_VALUE:
- return (EObject)createListValue();
case ExpressionsPackage.FUNCTION_INVOCATION:
return (EObject)createFunctionInvocation();
case ExpressionsPackage.MEMBER_INVOCATION:
return (EObject)createMemberInvocation();
+ case ExpressionsPackage.STATIC_ACCESS:
+ return (EObject)createStaticAccess();
case ExpressionsPackage.MEMBER_ACCESS:
return (EObject)createMemberAccess();
case ExpressionsPackage.CONTEXT_ACCESS:
return (EObject)createContextAccess();
- case ExpressionsPackage.THIS:
- return (EObject)createThis();
case ExpressionsPackage.CONTAINED_OBJECT:
return (EObject)createContainedObject();
case ExpressionsPackage.LINKED_OBJECT:
return (EObject)createLinkedObject();
case ExpressionsPackage.LINKED_EXPRESSION:
return (EObject)createLinkedExpression();
+ case ExpressionsPackage.LIST_CONSTRUCTION:
+ return (EObject)createListConstruction();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
@@ -258,17 +238,6 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
* <!-- end-user-doc -->
* @generated
*/
- public ListValue createListValue()
- {
- ListValueImpl listValue = new ListValueImpl();
- return listValue;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public FunctionInvocation createFunctionInvocation()
{
FunctionInvocationImpl functionInvocation = new FunctionInvocationImpl();
@@ -291,10 +260,10 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
* <!-- end-user-doc -->
* @generated
*/
- public MemberAccess createMemberAccess()
+ public StaticAccess createStaticAccess()
{
- MemberAccessImpl memberAccess = new MemberAccessImpl();
- return memberAccess;
+ StaticAccessImpl staticAccess = new StaticAccessImpl();
+ return staticAccess;
}
/**
@@ -302,10 +271,10 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
* <!-- end-user-doc -->
* @generated
*/
- public ContextAccess createContextAccess()
+ public MemberAccess createMemberAccess()
{
- ContextAccessImpl contextAccess = new ContextAccessImpl();
- return contextAccess;
+ MemberAccessImpl memberAccess = new MemberAccessImpl();
+ return memberAccess;
}
/**
@@ -313,10 +282,10 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
* <!-- end-user-doc -->
* @generated
*/
- public This createThis()
+ public ContextAccess createContextAccess()
{
- ThisImpl this_ = new ThisImpl();
- return this_;
+ ContextAccessImpl contextAccess = new ContextAccessImpl();
+ return contextAccess;
}
/**
@@ -357,6 +326,17 @@ public class ExpressionsFactoryImpl extends EFactoryImpl implements ExpressionsF
* <!-- end-user-doc -->
* @generated
*/
+ public ListConstruction createListConstruction()
+ {
+ ListConstructionImpl listConstruction = new ListConstructionImpl();
+ return listConstruction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public ExpressionsPackage getExpressionsPackage()
{
return (ExpressionsPackage)getEPackage();
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java
index 2c41d32137..71f620fe74 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ExpressionsPackageImpl.java
@@ -2,6 +2,7 @@
*/
package org.eclipse.emf.cdo.expressions.impl;
+import org.eclipse.emf.cdo.expressions.Access;
import org.eclipse.emf.cdo.expressions.BooleanValue;
import org.eclipse.emf.cdo.expressions.ByteValue;
import org.eclipse.emf.cdo.expressions.CharValue;
@@ -18,15 +19,14 @@ import org.eclipse.emf.cdo.expressions.IntValue;
import org.eclipse.emf.cdo.expressions.Invocation;
import org.eclipse.emf.cdo.expressions.LinkedExpression;
import org.eclipse.emf.cdo.expressions.LinkedObject;
-import org.eclipse.emf.cdo.expressions.ListValue;
+import org.eclipse.emf.cdo.expressions.ListConstruction;
import org.eclipse.emf.cdo.expressions.LongValue;
import org.eclipse.emf.cdo.expressions.MemberAccess;
import org.eclipse.emf.cdo.expressions.MemberInvocation;
import org.eclipse.emf.cdo.expressions.ShortValue;
+import org.eclipse.emf.cdo.expressions.StaticAccess;
import org.eclipse.emf.cdo.expressions.StringValue;
-import org.eclipse.emf.cdo.expressions.This;
import org.eclipse.emf.cdo.expressions.Value;
-
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
@@ -126,49 +126,49 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- private EClass listValueEClass = null;
+ private EClass invocationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass invocationEClass = null;
+ private EClass functionInvocationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass functionInvocationEClass = null;
+ private EClass memberInvocationEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass memberInvocationEClass = null;
+ private EClass accessEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass memberAccessEClass = null;
+ private EClass staticAccessEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass contextAccessEClass = null;
+ private EClass memberAccessEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- private EClass thisEClass = null;
+ private EClass contextAccessEClass = null;
/**
* <!-- begin-user-doc -->
@@ -196,6 +196,13 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
+ private EClass listConstructionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
private EDataType evaluationContextEDataType = null;
/**
@@ -490,26 +497,6 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EClass getListValue()
- {
- return listValueEClass;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public EReference getListValue_Elements()
- {
- return (EReference)listValueEClass.getEStructuralFeatures().get(0);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public EClass getInvocation()
{
return invocationEClass;
@@ -570,9 +557,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EClass getMemberAccess()
+ public EClass getAccess()
{
- return memberAccessEClass;
+ return accessEClass;
}
/**
@@ -580,9 +567,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EReference getMemberAccess_Object()
+ public EReference getAccess_Name()
{
- return (EReference)memberAccessEClass.getEStructuralFeatures().get(0);
+ return (EReference)accessEClass.getEStructuralFeatures().get(0);
}
/**
@@ -590,9 +577,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EReference getMemberAccess_Name()
+ public EClass getStaticAccess()
{
- return (EReference)memberAccessEClass.getEStructuralFeatures().get(1);
+ return staticAccessEClass;
}
/**
@@ -600,9 +587,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EClass getContextAccess()
+ public EClass getMemberAccess()
{
- return contextAccessEClass;
+ return memberAccessEClass;
}
/**
@@ -610,9 +597,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EAttribute getContextAccess_Name()
+ public EReference getMemberAccess_Object()
{
- return (EAttribute)contextAccessEClass.getEStructuralFeatures().get(0);
+ return (EReference)memberAccessEClass.getEStructuralFeatures().get(0);
}
/**
@@ -620,9 +607,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
- public EClass getThis()
+ public EClass getContextAccess()
{
- return thisEClass;
+ return contextAccessEClass;
}
/**
@@ -690,6 +677,26 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
* <!-- end-user-doc -->
* @generated
*/
+ public EClass getListConstruction()
+ {
+ return listConstructionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getListConstruction_Elements()
+ {
+ return (EReference)listConstructionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
public EDataType getEvaluationContext()
{
return evaluationContextEDataType;
@@ -759,9 +766,6 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
stringValueEClass = createEClass(STRING_VALUE);
createEAttribute(stringValueEClass, STRING_VALUE__LITERAL);
- listValueEClass = createEClass(LIST_VALUE);
- createEReference(listValueEClass, LIST_VALUE__ELEMENTS);
-
invocationEClass = createEClass(INVOCATION);
createEReference(invocationEClass, INVOCATION__ARGUMENTS);
createEReference(invocationEClass, INVOCATION__NAME);
@@ -771,14 +775,15 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
memberInvocationEClass = createEClass(MEMBER_INVOCATION);
createEReference(memberInvocationEClass, MEMBER_INVOCATION__OBJECT);
+ accessEClass = createEClass(ACCESS);
+ createEReference(accessEClass, ACCESS__NAME);
+
+ staticAccessEClass = createEClass(STATIC_ACCESS);
+
memberAccessEClass = createEClass(MEMBER_ACCESS);
createEReference(memberAccessEClass, MEMBER_ACCESS__OBJECT);
- createEReference(memberAccessEClass, MEMBER_ACCESS__NAME);
contextAccessEClass = createEClass(CONTEXT_ACCESS);
- createEAttribute(contextAccessEClass, CONTEXT_ACCESS__NAME);
-
- thisEClass = createEClass(THIS);
containedObjectEClass = createEClass(CONTAINED_OBJECT);
createEReference(containedObjectEClass, CONTAINED_OBJECT__OBJECT);
@@ -789,6 +794,9 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
linkedExpressionEClass = createEClass(LINKED_EXPRESSION);
createEReference(linkedExpressionEClass, LINKED_EXPRESSION__EXPRESSION);
+ listConstructionEClass = createEClass(LIST_CONSTRUCTION);
+ createEReference(listConstructionEClass, LIST_CONSTRUCTION__ELEMENTS);
+
// Create data types
evaluationContextEDataType = createEDataType(EVALUATION_CONTEXT);
}
@@ -836,16 +844,17 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
doubleValueEClass.getESuperTypes().add(this.getValue());
charValueEClass.getESuperTypes().add(this.getValue());
stringValueEClass.getESuperTypes().add(this.getValue());
- listValueEClass.getESuperTypes().add(this.getValue());
invocationEClass.getESuperTypes().add(this.getExpression());
functionInvocationEClass.getESuperTypes().add(this.getInvocation());
memberInvocationEClass.getESuperTypes().add(this.getInvocation());
- memberAccessEClass.getESuperTypes().add(this.getExpression());
- contextAccessEClass.getESuperTypes().add(this.getExpression());
- thisEClass.getESuperTypes().add(this.getExpression());
+ accessEClass.getESuperTypes().add(this.getExpression());
+ staticAccessEClass.getESuperTypes().add(this.getAccess());
+ memberAccessEClass.getESuperTypes().add(this.getAccess());
+ contextAccessEClass.getESuperTypes().add(this.getAccess());
containedObjectEClass.getESuperTypes().add(this.getExpression());
linkedObjectEClass.getESuperTypes().add(this.getExpression());
linkedExpressionEClass.getESuperTypes().add(this.getExpression());
+ listConstructionEClass.getESuperTypes().add(this.getExpression());
// Initialize classes, features, and operations; add parameters
initEClass(expressionEClass, Expression.class, "Expression", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -899,11 +908,6 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
initEAttribute(getStringValue_Literal(), ecorePackage.getEString(), "literal", null, 0, 1, StringValue.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
- initEClass(listValueEClass, ListValue.class, "ListValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
- initEReference(getListValue_Elements(), this.getExpression(), null, "elements", null, 0, -1, ListValue.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
-
initEClass(invocationEClass, Invocation.class, "Invocation", IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
initEReference(getInvocation_Arguments(), this.getExpression(), null, "arguments", null, 0, -1, Invocation.class,
@@ -922,21 +926,22 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
MemberInvocation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(accessEClass, Access.class, "Access", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAccess_Name(), this.getExpression(), null, "name", null, 1, 1, Access.class, !IS_TRANSIENT,
+ !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED,
+ IS_ORDERED);
+
+ initEClass(staticAccessEClass, StaticAccess.class, "StaticAccess", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+
initEClass(memberAccessEClass, MemberAccess.class, "MemberAccess", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
initEReference(getMemberAccess_Object(), this.getExpression(), null, "object", null, 1, 1, MemberAccess.class,
!IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
!IS_DERIVED, IS_ORDERED);
- initEReference(getMemberAccess_Name(), this.getExpression(), null, "name", null, 1, 1, MemberAccess.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE,
- !IS_DERIVED, IS_ORDERED);
initEClass(contextAccessEClass, ContextAccess.class, "ContextAccess", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
- initEAttribute(getContextAccess_Name(), ecorePackage.getEString(), "name", null, 0, 1, ContextAccess.class,
- !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
- initEClass(thisEClass, This.class, "This", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(containedObjectEClass, ContainedObject.class, "ContainedObject", !IS_ABSTRACT, !IS_INTERFACE,
IS_GENERATED_INSTANCE_CLASS);
@@ -956,6 +961,12 @@ public class ExpressionsPackageImpl extends EPackageImpl implements ExpressionsP
LinkedExpression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES,
!IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEClass(listConstructionEClass, ListConstruction.class, "ListConstruction", !IS_ABSTRACT, !IS_INTERFACE,
+ IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getListConstruction_Elements(), this.getExpression(), null, "elements", null, 0, -1,
+ ListConstruction.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES,
+ !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
// Initialize data types
initEDataType(evaluationContextEDataType, EvaluationContext.class, "EvaluationContext", !IS_SERIALIZABLE,
!IS_GENERATED_INSTANCE_CLASS);
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java
index 1ebfff9a9a..19b46ff91a 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/FunctionInvocationImpl.java
@@ -6,10 +6,12 @@ import org.eclipse.emf.cdo.expressions.EvaluationContext;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
import org.eclipse.emf.cdo.expressions.FunctionInvocation;
-import org.eclipse.emf.common.util.EList;
+import org.eclipse.net4j.util.WrappedException;
+
import org.eclipse.emf.ecore.EClass;
-import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Constructor;
+import java.util.List;
/**
* <!-- begin-user-doc -->
@@ -44,44 +46,156 @@ public class FunctionInvocationImpl extends InvocationImpl implements FunctionIn
}
@Override
- protected Object evaluate(EvaluationContext context, String name, EList<Object> arguments)
- throws InvocationTargetException
+ protected boolean staticModifier()
+ {
+ return true;
+ }
+
+ @Override
+ protected void collectInvocables(EvaluationContext context, String name, List<Invocable> invocables)
+ {
+ int methodStart = name.lastIndexOf('.');
+ if (methodStart == -1)
+ {
+ throw new IllegalArgumentException("Method name missing: " + name);
+ }
+
+ String methodName = name.substring(methodStart + 1);
+ String className = name.substring(0, methodStart);
+ Class<?> c = context.getClass(className);
+
+ if ("new".equals(methodName))
+ {
+ for (Constructor<?> constructor : c.getConstructors())
+ {
+ invocables.add(createConstructor(constructor));
+ }
+ }
+ else
+ {
+ collectMethods(null, c, methodName, invocables);
+ }
+ }
+
+ protected Invocable createConstructor(final Constructor<?> constructor)
{
- // Object left = getLeft().evaluate(context);
- // Object right = getRight().evaluate(context);
- //
- // Operator operator = getOperator();
- // switch (operator)
- // {
- // case EQUAL:
- // return left.equals(right);
- //
- // case NOT_EQUAL:
- // return !left.equals(right);
- //
- // case LESS_THAN:
- // return ((Comparable<Object>)left).compareTo(right) < 0;
- //
- // case LESS_THAN_OR_EQUAL:
- // return ((Comparable<Object>)left).compareTo(right) <= 0;
- //
- // case GREATER_THAN:
- // return ((Comparable<Object>)left).compareTo(right) > 0;
- //
- // case GREATER_THAN_OR_EQUAL:
- // return ((Comparable<Object>)left).compareTo(right) >= 0;
- //
- // case AND:
- // return (Boolean)left && (Boolean)right;
- //
- // case OR:
- // return (Boolean)left || (Boolean)right;
- //
- // default:
- // throw new IllegalStateException("Unhandled operator: " + operator);
- // }
- //
- return null;
+ return new Invocable()
+ {
+ public String getName()
+ {
+ return "new";
+ }
+
+ public Class<?>[] getParameterTypes()
+ {
+ return constructor.getParameterTypes();
+ }
+
+ public Object invoke(Object[] arguments)
+ {
+ try
+ {
+ return constructor.newInstance(arguments);
+ }
+ catch (RuntimeException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return constructor.toString();
+ }
+ };
}
+ // @Override
+ // protected Object evaluate(EvaluationContext context, String name, Object[] arguments)
+ // throws InvocationTargetException
+ // {
+ // int methodStart = name.lastIndexOf('.');
+ // if (methodStart == -1)
+ // {
+ // throw new IllegalArgumentException("Method name missing: " + name);
+ // }
+ //
+ // String className = name.substring(0, methodStart);
+ // String methodName = name.substring(methodStart + 1);
+ //
+ // try
+ // {
+ // Class<?> c = getClass(className);
+ // Class<?>[] argumentTypes = getTypes(arguments);
+ //
+ // if ("new".equals(methodName))
+ // {
+ // Constructor<?> constructor = c.getConstructor(argumentTypes);
+ // return constructor.newInstance(arguments);
+ // }
+ // else
+ // {
+ // Method method = c.getMethod(methodName, argumentTypes);
+ // if (!Modifier.isStatic(method.getModifiers()))
+ // {
+ // throw new IllegalArgumentException("Method is not static: " + name);
+ // }
+ //
+ // return method.invoke(null, arguments);
+ // }
+ // }
+ // catch (RuntimeException ex)
+ // {
+ // throw ex;
+ // }
+ // catch (InvocationTargetException ex)
+ // {
+ // throw ex;
+ // }
+ // catch (Exception ex)
+ // {
+ // throw new InvocationTargetException(ex);
+ // }
+ //
+ // // Object left = getLeft().evaluate(context);
+ // // Object right = getRight().evaluate(context);
+ // //
+ // // Operator operator = getOperator();
+ // // switch (operator)
+ // // {
+ // // case EQUAL:
+ // // return left.equals(right);
+ // //
+ // // case NOT_EQUAL:
+ // // return !left.equals(right);
+ // //
+ // // case LESS_THAN:
+ // // return ((Comparable<Object>)left).compareTo(right) < 0;
+ // //
+ // // case LESS_THAN_OR_EQUAL:
+ // // return ((Comparable<Object>)left).compareTo(right) <= 0;
+ // //
+ // // case GREATER_THAN:
+ // // return ((Comparable<Object>)left).compareTo(right) > 0;
+ // //
+ // // case GREATER_THAN_OR_EQUAL:
+ // // return ((Comparable<Object>)left).compareTo(right) >= 0;
+ // //
+ // // case AND:
+ // // return (Boolean)left && (Boolean)right;
+ // //
+ // // case OR:
+ // // return (Boolean)left || (Boolean)right;
+ // //
+ // // default:
+ // // throw new IllegalStateException("Unhandled operator: " + operator);
+ // // }
+ // //
+ // }
+
} // FunctionInvocationImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java
index ac8ac0a02e..57e178cead 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/InvocationImpl.java
@@ -19,7 +19,10 @@ import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.util.InternalEList;
import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.util.Collection;
+import java.util.List;
/**
* <!-- begin-user-doc -->
@@ -122,24 +125,178 @@ public abstract class InvocationImpl extends CDOObjectImpl implements Invocation
{
String name = (String)getName().evaluate(context);
- EList<Object> arguments = new BasicEList<Object>();
- for (Expression argument : getArguments())
+ EList<Expression> arguments = getArguments();
+ int size = arguments.size();
+
+ Object[] evaluatedArguments = new Object[size];
+ for (int i = 0; i < evaluatedArguments.length; i++)
{
- arguments.add(argument.evaluate(context));
+ Expression argument = arguments.get(i);
+ evaluatedArguments[i] = argument.evaluate(context);
}
- try
+ List<Invocable> invocables = new BasicEList<Invocable>();
+ collectInvocables(context, name, invocables);
+
+ Invocable invocable = selectInvocable(invocables, evaluatedArguments);
+ return invocable.invoke(evaluatedArguments);
+ }
+
+ protected abstract boolean staticModifier();
+
+ protected abstract void collectInvocables(EvaluationContext context, String name, List<Invocable> invocables);
+
+ protected void collectMethods(Object object, Class<?> c, String name, List<Invocable> invocables)
+ {
+ for (Method method : c.getMethods())
{
- return evaluate(context, name, arguments);
+ boolean static1 = Modifier.isStatic(method.getModifiers());
+ boolean staticModifier = staticModifier();
+ String name2 = method.getName();
+ if (name2.equals(name) && static1 == staticModifier)
+ {
+ invocables.add(createMethod(object, method));
+ }
}
- catch (InvocationTargetException ex)
+ }
+
+ protected Invocable createMethod(final Object object, final Method method)
+ {
+ return new Invocable()
{
- throw WrappedException.wrap(ex);
+ public String getName()
+ {
+ return method.getName();
+ }
+
+ public Class<?>[] getParameterTypes()
+ {
+ return method.getParameterTypes();
+ }
+
+ public Object invoke(Object[] arguments)
+ {
+ try
+ {
+ return method.invoke(object, arguments);
+ }
+ catch (RuntimeException ex)
+ {
+ throw ex;
+ }
+ catch (Exception ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return method.toString();
+ }
+ };
+ }
+
+ protected Invocable selectInvocable(List<Invocable> invocables, Object[] arguments)
+ {
+ Invocable result = null;
+ for (Invocable invocable : invocables)
+ {
+ Class<?>[] parameterTypes = invocable.getParameterTypes();
+ if (isAssignable(parameterTypes, arguments))
+ {
+ if (result != null)
+ {
+ throw new IllegalStateException("Ambiguous invocation: " + invocable.getName() + arguments);
+ }
+
+ result = invocable;
+ }
}
+
+ return result;
}
- protected abstract Object evaluate(EvaluationContext context, String name, EList<Object> arguments)
- throws InvocationTargetException;
+ protected boolean isAssignable(Class<?>[] parameterTypes, Object[] arguments)
+ {
+ if (parameterTypes.length != arguments.length)
+ {
+ return false;
+ }
+
+ for (int i = 0; i < parameterTypes.length; i++)
+ {
+ Class<?> parameterType = box(parameterTypes[i]);
+ Class<?> argumentType = arguments[i].getClass();
+ if (!parameterType.isAssignableFrom(argumentType))
+ {
+ return false;
+ }
+ }
+
+ return true;
+ }
+
+ protected Class<?> box(Class<?> type)
+ {
+ if (type.isPrimitive())
+ {
+ if (type == boolean.class)
+ {
+ return Boolean.class;
+ }
+
+ if (type == char.class)
+ {
+ return Character.class;
+ }
+
+ if (type == byte.class)
+ {
+ return Byte.class;
+ }
+
+ if (type == short.class)
+ {
+ return Short.class;
+ }
+
+ if (type == int.class)
+ {
+ return Integer.class;
+ }
+
+ if (type == long.class)
+ {
+ return Long.class;
+ }
+
+ if (type == float.class)
+ {
+ return Float.class;
+ }
+
+ if (type == double.class)
+ {
+ return Double.class;
+ }
+ }
+
+ return type;
+ }
+
+ protected Class<?>[] getTypes(Object[] objects)
+ {
+ Class<?>[] types = new Class<?>[objects.length];
+ for (int i = 0; i < objects.length; i++)
+ {
+ Object object = objects[i];
+ types[i] = object == null ? Object.class : object.getClass();
+ }
+
+ return types;
+ }
/**
* <!-- begin-user-doc -->
@@ -253,4 +410,16 @@ public abstract class InvocationImpl extends CDOObjectImpl implements Invocation
return super.eInvoke(operationID, arguments);
}
+ /**
+ * @author Eike Stepper
+ */
+ public interface Invocable
+ {
+ public String getName();
+
+ public Class<?>[] getParameterTypes();
+
+ public Object invoke(Object[] arguments);
+ }
+
} // InvocationImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java
index 7f8ee884e9..d08fadf632 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/LinkedExpressionImpl.java
@@ -97,13 +97,12 @@ public class LinkedExpressionImpl extends CDOObjectImpl implements LinkedExpress
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
- * @generated
+ * @generated NOT
*/
public Object evaluate(EvaluationContext context)
{
- // TODO: implement this method
- // Ensure that you remove @generated or mark it @generated NOT
- throw new UnsupportedOperationException();
+ Expression expression = getExpression();
+ return expression.evaluate(context);
}
/**
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListValueImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListConstructionImpl.java
index 336e7d6a9d..0eb0bad525 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListValueImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ListConstructionImpl.java
@@ -2,16 +2,21 @@
*/
package org.eclipse.emf.cdo.expressions.impl;
+import org.eclipse.emf.cdo.expressions.EvaluationContext;
import org.eclipse.emf.cdo.expressions.Expression;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.ListValue;
+import org.eclipse.emf.cdo.expressions.ListConstruction;
+
+import org.eclipse.emf.internal.cdo.CDOObjectImpl;
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.util.InternalEList;
+import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
/**
@@ -21,20 +26,20 @@ import java.util.Collection;
* <p>
* The following features are implemented:
* <ul>
- * <li>{@link org.eclipse.emf.cdo.expressions.impl.ListValueImpl#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.expressions.impl.ListConstructionImpl#getElements <em>Elements</em>}</li>
* </ul>
* </p>
*
* @generated
*/
-public class ListValueImpl extends ValueImpl implements ListValue
+public class ListConstructionImpl extends CDOObjectImpl implements ListConstruction
{
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
- protected ListValueImpl()
+ protected ListConstructionImpl()
{
super();
}
@@ -47,7 +52,18 @@ public class ListValueImpl extends ValueImpl implements ListValue
@Override
protected EClass eStaticClass()
{
- return ExpressionsPackage.Literals.LIST_VALUE;
+ return ExpressionsPackage.Literals.LIST_CONSTRUCTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected int eStaticFeatureCount()
+ {
+ return 0;
}
/**
@@ -58,8 +74,24 @@ public class ListValueImpl extends ValueImpl implements ListValue
@SuppressWarnings("unchecked")
public EList<Expression> getElements()
{
- return (EList<Expression>)eDynamicGet(ExpressionsPackage.LIST_VALUE__ELEMENTS,
- ExpressionsPackage.Literals.LIST_VALUE__ELEMENTS, true, true);
+ return (EList<Expression>)eDynamicGet(ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS,
+ ExpressionsPackage.Literals.LIST_CONSTRUCTION__ELEMENTS, true, true);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public Object evaluate(EvaluationContext context)
+ {
+ EList<Object> result = new BasicEList<Object>();
+ for (Expression element : getElements())
+ {
+ result.add(element.evaluate(context));
+ }
+
+ return result;
}
/**
@@ -72,7 +104,7 @@ public class ListValueImpl extends ValueImpl implements ListValue
{
switch (featureID)
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
return ((InternalEList<?>)getElements()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
@@ -88,7 +120,7 @@ public class ListValueImpl extends ValueImpl implements ListValue
{
switch (featureID)
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
return getElements();
}
return super.eGet(featureID, resolve, coreType);
@@ -105,7 +137,7 @@ public class ListValueImpl extends ValueImpl implements ListValue
{
switch (featureID)
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
getElements().clear();
getElements().addAll((Collection<? extends Expression>)newValue);
return;
@@ -123,7 +155,7 @@ public class ListValueImpl extends ValueImpl implements ListValue
{
switch (featureID)
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
getElements().clear();
return;
}
@@ -140,16 +172,26 @@ public class ListValueImpl extends ValueImpl implements ListValue
{
switch (featureID)
{
- case ExpressionsPackage.LIST_VALUE__ELEMENTS:
+ case ExpressionsPackage.LIST_CONSTRUCTION__ELEMENTS:
return !getElements().isEmpty();
}
return super.eIsSet(featureID);
}
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
@Override
- public Object getLiteral()
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException
{
- return getElements();
+ switch (operationID)
+ {
+ case ExpressionsPackage.LIST_CONSTRUCTION___EVALUATE__EVALUATIONCONTEXT:
+ return evaluate((EvaluationContext)arguments.get(0));
+ }
+ return super.eInvoke(operationID, arguments);
}
} // ListValueImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java
index 464f556b48..d67b3c82d7 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberAccessImpl.java
@@ -7,16 +7,16 @@ import org.eclipse.emf.cdo.expressions.Expression;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
import org.eclipse.emf.cdo.expressions.MemberAccess;
-import org.eclipse.emf.internal.cdo.CDOObjectImpl;
+import org.eclipse.net4j.util.WrappedException;
import org.eclipse.emf.common.notify.NotificationChain;
-import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.ecore.InternalEObject;
-import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
/**
* <!-- begin-user-doc -->
@@ -26,13 +26,12 @@ import java.lang.reflect.InvocationTargetException;
* The following features are implemented:
* <ul>
* <li>{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl#getObject <em>Object</em>}</li>
- * <li>{@link org.eclipse.emf.cdo.expressions.impl.MemberAccessImpl#getName <em>Name</em>}</li>
* </ul>
* </p>
*
* @generated
*/
-public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
+public class MemberAccessImpl extends AccessImpl implements MemberAccess
{
/**
* <!-- begin-user-doc -->
@@ -60,17 +59,6 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
* <!-- end-user-doc -->
* @generated
*/
- @Override
- protected int eStaticFeatureCount()
- {
- return 0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
public Expression getObject()
{
return (Expression)eDynamicGet(ExpressionsPackage.MEMBER_ACCESS__OBJECT,
@@ -98,50 +86,35 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
eDynamicSet(ExpressionsPackage.MEMBER_ACCESS__OBJECT, ExpressionsPackage.Literals.MEMBER_ACCESS__OBJECT, newObject);
}
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public Expression getName()
- {
- return (Expression)eDynamicGet(ExpressionsPackage.MEMBER_ACCESS__NAME,
- ExpressionsPackage.Literals.MEMBER_ACCESS__NAME, true, true);
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public NotificationChain basicSetName(Expression newName, NotificationChain msgs)
+ @Override
+ protected Object evaluate(EvaluationContext context, String name)
{
- msgs = eDynamicInverseAdd((InternalEObject)newName, ExpressionsPackage.MEMBER_ACCESS__NAME, msgs);
- return msgs;
- }
+ Object object = getObject().evaluate(context);
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- public void setName(Expression newName)
- {
- eDynamicSet(ExpressionsPackage.MEMBER_ACCESS__NAME, ExpressionsPackage.Literals.MEMBER_ACCESS__NAME, newName);
- }
+ if (object instanceof EObject)
+ {
+ EObject eObject = (EObject)object;
+ EStructuralFeature feature = eObject.eClass().getEStructuralFeature(name);
+ if (feature != null)
+ {
+ return eObject.eGet(feature);
+ }
+ }
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object evaluate(EvaluationContext context)
- {
- EObject object = (EObject)getObject().evaluate(context);
- String name = (String)getName().evaluate(context);
+ try
+ {
+ Field field = object.getClass().getField(name);
+ if (Modifier.isStatic(field.getModifiers()))
+ {
+ throw new IllegalStateException("Field is static: " + name);
+ }
- EStructuralFeature feature = object.eClass().getEStructuralFeature(name);
- return object.eGet(feature);
+ return field.get(object);
+ }
+ catch (Exception ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
}
/**
@@ -156,8 +129,6 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
{
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
return basicSetObject(null, msgs);
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
- return basicSetName(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
@@ -174,8 +145,6 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
{
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
return getObject();
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
- return getName();
}
return super.eGet(featureID, resolve, coreType);
}
@@ -193,9 +162,6 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
setObject((Expression)newValue);
return;
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
- setName((Expression)newValue);
- return;
}
super.eSet(featureID, newValue);
}
@@ -213,9 +179,6 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
setObject((Expression)null);
return;
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
- setName((Expression)null);
- return;
}
super.eUnset(featureID);
}
@@ -232,26 +195,8 @@ public class MemberAccessImpl extends CDOObjectImpl implements MemberAccess
{
case ExpressionsPackage.MEMBER_ACCESS__OBJECT:
return getObject() != null;
- case ExpressionsPackage.MEMBER_ACCESS__NAME:
- return getName() != null;
}
return super.eIsSet(featureID);
}
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException
- {
- switch (operationID)
- {
- case ExpressionsPackage.MEMBER_ACCESS___EVALUATE__EVALUATIONCONTEXT:
- return evaluate((EvaluationContext)arguments.get(0));
- }
- return super.eInvoke(operationID, arguments);
- }
-
} // MemberAccessImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java
index 2c8746b7b5..ce7686382a 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/MemberInvocationImpl.java
@@ -7,14 +7,19 @@ import org.eclipse.emf.cdo.expressions.Expression;
import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
import org.eclipse.emf.cdo.expressions.MemberInvocation;
+import org.eclipse.net4j.util.WrappedException;
+
import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.common.util.ECollections;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EParameter;
import org.eclipse.emf.ecore.InternalEObject;
import java.lang.reflect.InvocationTargetException;
+import java.util.List;
/**
* <!-- begin-user-doc -->
@@ -168,12 +173,172 @@ public class MemberInvocationImpl extends InvocationImpl implements MemberInvoca
}
@Override
- protected Object evaluate(EvaluationContext context, String name, EList<Object> arguments)
- throws InvocationTargetException
+ protected boolean staticModifier()
+ {
+ return false;
+ }
+
+ @Override
+ protected void collectInvocables(EvaluationContext context, String name, List<Invocable> invocables)
+ {
+ Object object = getObject().evaluate(context);
+ if (object instanceof EObject)
+ {
+ EObject eObject = (EObject)object;
+ EClass eClass = eObject.eClass();
+
+ for (EOperation eOperation : eClass.getEAllOperations())
+ {
+ if (eOperation.getName().equals(name))
+ {
+ invocables.add(createEOperation(eClass.getOverride(eOperation), eObject));
+ }
+ }
+ }
+
+ collectMethods(object, object.getClass(), name, invocables);
+ }
+
+ private Invocable createEOperation(final EOperation eOperation, final EObject eObject)
{
- EObject object = (EObject)getObject().evaluate(context);
- EOperation operation = object.eClass().getEOperation(0);
- return object.eInvoke(operation, arguments);
+ return new Invocable()
+ {
+ public String getName()
+ {
+ return eOperation.getName();
+ }
+
+ public Class<?>[] getParameterTypes()
+ {
+ EList<EParameter> parameters = eOperation.getEParameters();
+ Class<?>[] types = new Class<?>[parameters.size()];
+ for (int i = 0; i < types.length; i++)
+ {
+ EParameter parameter = parameters.get(i);
+ types[i] = parameter.getEType().getInstanceClass();
+ }
+
+ return types;
+ }
+
+ public Object invoke(Object[] arguments)
+ {
+ try
+ {
+ return eObject.eInvoke(eOperation, ECollections.asEList(arguments));
+ }
+ catch (InvocationTargetException ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+ @Override
+ public String toString()
+ {
+ return eOperation.toString();
+ }
+ };
}
+ // @Override
+ // protected Object evaluate(EvaluationContext context, String name, Object[] arguments)
+ // throws InvocationTargetException
+ // {
+ // Object object = getObject().evaluate(context);
+ //
+ // try
+ // {
+ // if (object instanceof EObject)
+ // {
+ // EObject eObject = (EObject)object;
+ // return evaluateEOperation(eObject, name, ECollections.asEList(arguments));
+ // }
+ //
+ // Class<?>[] argumentTypes = getTypes(arguments);
+ //
+ // Method method = object.getClass().getMethod(name, argumentTypes);
+ // if (Modifier.isStatic(method.getModifiers()))
+ // {
+ // throw new IllegalArgumentException("Method is static: " + name);
+ // }
+ //
+ // return method.invoke(object, arguments);
+ // }
+ // catch (RuntimeException ex)
+ // {
+ // throw ex;
+ // }
+ // catch (InvocationTargetException ex)
+ // {
+ // throw ex;
+ // }
+ // catch (Exception ex)
+ // {
+ // throw new InvocationTargetException(ex);
+ // }
+ // }
+ //
+ // protected Object evaluateEOperation(EObject object, String name, EList<Object> arguments)
+ // throws InvocationTargetException
+ // {
+ // EOperation operation = getEOperation(object.eClass(), name, arguments);
+ // return object.eInvoke(operation, arguments);
+ // }
+ //
+ // protected EOperation getEOperation(EClass eClass, String name, EList<Object> arguments)
+ // throws InvocationTargetException
+ // {
+ // EOperation result = null;
+ // for (EOperation operation : eClass.getEOperations())
+ // {
+ // if (operation.getName().equals(name))
+ // {
+ // if (isAssignable(operation.getEParameters(), arguments))
+ // {
+ // if (result != null)
+ // {
+ // throw new IllegalStateException("Ambiguous member invocation: " + eClass.getName() + "." + name + arguments);
+ // }
+ //
+ // result = operation;
+ // }
+ // }
+ // }
+ //
+ // return result;
+ // }
+ //
+ // protected boolean isAssignable(EList<EParameter> parameters, EList<Object> arguments)
+ // {
+ // if (parameters.size() != arguments.size())
+ // {
+ // return false;
+ // }
+ //
+ // for (int i = 0; i < parameters.size(); i++)
+ // {
+ // EParameter parameter = parameters.get(i);
+ // Class<?> instanceClass = parameter.getEType().getInstanceClass();
+ // if (!instanceClass.isAssignableFrom(arguments.get(i).getClass()))
+ // {
+ // return false;
+ // }
+ // }
+ //
+ // return true;
+ // }
+ //
+ // protected Class<?>[] getTypes(EList<EParameter> parameters)
+ // {
+ // Class<?>[] types = new Class<?>[parameters.size()];
+ // for (int i = 0; i < types.length; i++)
+ // {
+ // EParameter parameter = parameters.get(i);
+ // types[i] = parameter.getEType().getInstanceClass();
+ // }
+ //
+ // return types;
+ // }
+
} // MemberInvocationImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/StaticAccessImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/StaticAccessImpl.java
new file mode 100644
index 0000000000..42adde38bd
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/StaticAccessImpl.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.emf.cdo.expressions.impl;
+
+import org.eclipse.emf.cdo.expressions.EvaluationContext;
+import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
+import org.eclipse.emf.cdo.expressions.StaticAccess;
+
+import org.eclipse.net4j.util.WrappedException;
+
+import org.eclipse.emf.ecore.EClass;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Static Access</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class StaticAccessImpl extends AccessImpl implements StaticAccess
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StaticAccessImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return ExpressionsPackage.Literals.STATIC_ACCESS;
+ }
+
+ @Override
+ protected Object evaluate(EvaluationContext context, String name)
+ {
+ try
+ {
+ int fieldStart = name.lastIndexOf('.');
+ if (fieldStart == -1)
+ {
+ throw new IllegalArgumentException("Field name missing: " + name);
+ }
+
+ String className = name.substring(0, fieldStart);
+ Class<?> c = context.getClass(className);
+
+ String fieldName = name.substring(fieldStart + 1);
+ Field field = c.getField(fieldName);
+ if (!Modifier.isStatic(field.getModifiers()))
+ {
+ throw new IllegalStateException("Field is not static: " + name);
+ }
+
+ return field.get(null);
+ }
+ catch (Exception ex)
+ {
+ throw WrappedException.wrap(ex);
+ }
+ }
+
+} // StaticAccessImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ThisImpl.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ThisImpl.java
deleted file mode 100644
index ed1bba5db6..0000000000
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/impl/ThisImpl.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/**
- */
-package org.eclipse.emf.cdo.expressions.impl;
-
-import org.eclipse.emf.cdo.expressions.EvaluationContext;
-import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.This;
-
-import org.eclipse.emf.internal.cdo.CDOObjectImpl;
-
-import org.eclipse.emf.common.util.EList;
-import org.eclipse.emf.ecore.EClass;
-
-import java.lang.reflect.InvocationTargetException;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>This</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * </p>
- *
- * @generated
- */
-public class ThisImpl extends CDOObjectImpl implements This
-{
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- protected ThisImpl()
- {
- super();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected EClass eStaticClass()
- {
- return ExpressionsPackage.Literals.THIS;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- protected int eStaticFeatureCount()
- {
- return 0;
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated NOT
- */
- public Object evaluate(EvaluationContext context)
- {
- return context.getThis();
- }
-
- /**
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
- @Override
- public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException
- {
- switch (operationID)
- {
- case ExpressionsPackage.THIS___EVALUATE__EVALUATIONCONTEXT:
- return evaluate((EvaluationContext)arguments.get(0));
- }
- return super.eInvoke(operationID, arguments);
- }
-
-} // ThisImpl
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java
index dcfd06c3e7..906c7712ad 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsAdapterFactory.java
@@ -2,29 +2,7 @@
*/
package org.eclipse.emf.cdo.expressions.util;
-import org.eclipse.emf.cdo.expressions.BooleanValue;
-import org.eclipse.emf.cdo.expressions.ByteValue;
-import org.eclipse.emf.cdo.expressions.CharValue;
-import org.eclipse.emf.cdo.expressions.ContainedObject;
-import org.eclipse.emf.cdo.expressions.ContextAccess;
-import org.eclipse.emf.cdo.expressions.DoubleValue;
-import org.eclipse.emf.cdo.expressions.Expression;
-import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.FloatValue;
-import org.eclipse.emf.cdo.expressions.FunctionInvocation;
-import org.eclipse.emf.cdo.expressions.IntValue;
-import org.eclipse.emf.cdo.expressions.Invocation;
-import org.eclipse.emf.cdo.expressions.LinkedExpression;
-import org.eclipse.emf.cdo.expressions.LinkedObject;
-import org.eclipse.emf.cdo.expressions.ListValue;
-import org.eclipse.emf.cdo.expressions.LongValue;
-import org.eclipse.emf.cdo.expressions.MemberAccess;
-import org.eclipse.emf.cdo.expressions.MemberInvocation;
-import org.eclipse.emf.cdo.expressions.ShortValue;
-import org.eclipse.emf.cdo.expressions.StringValue;
-import org.eclipse.emf.cdo.expressions.This;
-import org.eclipse.emf.cdo.expressions.Value;
-
+import org.eclipse.emf.cdo.expressions.*;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
@@ -159,12 +137,6 @@ public class ExpressionsAdapterFactory extends AdapterFactoryImpl
}
@Override
- public Adapter caseListValue(ListValue object)
- {
- return createListValueAdapter();
- }
-
- @Override
public Adapter caseInvocation(Invocation object)
{
return createInvocationAdapter();
@@ -183,21 +155,27 @@ public class ExpressionsAdapterFactory extends AdapterFactoryImpl
}
@Override
- public Adapter caseMemberAccess(MemberAccess object)
+ public Adapter caseAccess(Access object)
{
- return createMemberAccessAdapter();
+ return createAccessAdapter();
}
@Override
- public Adapter caseContextAccess(ContextAccess object)
+ public Adapter caseStaticAccess(StaticAccess object)
{
- return createContextAccessAdapter();
+ return createStaticAccessAdapter();
+ }
+
+ @Override
+ public Adapter caseMemberAccess(MemberAccess object)
+ {
+ return createMemberAccessAdapter();
}
@Override
- public Adapter caseThis(This object)
+ public Adapter caseContextAccess(ContextAccess object)
{
- return createThisAdapter();
+ return createContextAccessAdapter();
}
@Override
@@ -219,6 +197,12 @@ public class ExpressionsAdapterFactory extends AdapterFactoryImpl
}
@Override
+ public Adapter caseListConstruction(ListConstruction object)
+ {
+ return createListConstructionAdapter();
+ }
+
+ @Override
public Adapter defaultCase(EObject object)
{
return createEObjectAdapter();
@@ -405,106 +389,106 @@ public class ExpressionsAdapterFactory extends AdapterFactoryImpl
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.ListValue <em>List Value</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.Invocation <em>Invocation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.ListValue
+ * @see org.eclipse.emf.cdo.expressions.Invocation
* @generated
*/
- public Adapter createListValueAdapter()
+ public Adapter createInvocationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.Invocation <em>Invocation</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.FunctionInvocation <em>Function Invocation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.Invocation
+ * @see org.eclipse.emf.cdo.expressions.FunctionInvocation
* @generated
*/
- public Adapter createInvocationAdapter()
+ public Adapter createFunctionInvocationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.FunctionInvocation <em>Function Invocation</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.MemberInvocation <em>Member Invocation</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.FunctionInvocation
+ * @see org.eclipse.emf.cdo.expressions.MemberInvocation
* @generated
*/
- public Adapter createFunctionInvocationAdapter()
+ public Adapter createMemberInvocationAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.MemberInvocation <em>Member Invocation</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.Access <em>Access</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.MemberInvocation
+ * @see org.eclipse.emf.cdo.expressions.Access
* @generated
*/
- public Adapter createMemberInvocationAdapter()
+ public Adapter createAccessAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.MemberAccess <em>Member Access</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.StaticAccess <em>Static Access</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.MemberAccess
+ * @see org.eclipse.emf.cdo.expressions.StaticAccess
* @generated
*/
- public Adapter createMemberAccessAdapter()
+ public Adapter createStaticAccessAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.ContextAccess <em>Context Access</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.MemberAccess <em>Member Access</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.ContextAccess
+ * @see org.eclipse.emf.cdo.expressions.MemberAccess
* @generated
*/
- public Adapter createContextAccessAdapter()
+ public Adapter createMemberAccessAdapter()
{
return null;
}
/**
- * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.This <em>This</em>}'.
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.ContextAccess <em>Context Access</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
- * @see org.eclipse.emf.cdo.expressions.This
+ * @see org.eclipse.emf.cdo.expressions.ContextAccess
* @generated
*/
- public Adapter createThisAdapter()
+ public Adapter createContextAccessAdapter()
{
return null;
}
@@ -555,6 +539,21 @@ public class ExpressionsAdapterFactory extends AdapterFactoryImpl
}
/**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.expressions.ListConstruction <em>List Construction</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.expressions.ListConstruction
+ * @generated
+ */
+ public Adapter createListConstructionAdapter()
+ {
+ return null;
+ }
+
+ /**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java
index ec88cbce1b..ebeac588c0 100644
--- a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsSwitch.java
@@ -2,29 +2,7 @@
*/
package org.eclipse.emf.cdo.expressions.util;
-import org.eclipse.emf.cdo.expressions.BooleanValue;
-import org.eclipse.emf.cdo.expressions.ByteValue;
-import org.eclipse.emf.cdo.expressions.CharValue;
-import org.eclipse.emf.cdo.expressions.ContainedObject;
-import org.eclipse.emf.cdo.expressions.ContextAccess;
-import org.eclipse.emf.cdo.expressions.DoubleValue;
-import org.eclipse.emf.cdo.expressions.Expression;
-import org.eclipse.emf.cdo.expressions.ExpressionsPackage;
-import org.eclipse.emf.cdo.expressions.FloatValue;
-import org.eclipse.emf.cdo.expressions.FunctionInvocation;
-import org.eclipse.emf.cdo.expressions.IntValue;
-import org.eclipse.emf.cdo.expressions.Invocation;
-import org.eclipse.emf.cdo.expressions.LinkedExpression;
-import org.eclipse.emf.cdo.expressions.LinkedObject;
-import org.eclipse.emf.cdo.expressions.ListValue;
-import org.eclipse.emf.cdo.expressions.LongValue;
-import org.eclipse.emf.cdo.expressions.MemberAccess;
-import org.eclipse.emf.cdo.expressions.MemberInvocation;
-import org.eclipse.emf.cdo.expressions.ShortValue;
-import org.eclipse.emf.cdo.expressions.StringValue;
-import org.eclipse.emf.cdo.expressions.This;
-import org.eclipse.emf.cdo.expressions.Value;
-
+import org.eclipse.emf.cdo.expressions.*;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
@@ -218,18 +196,6 @@ public class ExpressionsSwitch<T> extends Switch<T>
result = defaultCase(theEObject);
return result;
}
- case ExpressionsPackage.LIST_VALUE:
- {
- ListValue listValue = (ListValue)theEObject;
- T result = caseListValue(listValue);
- if (result == null)
- result = caseValue(listValue);
- if (result == null)
- result = caseExpression(listValue);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
case ExpressionsPackage.INVOCATION:
{
Invocation invocation = (Invocation)theEObject;
@@ -264,11 +230,35 @@ public class ExpressionsSwitch<T> extends Switch<T>
result = defaultCase(theEObject);
return result;
}
+ case ExpressionsPackage.ACCESS:
+ {
+ Access access = (Access)theEObject;
+ T result = caseAccess(access);
+ if (result == null)
+ result = caseExpression(access);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
+ case ExpressionsPackage.STATIC_ACCESS:
+ {
+ StaticAccess staticAccess = (StaticAccess)theEObject;
+ T result = caseStaticAccess(staticAccess);
+ if (result == null)
+ result = caseAccess(staticAccess);
+ if (result == null)
+ result = caseExpression(staticAccess);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
case ExpressionsPackage.MEMBER_ACCESS:
{
MemberAccess memberAccess = (MemberAccess)theEObject;
T result = caseMemberAccess(memberAccess);
if (result == null)
+ result = caseAccess(memberAccess);
+ if (result == null)
result = caseExpression(memberAccess);
if (result == null)
result = defaultCase(theEObject);
@@ -279,17 +269,9 @@ public class ExpressionsSwitch<T> extends Switch<T>
ContextAccess contextAccess = (ContextAccess)theEObject;
T result = caseContextAccess(contextAccess);
if (result == null)
- result = caseExpression(contextAccess);
- if (result == null)
- result = defaultCase(theEObject);
- return result;
- }
- case ExpressionsPackage.THIS:
- {
- This this_ = (This)theEObject;
- T result = caseThis(this_);
+ result = caseAccess(contextAccess);
if (result == null)
- result = caseExpression(this_);
+ result = caseExpression(contextAccess);
if (result == null)
result = defaultCase(theEObject);
return result;
@@ -324,6 +306,16 @@ public class ExpressionsSwitch<T> extends Switch<T>
result = defaultCase(theEObject);
return result;
}
+ case ExpressionsPackage.LIST_CONSTRUCTION:
+ {
+ ListConstruction listConstruction = (ListConstruction)theEObject;
+ T result = caseListConstruction(listConstruction);
+ if (result == null)
+ result = caseExpression(listConstruction);
+ if (result == null)
+ result = defaultCase(theEObject);
+ return result;
+ }
default:
return defaultCase(theEObject);
}
@@ -506,113 +498,113 @@ public class ExpressionsSwitch<T> extends Switch<T>
}
/**
- * Returns the result of interpreting the object as an instance of '<em>List Value</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Invocation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>List Value</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Invocation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseListValue(ListValue object)
+ public T caseInvocation(Invocation object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Invocation</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Function Invocation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Invocation</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Function Invocation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseInvocation(Invocation object)
+ public T caseFunctionInvocation(FunctionInvocation object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Function Invocation</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Member Invocation</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Function Invocation</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Member Invocation</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseFunctionInvocation(FunctionInvocation object)
+ public T caseMemberInvocation(MemberInvocation object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Member Invocation</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Access</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Member Invocation</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Access</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseMemberInvocation(MemberInvocation object)
+ public T caseAccess(Access object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Member Access</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Static Access</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Member Access</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Static Access</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseMemberAccess(MemberAccess object)
+ public T caseStaticAccess(StaticAccess object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>Context Access</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Member Access</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>Context Access</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Member Access</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseContextAccess(ContextAccess object)
+ public T caseMemberAccess(MemberAccess object)
{
return null;
}
/**
- * Returns the result of interpreting the object as an instance of '<em>This</em>'.
+ * Returns the result of interpreting the object as an instance of '<em>Context Access</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
- * @return the result of interpreting the object as an instance of '<em>This</em>'.
+ * @return the result of interpreting the object as an instance of '<em>Context Access</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
- public T caseThis(This object)
+ public T caseContextAccess(ContextAccess object)
{
return null;
}
@@ -666,6 +658,22 @@ public class ExpressionsSwitch<T> extends Switch<T>
}
/**
+ * Returns the result of interpreting the object as an instance of '<em>List Construction</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>List Construction</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseListConstruction(ListConstruction object)
+ {
+ return null;
+ }
+
+ /**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
diff --git a/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsUtil.java b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsUtil.java
new file mode 100644
index 0000000000..e473e4065f
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.expressions/src/org/eclipse/emf/cdo/expressions/util/ExpressionsUtil.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2004-2013 Eike Stepper (Berlin, Germany) and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Eike Stepper - initial API and implementation
+ */
+package org.eclipse.emf.cdo.expressions.util;
+
+import org.eclipse.emf.cdo.expressions.BooleanValue;
+import org.eclipse.emf.cdo.expressions.ByteValue;
+import org.eclipse.emf.cdo.expressions.CharValue;
+import org.eclipse.emf.cdo.expressions.DoubleValue;
+import org.eclipse.emf.cdo.expressions.Expression;
+import org.eclipse.emf.cdo.expressions.ExpressionsFactory;
+import org.eclipse.emf.cdo.expressions.FloatValue;
+import org.eclipse.emf.cdo.expressions.FunctionInvocation;
+import org.eclipse.emf.cdo.expressions.IntValue;
+import org.eclipse.emf.cdo.expressions.ListConstruction;
+import org.eclipse.emf.cdo.expressions.LongValue;
+import org.eclipse.emf.cdo.expressions.MemberInvocation;
+import org.eclipse.emf.cdo.expressions.ShortValue;
+import org.eclipse.emf.cdo.expressions.StringValue;
+
+import java.util.Arrays;
+
+/**
+ * @author Eike Stepper
+ */
+public class ExpressionsUtil
+{
+ public ExpressionsUtil()
+ {
+ }
+
+ public static BooleanValue value(boolean literal)
+ {
+ BooleanValue value = ExpressionsFactory.eINSTANCE.createBooleanValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static ByteValue value(byte literal)
+ {
+ ByteValue value = ExpressionsFactory.eINSTANCE.createByteValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static CharValue value(char literal)
+ {
+ CharValue value = ExpressionsFactory.eINSTANCE.createCharValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static DoubleValue value(double literal)
+ {
+ DoubleValue value = ExpressionsFactory.eINSTANCE.createDoubleValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static FloatValue value(float literal)
+ {
+ FloatValue value = ExpressionsFactory.eINSTANCE.createFloatValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static IntValue value(int literal)
+ {
+ IntValue value = ExpressionsFactory.eINSTANCE.createIntValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static LongValue value(long literal)
+ {
+ LongValue value = ExpressionsFactory.eINSTANCE.createLongValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static ShortValue value(short literal)
+ {
+ ShortValue value = ExpressionsFactory.eINSTANCE.createShortValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static StringValue value(String literal)
+ {
+ StringValue value = ExpressionsFactory.eINSTANCE.createStringValue();
+ value.setLiteral(literal);
+ return value;
+ }
+
+ public static ListConstruction list(Expression... elements)
+ {
+ ListConstruction value = ExpressionsFactory.eINSTANCE.createListConstruction();
+ value.getElements().addAll(Arrays.asList(elements));
+ return value;
+ }
+
+ public static MemberInvocation invokeMember(Expression object, Expression name, Expression... arguments)
+ {
+ MemberInvocation expression = ExpressionsFactory.eINSTANCE.createMemberInvocation();
+ expression.setObject(object);
+ expression.setName(name);
+ expression.getArguments().addAll(Arrays.asList(arguments));
+ return expression;
+ }
+
+ public static FunctionInvocation invoke(Expression name, Expression... arguments)
+ {
+ FunctionInvocation expression = ExpressionsFactory.eINSTANCE.createFunctionInvocation();
+ expression.setName(name);
+ expression.getArguments().addAll(Arrays.asList(arguments));
+ return expression;
+ }
+
+ public static FunctionInvocation construct(Expression className, Expression... arguments)
+ {
+ return invoke(value(className + ".new"), arguments);
+ }
+
+ // public static void main(String[] args)
+ // {
+ // System.out.println(Math.min(2, 4));
+ // System.out.println(invoke(value("Math.min"), value(2), value(4)).evaluate(new EvaluationContextImpl()));
+ // }
+}
diff --git a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/PermissionFilterImpl.java b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/PermissionFilterImpl.java
index 373f66ba90..261845a0cc 100644
--- a/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/PermissionFilterImpl.java
+++ b/plugins/org.eclipse.emf.cdo.security/src/org/eclipse/emf/cdo/security/impl/PermissionFilterImpl.java
@@ -91,7 +91,7 @@ public abstract class PermissionFilterImpl extends CDOObjectImpl implements Perm
{
if (tracing)
{
- TRACER.trace(msg + " --> " + result);
+ TRACER.trace(msg + " = " + result);
}
}

Back to the top