Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/xtend-gen/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.java')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/xtend-gen/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.java71
1 files changed, 71 insertions, 0 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/xtend-gen/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.java b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/xtend-gen/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.java
new file mode 100644
index 00000000000..6ab9b1cb8dd
--- /dev/null
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/xtend-gen/org/eclipse/papyrus/cpp/codegen/xtend/CppClassOperationsDeclaration.java
@@ -0,0 +1,71 @@
+package org.eclipse.papyrus.cpp.codegen.xtend;
+
+import com.google.common.base.Objects;
+import com.google.common.collect.Iterables;
+import java.util.List;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.papyrus.cpp.codegen.xtend.CppOperations;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.OpaqueBehavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.VisibilityKind;
+import org.eclipse.xtend2.lib.StringConcatenation;
+import org.eclipse.xtext.xbase.lib.Functions.Function1;
+import org.eclipse.xtext.xbase.lib.IterableExtensions;
+import org.eclipse.xtext.xbase.lib.IteratorExtensions;
+
+/**
+ * @author Önder GÜRCAN (onder.gurcan@cea.fr)
+ */
+@SuppressWarnings("all")
+public class CppClassOperationsDeclaration {
+ public static CharSequence CppClassOperationsDeclaration(final Classifier clazz, final VisibilityKind visibilityFilter) {
+ StringConcatenation _builder = new StringConcatenation();
+ {
+ EList<Operation> _ownedOperations = CppOperations.getOwnedOperations(clazz);
+ final Function1<Operation, Boolean> _function = new Function1<Operation, Boolean>() {
+ public Boolean apply(final Operation it) {
+ VisibilityKind _visibility = it.getVisibility();
+ return Boolean.valueOf(Objects.equal(_visibility, visibilityFilter));
+ }
+ };
+ Iterable<Operation> _filter = IterableExtensions.<Operation>filter(_ownedOperations, _function);
+ for(final Operation op : _filter) {
+ _builder.newLine();
+ CharSequence _CppOperationDeclaration = CppOperations.CppOperationDeclaration(op);
+ _builder.append(_CppOperationDeclaration, "");
+ _builder.newLineIfNotEmpty();
+ }
+ }
+ {
+ TreeIterator<EObject> _eAllContents = clazz.eAllContents();
+ List<EObject> _list = IteratorExtensions.<EObject>toList(_eAllContents);
+ Iterable<OpaqueBehavior> _filter_1 = Iterables.<OpaqueBehavior>filter(_list, OpaqueBehavior.class);
+ final Function1<OpaqueBehavior, Boolean> _function_1 = new Function1<OpaqueBehavior, Boolean>() {
+ public Boolean apply(final OpaqueBehavior it) {
+ VisibilityKind _visibility = it.getVisibility();
+ return Boolean.valueOf(Objects.equal(_visibility, visibilityFilter));
+ }
+ };
+ Iterable<OpaqueBehavior> _filter_2 = IterableExtensions.<OpaqueBehavior>filter(_filter_1, _function_1);
+ for(final OpaqueBehavior b : _filter_2) {
+ {
+ BehavioralFeature _specification = b.getSpecification();
+ boolean _equals = Objects.equal(_specification, null);
+ if (_equals) {
+ _builder.newLine();
+ _builder.append("// opaque behavior without specification (typically from state machine)");
+ _builder.newLine();
+ CharSequence _CppBehaviorDeclaration = CppOperations.CppBehaviorDeclaration(b);
+ _builder.append(_CppBehaviorDeclaration, "");
+ _builder.newLineIfNotEmpty();
+ }
+ }
+ }
+ }
+ return _builder;
+ }
+}

Back to the top