Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 247141 Details for
Bug 271526
[extract constant] blocked for anonymous and lambdas that declare variables
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
New patch to review
271526-3.patch (text/plain), 9.13 KB, created by
Jerome Cambon
on 2014-09-17 04:08:23 EDT
(
hide
)
Description:
New patch to review
Filename:
MIME Type:
Creator:
Jerome Cambon
Created:
2014-09-17 04:08:23 EDT
Size:
9.13 KB
patch
obsolete
>diff --git a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest18.java b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest18.java >index 6e0f547..5b9aefd 100644 >--- a/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest18.java >+++ b/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest18.java >@@ -1046,7 +1046,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 3); >+ assertNumberOfProposals(proposals, 4); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1193,7 +1193,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1242,7 +1242,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1338,7 +1338,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 3); >+ assertNumberOfProposals(proposals, 4); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1415,7 +1415,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 3); >+ assertNumberOfProposals(proposals, 4); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1476,7 +1476,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1514,7 +1514,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1554,7 +1554,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1595,7 +1595,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1635,7 +1635,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1676,7 +1676,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1718,7 +1718,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1759,7 +1759,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > assertNoErrors(context); > List proposals= collectAssists(context, false); > >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > buf= new StringBuffer(); >@@ -1808,7 +1808,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > buf.append("interface FI2 {\n"); > buf.append(" void foo(int x);\n"); > buf.append("}\n"); >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > String expected1= buf.toString(); >@@ -1846,7 +1846,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > buf.append("interface FI2 {\n"); > buf.append(" void foo(int x);\n"); > buf.append("}\n"); >- assertNumberOfProposals(proposals, 2); >+ assertNumberOfProposals(proposals, 3); > assertCorrectLabels(proposals); > > String expected1= buf.toString(); >@@ -1872,7 +1872,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > AssistContext context= getCorrectionContext(cu, offset, 0); > assertNoErrors(context); > List proposals= collectAssists(context, false); >- assertNumberOfProposals(proposals, 1); >+ assertNumberOfProposals(proposals, 2); > assertCorrectLabels(proposals); > assertProposalDoesNotExist(proposals, CorrectionMessages.QuickAssistProcessor_change_lambda_body_to_expression); > } >@@ -1897,7 +1897,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > AssistContext context= getCorrectionContext(cu, offset, 0); > assertNoErrors(context); > List proposals= collectAssists(context, false); >- assertNumberOfProposals(proposals, 1); >+ assertNumberOfProposals(proposals, 2); > assertCorrectLabels(proposals); > assertProposalDoesNotExist(proposals, CorrectionMessages.QuickAssistProcessor_change_lambda_body_to_expression); > } >@@ -1922,7 +1922,7 @@ public class AssistQuickFixTest18 extends QuickFixTest { > AssistContext context= getCorrectionContext(cu, offset, 0); > assertNoErrors(context); > List proposals= collectAssists(context, false); >- assertNumberOfProposals(proposals, 1); >+ assertNumberOfProposals(proposals, 2); > assertCorrectLabels(proposals); > assertProposalDoesNotExist(proposals, CorrectionMessages.QuickAssistProcessor_change_lambda_body_to_expression); > } >diff --git a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ConstantChecks.java b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ConstantChecks.java >index 95fff9a..bee10c5 100644 >--- a/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ConstantChecks.java >+++ b/org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/code/ConstantChecks.java >@@ -7,17 +7,20 @@ > * > * Contributors: > * IBM Corporation - initial API and implementation >+ * Jerome Cambon <jerome.cambon@oracle.com> - [extract constant] blocked for anonymous and lambdas that declare variables - https://bugs.eclipse.org/271526 > *******************************************************************************/ > package org.eclipse.jdt.internal.corext.refactoring.code; > > import org.eclipse.core.runtime.Assert; > > import org.eclipse.jdt.core.dom.ASTVisitor; >+import org.eclipse.jdt.core.dom.AnonymousClassDeclaration; > import org.eclipse.jdt.core.dom.FieldAccess; > import org.eclipse.jdt.core.dom.IBinding; > import org.eclipse.jdt.core.dom.IMethodBinding; > import org.eclipse.jdt.core.dom.ITypeBinding; > import org.eclipse.jdt.core.dom.IVariableBinding; >+import org.eclipse.jdt.core.dom.LambdaExpression; > import org.eclipse.jdt.core.dom.MethodInvocation; > import org.eclipse.jdt.core.dom.Modifier; > import org.eclipse.jdt.core.dom.Name; >@@ -35,7 +38,6 @@ class ConstantChecks { > > private final IExpressionFragment fExpression; > protected boolean fResult= true; >- > public ExpressionChecker(IExpressionFragment ex) { > fExpression= ex; > } >@@ -73,7 +75,7 @@ class ConstantChecks { > } > @Override > public boolean visit(MethodInvocation node) { >- if(node.getExpression() == null) { >+ if (node.getExpression() == null) { > visitName(node.getName()); > } else { > fResult&= new LoadTimeConstantChecker((IExpressionFragment) ASTFragmentFactory.createFragmentForFullSubtree(node.getExpression())).check(); >@@ -90,6 +92,16 @@ class ConstantChecks { > return visitName(node); > } > >+ @Override >+ public boolean visit(AnonymousClassDeclaration node) { >+ return false; >+ } >+ >+ @Override >+ public boolean visit(LambdaExpression node) { >+ return false; >+ } >+ > private boolean visitName(Name name) { > fResult&= checkName(name); > return false; //Do not descend further >@@ -106,7 +118,7 @@ class ConstantChecks { > if (binding instanceof IVariableBinding || binding instanceof IMethodBinding) > return isMemberReferenceValidInClassInitialization(name); > else if (binding instanceof ITypeBinding) >- return ! ((ITypeBinding) binding).isTypeVariable(); >+ return !((ITypeBinding) binding).isTypeVariable(); > else { > return true; // e.g. a NameQualifiedType's qualifier, which can be a package binding > }
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
jerome.cambon
:
review?
Actions:
View
|
Diff
Attachments on
bug 271526
:
243481
|
243615
| 247141