protected boolean canUseArrayInitializerImpl(XListLiteral literal, ITreeAppendable appendable) { for(XExpression element: literal.getElements()) { if (isVariableDeclarationRequired(element, appendable, true)) return false; } return true; }
return false; if (expr instanceof XMemberFeatureCall && isVariableDeclarationRequired((XMemberFeatureCall) expr, b)) return true; EObject container = expr.eContainer(); List<XExpression> siblings = ((XBlockExpression) container).getExpressions(); if (siblings.get(siblings.size() - 1) == expr) { return isVariableDeclarationRequired(getFeatureCall(expr), expr, b); XAssignment a = (XAssignment) expr; for (XExpression arg : getActualArguments(a)) { if (isVariableDeclarationRequired(arg, b, recursive)) { return true;
protected void _toJavaStatement(final XConstructorCall expr, ITreeAppendable b, final boolean isReferenced) { for (XExpression arg : expr.getArguments()) { prepareExpression(arg, b); } if (!isReferenced) { b.newLine(); constructorCallToJavaExpression(expr, b); b.append(";"); } else if (isVariableDeclarationRequired(expr, b, true)) { Later later = new Later() { @Override public void exec(ITreeAppendable appendable) { constructorCallToJavaExpression(expr, appendable); } }; declareFreshLocalVariable(expr, b, later); } }
@Override protected boolean isVariableDeclarationRequired(XExpression expr, ITreeAppendable b, boolean recursive) { boolean result = super.isVariableDeclarationRequired(expr, b, recursive); if (result && expr instanceof XConstructorCall) { EObject container = expr.eContainer(); if (container instanceof AnonymousClass) { AnonymousClass anonymousClass = (AnonymousClass) container; result = isVariableDeclarationRequired(anonymousClass, b, recursive); if (result) { JvmConstructor constructor = anonymousClass.getConstructorCall().getConstructor(); JvmDeclaredType type = constructor.getDeclaringType(); if (((JvmGenericType) type).isAnonymous()) { return false; } } } } return result; }