use of org.eclipse.xtext.xbase.lib.Procedures.Procedure1 in project xtext-xtend by eclipse.
the class AnnotationReferenceProviderImpl method newAnnotationReference.
@Override
public AnnotationReference newAnnotationReference(final Type annotationTypeDelcaration, final Procedure1<AnnotationReferenceBuildContext> initializer) {
Object _xblockexpression = null;
{
this.compilationUnit.checkCanceled();
StringConcatenation _builder = new StringConcatenation();
_builder.append("annotationTypeDelcaration cannot be null");
Preconditions.checkArgument((annotationTypeDelcaration != null), _builder);
StringConcatenation _builder_1 = new StringConcatenation();
_builder_1.append("initializer cannot be null");
Preconditions.checkArgument((initializer != null), _builder_1);
JvmDeclaredType _switchResult = null;
boolean _matched = false;
if (annotationTypeDelcaration instanceof JvmAnnotationTypeDeclarationImpl) {
_matched = true;
_switchResult = ((JvmAnnotationTypeDeclarationImpl) annotationTypeDelcaration).getDelegate();
}
if (!_matched) {
if (annotationTypeDelcaration instanceof XtendAnnotationTypeDeclarationImpl) {
_matched = true;
_switchResult = this.compilationUnit.getJvmModelAssociations().getInferredType(((XtendAnnotationTypeDeclarationImpl) annotationTypeDelcaration).getDelegate());
}
}
if (!_matched) {
throw new IllegalArgumentException(("couldn\'t construct type reference for type " + annotationTypeDelcaration));
}
final JvmDeclaredType type = _switchResult;
if ((type instanceof JvmAnnotationType)) {
final JvmAnnotationReference newJvmAnnotationReference = this.createJvmAnnotationReference(type);
AnnotationReferenceBuildContextImpl _annotationReferenceBuildContextImpl = new AnnotationReferenceBuildContextImpl();
final Procedure1<AnnotationReferenceBuildContextImpl> _function = (AnnotationReferenceBuildContextImpl it) -> {
it.setDelegate(newJvmAnnotationReference);
it.setCompilationUnit(this.compilationUnit);
};
final AnnotationReferenceBuildContextImpl buildContext = ObjectExtensions.<AnnotationReferenceBuildContextImpl>operator_doubleArrow(_annotationReferenceBuildContextImpl, _function);
initializer.apply(buildContext);
return this.compilationUnit.toAnnotationReference(newJvmAnnotationReference);
}
_xblockexpression = null;
}
return ((AnnotationReference) _xblockexpression);
}
use of org.eclipse.xtext.xbase.lib.Procedures.Procedure1 in project xtext-xtend by eclipse.
the class CompilationUnitImpl method toTypeDeclaration.
public TypeDeclaration toTypeDeclaration(final JvmDeclaredType delegate) {
final Function1<JvmDeclaredType, TypeDeclaration> _function = (JvmDeclaredType it) -> {
JvmTypeDeclarationImpl<? extends JvmDeclaredType> _switchResult = null;
boolean _matched = false;
if (delegate instanceof JvmGenericType) {
boolean _isInterface = ((JvmGenericType) delegate).isInterface();
if (_isInterface) {
_matched = true;
JvmInterfaceDeclarationImpl _xifexpression = null;
boolean _isBelongedToCompilationUnit = this.isBelongedToCompilationUnit(delegate);
if (_isBelongedToCompilationUnit) {
MutableJvmInterfaceDeclarationImpl _mutableJvmInterfaceDeclarationImpl = new MutableJvmInterfaceDeclarationImpl();
final Procedure1<MutableJvmInterfaceDeclarationImpl> _function_1 = (MutableJvmInterfaceDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmGenericType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<MutableJvmInterfaceDeclarationImpl>operator_doubleArrow(_mutableJvmInterfaceDeclarationImpl, _function_1);
} else {
JvmInterfaceDeclarationImpl _jvmInterfaceDeclarationImpl = new JvmInterfaceDeclarationImpl();
final Procedure1<JvmInterfaceDeclarationImpl> _function_2 = (JvmInterfaceDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmGenericType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<JvmInterfaceDeclarationImpl>operator_doubleArrow(_jvmInterfaceDeclarationImpl, _function_2);
}
_switchResult = _xifexpression;
}
}
if (!_matched) {
if (delegate instanceof JvmGenericType) {
_matched = true;
JvmClassDeclarationImpl _xifexpression = null;
boolean _isBelongedToCompilationUnit = this.isBelongedToCompilationUnit(delegate);
if (_isBelongedToCompilationUnit) {
MutableJvmClassDeclarationImpl _mutableJvmClassDeclarationImpl = new MutableJvmClassDeclarationImpl();
final Procedure1<MutableJvmClassDeclarationImpl> _function_1 = (MutableJvmClassDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmGenericType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<MutableJvmClassDeclarationImpl>operator_doubleArrow(_mutableJvmClassDeclarationImpl, _function_1);
} else {
JvmClassDeclarationImpl _jvmClassDeclarationImpl = new JvmClassDeclarationImpl();
final Procedure1<JvmClassDeclarationImpl> _function_2 = (JvmClassDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmGenericType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<JvmClassDeclarationImpl>operator_doubleArrow(_jvmClassDeclarationImpl, _function_2);
}
_switchResult = _xifexpression;
}
}
if (!_matched) {
if (delegate instanceof JvmAnnotationType) {
_matched = true;
JvmAnnotationTypeDeclarationImpl _xifexpression = null;
boolean _isBelongedToCompilationUnit = this.isBelongedToCompilationUnit(delegate);
if (_isBelongedToCompilationUnit) {
MutableJvmAnnotationTypeDeclarationImpl _mutableJvmAnnotationTypeDeclarationImpl = new MutableJvmAnnotationTypeDeclarationImpl();
final Procedure1<MutableJvmAnnotationTypeDeclarationImpl> _function_1 = (MutableJvmAnnotationTypeDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmAnnotationType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<MutableJvmAnnotationTypeDeclarationImpl>operator_doubleArrow(_mutableJvmAnnotationTypeDeclarationImpl, _function_1);
} else {
JvmAnnotationTypeDeclarationImpl _jvmAnnotationTypeDeclarationImpl = new JvmAnnotationTypeDeclarationImpl();
final Procedure1<JvmAnnotationTypeDeclarationImpl> _function_2 = (JvmAnnotationTypeDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmAnnotationType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<JvmAnnotationTypeDeclarationImpl>operator_doubleArrow(_jvmAnnotationTypeDeclarationImpl, _function_2);
}
_switchResult = _xifexpression;
}
}
if (!_matched) {
if (delegate instanceof JvmEnumerationType) {
_matched = true;
JvmEnumerationTypeDeclarationImpl _xifexpression = null;
boolean _isBelongedToCompilationUnit = this.isBelongedToCompilationUnit(delegate);
if (_isBelongedToCompilationUnit) {
MutableJvmEnumerationTypeDeclarationImpl _mutableJvmEnumerationTypeDeclarationImpl = new MutableJvmEnumerationTypeDeclarationImpl();
final Procedure1<MutableJvmEnumerationTypeDeclarationImpl> _function_1 = (MutableJvmEnumerationTypeDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmEnumerationType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<MutableJvmEnumerationTypeDeclarationImpl>operator_doubleArrow(_mutableJvmEnumerationTypeDeclarationImpl, _function_1);
} else {
JvmEnumerationTypeDeclarationImpl _jvmEnumerationTypeDeclarationImpl = new JvmEnumerationTypeDeclarationImpl();
final Procedure1<JvmEnumerationTypeDeclarationImpl> _function_2 = (JvmEnumerationTypeDeclarationImpl it_1) -> {
it_1.setDelegate(((JvmEnumerationType) delegate));
it_1.setCompilationUnit(this);
};
_xifexpression = ObjectExtensions.<JvmEnumerationTypeDeclarationImpl>operator_doubleArrow(_jvmEnumerationTypeDeclarationImpl, _function_2);
}
_switchResult = _xifexpression;
}
}
return ((TypeDeclaration) _switchResult);
};
return this.<JvmDeclaredType, TypeDeclaration>getOrCreate(delegate, _function);
}
use of org.eclipse.xtext.xbase.lib.Procedures.Procedure1 in project xtext-xtend by eclipse.
the class CompilationUnitImpl method toResolvedConstructor.
public ResolvedConstructor toResolvedConstructor(final IResolvedConstructor delegate) {
final Function1<IResolvedConstructor, ResolvedConstructorImpl> _function = (IResolvedConstructor it) -> {
ResolvedConstructorImpl _resolvedConstructorImpl = new ResolvedConstructorImpl();
final Procedure1<ResolvedConstructorImpl> _function_1 = (ResolvedConstructorImpl it_1) -> {
it_1.setDelegate(delegate);
it_1.setCompilationUnit(this);
};
return ObjectExtensions.<ResolvedConstructorImpl>operator_doubleArrow(_resolvedConstructorImpl, _function_1);
};
return this.<IResolvedConstructor, ResolvedConstructorImpl>getOrCreate(delegate, _function);
}
use of org.eclipse.xtext.xbase.lib.Procedures.Procedure1 in project xtext-xtend by eclipse.
the class CompilationUnitImpl method getMessageWithStackTrace.
protected String getMessageWithStackTrace(final Throwable t) {
final Function1<Throwable, String> _function = (Throwable it) -> {
String _xblockexpression = null;
{
StringWriter _stringWriter = new StringWriter();
final Procedure1<StringWriter> _function_1 = (StringWriter it_1) -> {
PrintWriter _printWriter = new PrintWriter(it_1);
final Procedure1<PrintWriter> _function_2 = (PrintWriter it_2) -> {
it_2.println(this.getMessageWithoutStackTrace(t));
t.printStackTrace(it_2);
it_2.flush();
};
ObjectExtensions.<PrintWriter>operator_doubleArrow(_printWriter, _function_2);
};
final StringWriter writer = ObjectExtensions.<StringWriter>operator_doubleArrow(_stringWriter, _function_1);
_xblockexpression = writer.toString();
}
return _xblockexpression;
};
return this.getMessageWithReducedStackTrace(t, _function);
}
use of org.eclipse.xtext.xbase.lib.Procedures.Procedure1 in project xtext-xtend by eclipse.
the class CompilationUnitImpl method toTypeReference.
public TypeReference toTypeReference(final JvmTypeReference delegate) {
TypeReference _xblockexpression = null;
{
if ((delegate == null)) {
return null;
}
TypeReference _switchResult = null;
boolean _matched = false;
if (delegate instanceof XComputedTypeReferenceImplCustom) {
boolean _isEquivalentComputed = ((XComputedTypeReferenceImplCustom) delegate).isEquivalentComputed();
boolean _not = (!_isEquivalentComputed);
if (_not) {
_matched = true;
InferredTypeReferenceImpl _inferredTypeReferenceImpl = new InferredTypeReferenceImpl();
final Procedure1<InferredTypeReferenceImpl> _function = (InferredTypeReferenceImpl it) -> {
it.setDelegate(((XComputedTypeReferenceImplCustom) delegate));
it.setCompilationUnit(this);
};
_switchResult = ObjectExtensions.<InferredTypeReferenceImpl>operator_doubleArrow(_inferredTypeReferenceImpl, _function);
}
}
if (!_matched) {
_switchResult = this.toTypeReference(this.typeRefFactory.toLightweightReference(delegate), delegate);
}
_xblockexpression = _switchResult;
}
return _xblockexpression;
}
Aggregations