Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2018-11-05 08:24:06 +0000
committerEd Merks2018-11-05 09:50:05 +0000
commitc8bcc35587e55c4c915cf919adaf83df9b3e35c0 (patch)
tree8b9cab40ab45d5baa148784ab9d36007b082b85a
parentbc8d593cc7e57eb1a9dd87dce03d1daad8b387ba (diff)
downloadorg.eclipse.emf-c8bcc35587e55c4c915cf919adaf83df9b3e35c0.tar.gz
org.eclipse.emf-c8bcc35587e55c4c915cf919adaf83df9b3e35c0.tar.xz
org.eclipse.emf-c8bcc35587e55c4c915cf919adaf83df9b3e35c0.zip
[540770] Add new insertion points to Class.javajet (dynamic feature
delegation support) Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=540770 Change-Id: Ic610209c7e9a2ef2eee72d690bfb9285ad2e7786 Signed-off-by: Eike Stepper <stepper@esc-net.de>
-rw-r--r--plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java2
-rw-r--r--plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet5
2 files changed, 7 insertions, 0 deletions
diff --git a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
index c91100c2f..9fc84ea1a 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
+++ b/plugins/org.eclipse.emf.codegen.ecore/src/org/eclipse/emf/codegen/ecore/templates/model/Class.java
@@ -1372,6 +1372,8 @@ public class Class
stringBuffer.append(genClass.getQualifiedClassifierAccessor());
stringBuffer.append(TEXT_126);
}
+ if (isImplementation && genModel.isDynamicDelegation()) {
+ }
if (isImplementation && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel.isDynamicDelegation()) && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel().getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {
if (genClass.hasStaticFeatures()) {
stringBuffer.append(TEXT_127);
diff --git a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
index 0c56219e4..80606b0cd 100644
--- a/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
+++ b/plugins/org.eclipse.emf.codegen.ecore/templates/model/Class.javajet
@@ -520,6 +520,9 @@ public interface <%=genClass.getInterfaceName()%><%=genClass.getTypeParameters()
}
<%}%>
+<%if (isImplementation && genModel.isDynamicDelegation()) {%>
+<%@ include file="Class/dynamicDelegation.javajetinc" fail="silent" %>
+<%}%>
<%@ include file="Class/reflectiveDelegation.override.javajetinc" fail="alternative" %>
<%@ start %>
<%if (isImplementation && (genModel.getFeatureDelegation() == GenDelegationKind.REFLECTIVE_LITERAL || genModel.isDynamicDelegation()) && (genClass.getClassExtendsGenClass() == null || (genClass.getClassExtendsGenClass().getGenModel().getFeatureDelegation() != GenDelegationKind.REFLECTIVE_LITERAL && !genClass.getClassExtendsGenClass().getGenModel().isDynamicDelegation()))) {%>
@@ -1248,7 +1251,9 @@ if (index != -1) { head = typeName.substring(0, index); tail = "<code>" + CodeGe
{
<%@ include file="Class/setGenFeature.pre.insert.javajetinc" fail="silent" %>
<%if (genModel.isDynamicDelegation() && !genFeature.isVolatile()) {%>
+<%@ include file="Class/dynamicSetGenFeature.pre.insert.javajetinc" fail="silent" %>
eDynamicSet(<%=genClass.getQualifiedFeatureID(genFeature)%><%if (genClass.hasStaticFeatures()){%> - ESTATIC_FEATURE_COUNT<%}%>, <%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
+<%@ include file="Class/dynamicSetGenFeature.post.insert.javajetinc" fail="silent" %>
<%} else if (genModel.isReflectiveDelegation()) {%>
eSet(<%=genFeature.getQualifiedFeatureAccessor()%>, <%if (!isJDK50 && genFeature.isPrimitiveType()) {%>new <%=genFeature.getObjectType(genClass)%>(<%}%>new<%=genFeature.getCapName()%><%if (!isJDK50 && genFeature.isPrimitiveType()) {%>)<%}%>);
<%} else if (genFeature.hasSettingDelegate()) {%>

Back to the top