Search in sources :

Example 1 with AbstractInterfaceBuilder

use of org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder in project xtext-xtend by eclipse.

the class InterfaceBuilderTest method testXtendInterface.

@Test
public void testXtendInterface() {
    AbstractInterfaceBuilder _createInterfaceBuilder = this._codeBuilderFactory.createInterfaceBuilder(this.getXtendClass());
    final Procedure1<AbstractInterfaceBuilder> _function = (AbstractInterfaceBuilder it) -> {
        it.setContext(this.getXtendClass());
        it.setInterfaceName("Bar");
        it.setVisibility(JvmVisibility.PUBLIC);
    };
    AbstractInterfaceBuilder _doubleArrow = ObjectExtensions.<AbstractInterfaceBuilder>operator_doubleArrow(_createInterfaceBuilder, _function);
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("interface Bar {");
    _builder.newLine();
    _builder.append("}");
    this.assertBuilds(_doubleArrow, _builder.toString());
}
Also used : AbstractInterfaceBuilder(org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) Test(org.junit.Test) AbstractBuilderTest(org.eclipse.xtend.ide.tests.codebuilder.AbstractBuilderTest)

Example 2 with AbstractInterfaceBuilder

use of org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder in project xtext-xtend by eclipse.

the class CreateXtendTypeQuickfixes method newLocalXtendInterfaceQuickfix.

protected void newLocalXtendInterfaceQuickfix(String typeName, XtextResource resource, Issue issue, IssueResolutionAcceptor issueResolutionAcceptor) {
    EObject eObject = resource.getEObject(issue.getUriToProblem().fragment());
    XtendTypeDeclaration xtendType = getAnnotationTarget(eObject);
    if (xtendType != null) {
        JvmDeclaredType inferredType = associations.getInferredType(xtendType);
        if (inferredType != null) {
            AbstractInterfaceBuilder interfaceBuilder = codeBuilderFactory.createInterfaceBuilder(inferredType);
            interfaceBuilder.setInterfaceName(typeName);
            interfaceBuilder.setVisibility(JvmVisibility.PUBLIC);
            interfaceBuilder.setContext(xtendType);
            interfaceBuilder.setImage("xtend_file.png");
            codeBuilderQuickfix.addQuickfix(interfaceBuilder, "Create local Xtend interface '" + typeName + "'", issue, issueResolutionAcceptor);
        }
    }
}
Also used : AbstractInterfaceBuilder(org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder) EObject(org.eclipse.emf.ecore.EObject) XtendTypeDeclaration(org.eclipse.xtend.core.xtend.XtendTypeDeclaration) JvmDeclaredType(org.eclipse.xtext.common.types.JvmDeclaredType)

Example 3 with AbstractInterfaceBuilder

use of org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder in project xtext-xtend by eclipse.

the class InterfaceBuilderTest method testJavaClass.

@Test
public void testJavaClass() {
    AbstractInterfaceBuilder _createInterfaceBuilder = this._codeBuilderFactory.createInterfaceBuilder(this.getJavaClass());
    final Procedure1<AbstractInterfaceBuilder> _function = (AbstractInterfaceBuilder it) -> {
        it.setContext(this.getJavaClass());
        it.setInterfaceName("Bar");
        it.setVisibility(JvmVisibility.PUBLIC);
    };
    AbstractInterfaceBuilder _doubleArrow = ObjectExtensions.<AbstractInterfaceBuilder>operator_doubleArrow(_createInterfaceBuilder, _function);
    StringConcatenation _builder = new StringConcatenation();
    _builder.append("public interface Bar {");
    _builder.newLine();
    _builder.append("}");
    this.assertBuilds(_doubleArrow, _builder.toString());
}
Also used : AbstractInterfaceBuilder(org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder) StringConcatenation(org.eclipse.xtend2.lib.StringConcatenation) Test(org.junit.Test) AbstractBuilderTest(org.eclipse.xtend.ide.tests.codebuilder.AbstractBuilderTest)

Aggregations

AbstractInterfaceBuilder (org.eclipse.xtend.ide.codebuilder.AbstractInterfaceBuilder)3 AbstractBuilderTest (org.eclipse.xtend.ide.tests.codebuilder.AbstractBuilderTest)2 StringConcatenation (org.eclipse.xtend2.lib.StringConcatenation)2 Test (org.junit.Test)2 EObject (org.eclipse.emf.ecore.EObject)1 XtendTypeDeclaration (org.eclipse.xtend.core.xtend.XtendTypeDeclaration)1 JvmDeclaredType (org.eclipse.xtext.common.types.JvmDeclaredType)1