Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/alf09/src/org/eclipse/papyrus/alf/syntax/expressions/InstanceCreationExpression.java')
-rw-r--r--extraplugins/alf09/src/org/eclipse/papyrus/alf/syntax/expressions/InstanceCreationExpression.java81
1 files changed, 81 insertions, 0 deletions
diff --git a/extraplugins/alf09/src/org/eclipse/papyrus/alf/syntax/expressions/InstanceCreationExpression.java b/extraplugins/alf09/src/org/eclipse/papyrus/alf/syntax/expressions/InstanceCreationExpression.java
new file mode 100644
index 00000000000..85871b14ac5
--- /dev/null
+++ b/extraplugins/alf09/src/org/eclipse/papyrus/alf/syntax/expressions/InstanceCreationExpression.java
@@ -0,0 +1,81 @@
+package org.eclipse.papyrus.alf.syntax.expressions;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.papyrus.alf.syntax.common.ElementReference;
+
+public class InstanceCreationExpression extends InvocationExpression {
+
+ // Synthesized Properties
+ public QualifiedName constructor ;
+
+ // Derived Properties
+ public boolean isConstructorless ;
+ public boolean isObjectCreation ;
+
+ // Constraints
+
+ /*
+ * The constructor name must resolve to a constructor operation (that is compatible with the tuple
+ * argument expressions), a class or a data type, but not both a class and a data type.
+ */
+ public void checkInstanceCreationExpressionConstructor() {
+
+ }
+
+ /*
+ * If an instance creation expression is a data value creation (not an object creation), then the tuple
+ * argument expressions are matched with the attributes of the named type.
+ */
+ public void checkInstanceCreationExpressionDataTypeCompatibility() {
+
+ }
+
+ /*
+ * There is no feature for an instance creation expression.
+ */
+ public void checkInstanceCreationExpressionFeatureDerivation() {
+
+ }
+
+ /*
+ * An instance creation expression is constructorless if its referent is a class.
+ */
+ public void checkInstanceCreationExpressionIsConstructorlessDerivation() {
+
+ }
+
+ /*
+ * An instance creation expression is an object creation if its referent is not a data type.
+ */
+ public void checkInstanceCreationExpressionIsObjectCreationDerivation() {
+
+ }
+
+ /*
+ * The referent of an instance creation expression is the constructor operation, class or data type to which
+ * the constructor name resolves.
+ */
+ public void checkInstanceCreationExpressionReferentDerivation() {
+
+ }
+
+ /*
+ * If the expression is constructorless, then its tuple must be empty.
+ */
+ public void checkInstanceCreationExpressionTuple() {
+
+ }
+
+ // Helper Operations
+
+ /*
+ * Returns the parameters of a constructor operation or the attributes of a data type, or an empty set for a
+ * constructorless instance creation.
+ */
+ public List<ElementReference> parameterElements ( ) {
+ return new ArrayList<ElementReference>() ;
+ }
+
+}

Back to the top