Skip to content

Commit

Permalink
104: Remove safeSetEAttributeType
Browse files Browse the repository at this point in the history
  • Loading branch information
LorenzoBettini committed Jan 24, 2020
1 parent 2e48cab commit 6d4a4e5
Show file tree
Hide file tree
Showing 2 changed files with 3 additions and 46 deletions.
@@ -1,23 +1,20 @@
package edelta.tests

import com.google.inject.Inject
import edelta.edelta.EdeltaFactory
import edelta.interpreter.EdeltaInterpreterHelper
import edelta.interpreter.EdeltaSafeInterpreter
import edelta.lib.AbstractEdelta
import edelta.tests.additional.MyCustomEdelta
import org.eclipse.emf.ecore.EcoreFactory
import org.eclipse.emf.ecore.EcorePackage
import edelta.tests.additional.MyCustomEdeltaThatCannotBeLoadedAtRuntime
import org.eclipse.xtext.common.types.util.JavaReflectAccess
import org.eclipse.xtext.testing.InjectWith
import org.eclipse.xtext.testing.XtextRunner
import org.junit.Before
import org.junit.Test
import org.junit.runner.RunWith

import static org.assertj.core.api.Assertions.*
import static org.junit.Assert.*
import edelta.tests.additional.MyCustomEdeltaThatCannotBeLoadedAtRuntime
import edelta.lib.AbstractEdelta
import org.junit.Before

@RunWith(XtextRunner)
@InjectWith(EdeltaInjectorProviderForJavaReflectAccess)
Expand Down Expand Up @@ -83,31 +80,6 @@ class EdeltaInterpreterHelperTest extends EdeltaAbstractTest {
]
}

@Test
def void testSafeSetEAttributeType() {
val attr = EcoreFactory.eINSTANCE.createEAttribute
interpreterHelper.safeSetEAttributeType(attr,
EdeltaFactory.eINSTANCE.createEdeltaEcoreDirectReference => [
// something that is not an EClassifier
enamedelement = EcoreFactory.eINSTANCE.createEReference
]
)
assertNull(attr.EType)
interpreterHelper.safeSetEAttributeType(attr,
EdeltaFactory.eINSTANCE.createEdeltaEcoreDirectReference => [
enamedelement = EcorePackage.eINSTANCE.EString
]
)
assertEquals(EcorePackage.eINSTANCE.EString, attr.EType)
}

@Test
def void testSafeSetEAttributeTypeWithNullType() {
val attr = EcoreFactory.eINSTANCE.createEAttribute
interpreterHelper.safeSetEAttributeType(attr, null)
assertNull(attr.EType)
}

@Test
def void testSafeInstantiateOfUnresolvedUseAsType() {
assertThatThrownBy[
Expand Down
Expand Up @@ -5,17 +5,12 @@

import java.lang.reflect.InvocationTargetException;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.ENamedElement;
import org.eclipse.xtext.common.types.JvmTypeReference;
import org.eclipse.xtext.common.types.util.JavaReflectAccess;

import com.google.inject.Singleton;

import edelta.edelta.EdeltaEcoreReference;
import edelta.edelta.EdeltaUseAs;

import edelta.interpreter.EdeltaSafeInterpreter.EdeltaInterpreterRuntimeException;
import edelta.lib.AbstractEdelta;

Expand Down Expand Up @@ -59,14 +54,4 @@ public Object safeInstantiate(JavaReflectAccess javaReflectAccess, EdeltaUseAs u
}
}

public void safeSetEAttributeType(EAttribute attr, EdeltaEcoreReference ecoreRef) {
if (ecoreRef == null) {
return;
}
ENamedElement ref = ecoreRef.getEnamedelement();
if (ref instanceof EClassifier) {
EClassifier type = (EClassifier) ref;
attr.setEType(type);
}
}
}

0 comments on commit 6d4a4e5

Please sign in to comment.