Commit 370d1520 authored by Müller, Marco's avatar Müller, Marco
Browse files

Ensures that IALTransformations can resolve their code elements

parent 2b37a8b5
Loading
Loading
Loading
Loading
+15 −5
Original line number Original line Diff line number Diff line
@@ -27,6 +27,7 @@ import org.eclipse.jdt.core.IPackageFragmentRoot;


import de.mkonersmann.advert.java.embed.ASTUtils;
import de.mkonersmann.advert.java.embed.ASTUtils;
import de.mkonersmann.advert.java.embed.ModelUtils;
import de.mkonersmann.advert.java.embed.ModelUtils;
import de.mkonersmann.advert.java.embed.transformation.references.IALTransformation;


public abstract class AbstractModelCodeTransformation<ELEMENTECLASS extends EObject, JAVAELEMENTCLASS extends IJavaElement>
public abstract class AbstractModelCodeTransformation<ELEMENTECLASS extends EObject, JAVAELEMENTCLASS extends IJavaElement>
		extends RecursiveAction implements IMayHaveIssues, IModelCodeTransformation<ELEMENTECLASS, JAVAELEMENTCLASS> {
		extends RecursiveAction implements IMayHaveIssues, IModelCodeTransformation<ELEMENTECLASS, JAVAELEMENTCLASS> {
@@ -257,11 +258,20 @@ public abstract class AbstractModelCodeTransformation<ELEMENTECLASS extends EObj
	 */
	 */
	@Override
	@Override
	public JAVAELEMENTCLASS resolveCodeElement() throws CodelingException {
	public JAVAELEMENTCLASS resolveCodeElement() throws CodelingException {
		if (priorIDRegistry != null && priorModelElement != null)
		if (priorIDRegistry != null && priorModelElement != null) {
			if (this instanceof IALTransformation)
				codeElement = (JAVAELEMENTCLASS) priorIDRegistry.getCodeElementFromTranslationModelElement(
						((IALTransformation<?, ?>) this).getIALHolder().getFoundationalIALElement());
			else
				codeElement = (JAVAELEMENTCLASS) priorIDRegistry
				codeElement = (JAVAELEMENTCLASS) priorIDRegistry
						.getCodeElementFromImplementationModelElement(priorModelElement);
						.getCodeElementFromImplementationModelElement(priorModelElement);
		} else {
			if (this instanceof IALTransformation)
				codeElement = (JAVAELEMENTCLASS) idRegistry.getCodeElementFromTranslationModelElement(
						((IALTransformation<?, ?>) this).getIALHolder().getFoundationalIALElement());
			else
			else
				codeElement = (JAVAELEMENTCLASS) idRegistry.getCodeElementFromImplementationModelElement(modelElement);
				codeElement = (JAVAELEMENTCLASS) idRegistry.getCodeElementFromImplementationModelElement(modelElement);
		}
		return codeElement;
		return codeElement;
	}
	}