Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl')
-rw-r--r--extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl9
1 files changed, 8 insertions, 1 deletions
diff --git a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl
index bc129027d9f..8b410a0f292 100644
--- a/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl
+++ b/extraplugins/codegen/org.eclipse.papyrus.cpp.codegen/src/org/eclipse/papyrus/cpp/codegen/acceleo/util/clazz/CppClassOperationsDeclaration.mtl
@@ -3,8 +3,15 @@
[template public CppClassOperationsDeclaration(class : Classifier, visibilityFilter : VisibilityKind)]
-[for (getOperations()->select(visibility = visibilityFilter))]
+[for (getOwnedOperations()->select(visibility = visibilityFilter))]
[CppOperationDeclaration()/]
[/for]
+[for (b : Behavior | eAllContents(OpaqueBehavior)->select(visibility = visibilityFilter))]
+ [if (b.specification = null)]
+
+ // opaque behavior without specification (typically from state machine)
+ [CppBehaviorDeclaration()/]
+ [/if]
+[/for]
[/template]

Back to the top