Search in sources :

Example 26 with XtendInterface

use of org.eclipse.xtend.core.xtend.XtendInterface in project xtext-xtend by eclipse.

the class OverrideValidationTest method testInterfaceOverrideVoidFunction_1.

@Test
public void testInterfaceOverrideVoidFunction_1() throws Exception {
    XtendInterface xtendInterface = interfaze("interface Foo extends test.SuperInterface { override String voidFunction() }");
    helper.assertError(xtendInterface.getMembers().get(0), XTEND_FUNCTION, INCOMPATIBLE_RETURN_TYPE);
}
Also used : XtendInterface(org.eclipse.xtend.core.xtend.XtendInterface) Test(org.junit.Test)

Example 27 with XtendInterface

use of org.eclipse.xtend.core.xtend.XtendInterface in project xtext-xtend by eclipse.

the class OverrideValidationTest method testInterfaceCompatibleThrowsClause_01.

@Test
public void testInterfaceCompatibleThrowsClause_01() throws Exception {
    XtendInterface xtendInterface = interfaze("interface Foo extends test.ExceptionThrowingInterface { override runtimeException() throws NullPointerException }");
    helper.assertNoError(xtendInterface.getMembers().get(0), INCOMPATIBLE_THROWS_CLAUSE);
}
Also used : XtendInterface(org.eclipse.xtend.core.xtend.XtendInterface) Test(org.junit.Test)

Example 28 with XtendInterface

use of org.eclipse.xtend.core.xtend.XtendInterface in project xtext-xtend by eclipse.

the class OverrideValidationTest method testInterfaceOverrideWithTypeParameter_2.

@Test
public void testInterfaceOverrideWithTypeParameter_2() throws Exception {
    XtendInterface xtendInterface = interfaze("interface Foo<S> extends test.GenericClass<S> { override java.util.List<S> foo() }");
    helper.assertNoError(xtendInterface.getMembers().get(0), INCOMPATIBLE_RETURN_TYPE);
}
Also used : XtendInterface(org.eclipse.xtend.core.xtend.XtendInterface) Test(org.junit.Test)

Example 29 with XtendInterface

use of org.eclipse.xtend.core.xtend.XtendInterface in project xtext-xtend by eclipse.

the class OverrideValidationTest method testDuplicateInterfaceMethod_5.

@Test
public void testDuplicateInterfaceMethod_5() throws Exception {
    XtendInterface xtendInterface = interfaze("interface Foo { def <T> void bar(T t) def <V> void bar(V v) }");
    helper.assertError(xtendInterface.getMembers().get(0), XTEND_FUNCTION, DUPLICATE_METHOD, "erasure", "Object)", "T");
    helper.assertError(xtendInterface.getMembers().get(1), XTEND_FUNCTION, DUPLICATE_METHOD, "erasure", "Object)", "V");
}
Also used : XtendInterface(org.eclipse.xtend.core.xtend.XtendInterface) Test(org.junit.Test)

Example 30 with XtendInterface

use of org.eclipse.xtend.core.xtend.XtendInterface in project xtext-xtend by eclipse.

the class OverrideValidationTest method testInterfaceCompatibleThrowsClause_08.

@Test
public void testInterfaceCompatibleThrowsClause_08() throws Exception {
    XtendInterface xtendInterface = interfaze("interface Foo extends test.ExceptionThrowingInterface { override <E extends java.io.IOException> generifiedIoException() throws E }");
    helper.assertNoError(xtendInterface.getMembers().get(0), INCOMPATIBLE_THROWS_CLAUSE);
}
Also used : XtendInterface(org.eclipse.xtend.core.xtend.XtendInterface) Test(org.junit.Test)

Aggregations

XtendInterface (org.eclipse.xtend.core.xtend.XtendInterface)82 Test (org.junit.Test)78 XtendClass (org.eclipse.xtend.core.xtend.XtendClass)5 XtendAnnotationType (org.eclipse.xtend.core.xtend.XtendAnnotationType)4 XtendEnum (org.eclipse.xtend.core.xtend.XtendEnum)4 RichString (org.eclipse.xtend.core.xtend.RichString)3 XtendField (org.eclipse.xtend.core.xtend.XtendField)3 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)3 XtendMember (org.eclipse.xtend.core.xtend.XtendMember)2 XtendParameter (org.eclipse.xtend.core.xtend.XtendParameter)2 EObject (org.eclipse.emf.ecore.EObject)1 EPackage (org.eclipse.emf.ecore.EPackage)1 InternalEObject (org.eclipse.emf.ecore.InternalEObject)1 XtendAnnotationTypeDeclarationImpl (org.eclipse.xtend.core.macro.declaration.XtendAnnotationTypeDeclarationImpl)1 XtendClassDeclarationImpl (org.eclipse.xtend.core.macro.declaration.XtendClassDeclarationImpl)1 XtendEnumerationDeclarationImpl (org.eclipse.xtend.core.macro.declaration.XtendEnumerationDeclarationImpl)1 XtendInterfaceDeclarationImpl (org.eclipse.xtend.core.macro.declaration.XtendInterfaceDeclarationImpl)1 XtendTypeDeclarationImpl (org.eclipse.xtend.core.macro.declaration.XtendTypeDeclarationImpl)1 JavaConverterTest (org.eclipse.xtend.core.tests.javaconverter.JavaConverterTest)1 RichStringLiteral (org.eclipse.xtend.core.xtend.RichStringLiteral)1