use of org.eclipse.xtend.ide.codebuilder.AbstractParameterBuilder in project xtext-xtend by eclipse.
the class MethodBuilderTest method testStaticXtendMethod.
@Test
public void testStaticXtendMethod() {
AbstractMethodBuilder _createMethodBuilder = this._codeBuilderFactory.createMethodBuilder(this.getXtendClass());
final Procedure1<AbstractMethodBuilder> _function = (AbstractMethodBuilder it) -> {
it.setContext(this.getXtendClass());
it.setMethodName("foo");
it.setReturnType(this.createTypeRef(this.getXtendClass()));
it.setVisibility(JvmVisibility.PROTECTED);
it.setStaticFlag(true);
AbstractParameterBuilder _newParameterBuilder = it.newParameterBuilder();
_newParameterBuilder.setType(this.createTypeRef(this.getXtendClass()));
};
AbstractMethodBuilder _doubleArrow = ObjectExtensions.<AbstractMethodBuilder>operator_doubleArrow(_createMethodBuilder, _function);
StringConcatenation _builder = new StringConcatenation();
_builder.append("def protected static foo(Foo foo) {");
_builder.newLine();
_builder.append(" ");
_builder.append(AbstractBuilderTest.DEFAULT_BODY, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
this.assertBuilds(_doubleArrow, _builder.toString());
}
use of org.eclipse.xtend.ide.codebuilder.AbstractParameterBuilder in project xtext-xtend by eclipse.
the class MethodBuilderTest method testXtendNamedParameter.
@Test
public void testXtendNamedParameter() {
AbstractMethodBuilder _createMethodBuilder = this._codeBuilderFactory.createMethodBuilder(this.getXtendClass());
final Procedure1<AbstractMethodBuilder> _function = (AbstractMethodBuilder it) -> {
it.setContext(this.getXtendClass());
it.setMethodName("foo");
AbstractParameterBuilder _newParameterBuilder = it.newParameterBuilder();
final Procedure1<AbstractParameterBuilder> _function_1 = (AbstractParameterBuilder it_1) -> {
it_1.setName("bar");
it_1.setType(this.createTypeRef(this.getXtendClass()));
};
ObjectExtensions.<AbstractParameterBuilder>operator_doubleArrow(_newParameterBuilder, _function_1);
AbstractParameterBuilder _newParameterBuilder_1 = it.newParameterBuilder();
final Procedure1<AbstractParameterBuilder> _function_2 = (AbstractParameterBuilder it_1) -> {
it_1.setName("baz");
it_1.setType(this.createTypeRef(this.getXtendClass()));
};
ObjectExtensions.<AbstractParameterBuilder>operator_doubleArrow(_newParameterBuilder_1, _function_2);
};
AbstractMethodBuilder _doubleArrow = ObjectExtensions.<AbstractMethodBuilder>operator_doubleArrow(_createMethodBuilder, _function);
StringConcatenation _builder = new StringConcatenation();
_builder.append("def foo(Foo bar, Foo baz) {");
_builder.newLine();
_builder.append(" ");
_builder.append(AbstractBuilderTest.DEFAULT_BODY, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
this.assertBuilds(_doubleArrow, _builder.toString());
}
use of org.eclipse.xtend.ide.codebuilder.AbstractParameterBuilder in project xtext-xtend by eclipse.
the class MethodBuilderTest method testXtendMethod.
@Test
public void testXtendMethod() {
AbstractMethodBuilder _createMethodBuilder = this._codeBuilderFactory.createMethodBuilder(this.getXtendClass());
final Procedure1<AbstractMethodBuilder> _function = (AbstractMethodBuilder it) -> {
it.setContext(this.getXtendClass());
it.setMethodName("foo");
it.setReturnType(this.createTypeRef(this.getXtendClass()));
it.setVisibility(JvmVisibility.PUBLIC);
AbstractParameterBuilder _newParameterBuilder = it.newParameterBuilder();
_newParameterBuilder.setType(this.createTypeRef(this.getXtendClass()));
AbstractParameterBuilder _newParameterBuilder_1 = it.newParameterBuilder();
_newParameterBuilder_1.setType(this.createTypeRef(this.getXtendClass()));
};
AbstractMethodBuilder _doubleArrow = ObjectExtensions.<AbstractMethodBuilder>operator_doubleArrow(_createMethodBuilder, _function);
StringConcatenation _builder = new StringConcatenation();
_builder.append("def foo(Foo foo, Foo foo2) {");
_builder.newLine();
_builder.append(" ");
_builder.append(AbstractBuilderTest.DEFAULT_BODY, " ");
_builder.newLineIfNotEmpty();
_builder.append("}");
this.assertBuilds(_doubleArrow, _builder.toString());
}
use of org.eclipse.xtend.ide.codebuilder.AbstractParameterBuilder in project xtext-xtend by eclipse.
the class MethodBuilderTest method testStaticJavaMethod.
@Test
public void testStaticJavaMethod() {
AbstractMethodBuilder _createMethodBuilder = this._codeBuilderFactory.createMethodBuilder(this.getJavaClass());
final Procedure1<AbstractMethodBuilder> _function = (AbstractMethodBuilder it) -> {
it.setContext(this.getJavaClass());
it.setMethodName("bar");
it.setReturnType(this.createTypeRef(this.getJavaClass()));
it.setVisibility(JvmVisibility.PRIVATE);
it.setStaticFlag(true);
AbstractParameterBuilder _newParameterBuilder = it.newParameterBuilder();
_newParameterBuilder.setType(this.createTypeRef(this.getJavaClass()));
};
AbstractMethodBuilder _doubleArrow = ObjectExtensions.<AbstractMethodBuilder>operator_doubleArrow(_createMethodBuilder, _function);
StringConcatenation _builder = new StringConcatenation();
_builder.append("private static Bar bar(Bar bar) {");
_builder.newLine();
_builder.append(" ");
_builder.append(AbstractBuilderTest.DEFAULT_BODY, " ");
_builder.append(";");
_builder.newLineIfNotEmpty();
_builder.append("}");
this.assertBuilds(_doubleArrow, _builder.toString());
}
use of org.eclipse.xtend.ide.codebuilder.AbstractParameterBuilder in project xtext-xtend by eclipse.
the class AbstractExecutableBuilder method appendParameters.
protected ISourceAppender appendParameters(final ISourceAppender appendable) {
ISourceAppender _xblockexpression = null;
{
appendable.append("(");
final HashSet<String> notAllowed = CollectionLiterals.<String>newHashSet();
boolean _isEmpty = this.parameterBuilders.isEmpty();
boolean _not = (!_isEmpty);
if (_not) {
AbstractParameterBuilder _last = IterableExtensions.<AbstractParameterBuilder>last(this.parameterBuilders);
_last.setVarArgsFlag(this.varArgsFlag);
}
int _size = this.parameterBuilders.size();
ExclusiveRange _doubleDotLessThan = new ExclusiveRange(0, _size, true);
for (final Integer i : _doubleDotLessThan) {
{
final AbstractParameterBuilder parameterBuilder = this.parameterBuilders.get((i).intValue());
final VariableNameAcceptor acceptor = new VariableNameAcceptor(notAllowed);
String _name = parameterBuilder.getName();
boolean _tripleEquals = (_name == null);
if (_tripleEquals) {
this._jdtVariableCompletions.getVariableProposals(parameterBuilder.getType().getIdentifier(), this.getContext(), JdtVariableCompletions.VariableType.PARAMETER, notAllowed, acceptor);
parameterBuilder.setName(acceptor.getVariableName());
}
parameterBuilder.build(appendable);
int _size_1 = this.parameterBuilders.size();
int _minus = (_size_1 - 1);
boolean _notEquals = ((i).intValue() != _minus);
if (_notEquals) {
appendable.append(", ");
}
}
}
_xblockexpression = appendable.append(")");
}
return _xblockexpression;
}
Aggregations