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 183903 Details for
Bug 287123
[quick assist] Join variable declaration quick fix should be proposed for initialized variables
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
final fix
joindecl2.txt (text/plain), 5.21 KB, created by
Deepak Azad
on 2010-11-26 02:55:30 EST
(
hide
)
Description:
final fix
Filename:
MIME Type:
Creator:
Deepak Azad
Created:
2010-11-26 02:55:30 EST
Size:
5.21 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.jdt.ui >Index: ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java,v >retrieving revision 1.165 >diff -u -r1.165 QuickAssistProcessor.java >--- ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 25 Nov 2010 16:30:07 -0000 1.165 >+++ ui/org/eclipse/jdt/internal/ui/text/correction/QuickAssistProcessor.java 26 Nov 2010 07:51:54 -0000 >@@ -145,6 +145,7 @@ > import org.eclipse.jdt.internal.ui.text.correction.proposals.ASTRewriteCorrectionProposal; > import org.eclipse.jdt.internal.ui.text.correction.proposals.AssignToVariableAssistProposal; > import org.eclipse.jdt.internal.ui.text.correction.proposals.CUCorrectionProposal; >+import org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeCorrectionProposal; > import org.eclipse.jdt.internal.ui.text.correction.proposals.FixCorrectionProposal; > import org.eclipse.jdt.internal.ui.text.correction.proposals.LinkedCorrectionProposal; > import org.eclipse.jdt.internal.ui.text.correction.proposals.LinkedNamesAssistProposal; >@@ -223,8 +224,8 @@ > if (noErrorsAtLocation) { > getCatchClauseToThrowsProposals(context, coveringNode, resultingCollections); > getUnWrapProposals(context, coveringNode, resultingCollections); >- getSplitVariableProposals(context, coveringNode, resultingCollections); > getJoinVariableProposals(context, coveringNode, resultingCollections); >+ getSplitVariableProposals(context, coveringNode, resultingCollections); > getAddFinallyProposals(context, coveringNode, resultingCollections); > getAddElseProposals(context, coveringNode, resultingCollections); > getAddBlockProposals(context, coveringNode, resultingCollections); >@@ -475,7 +476,8 @@ > } > > IVariableBinding binding= fragment.resolveBinding(); >- if (fragment.getInitializer() != null || binding == null || binding.isField()) { >+ Expression initializer= fragment.getInitializer(); >+ if ((initializer != null && initializer.getNodeType() != ASTNode.NULL_LITERAL) || binding == null || binding.isField()) { > return false; > } > >@@ -585,7 +587,18 @@ > String label= CorrectionMessages.QuickAssistProcessor_splitdeclaration_description; > Image image= JavaPluginImages.get(JavaPluginImages.IMG_CORRECTION_LOCAL); > ASTRewriteCorrectionProposal proposal= new ASTRewriteCorrectionProposal(label, context.getCompilationUnit(), rewrite, 1, image); >- proposal.setCommandId(SPLIT_JOIN_VARIABLE_DECLARATION_ID); >+ boolean commandConflict= false; >+ for (Iterator iterator= resultingCollections.iterator(); iterator.hasNext();) { >+ Object completionProposal= iterator.next(); >+ if (completionProposal instanceof ChangeCorrectionProposal) { >+ if (SPLIT_JOIN_VARIABLE_DECLARATION_ID.equals(((ChangeCorrectionProposal)completionProposal).getCommandId())) { >+ commandConflict= true; >+ } >+ } >+ } >+ if (!commandConflict) { >+ proposal.setCommandId(SPLIT_JOIN_VARIABLE_DECLARATION_ID); >+ } > > Statement newStatement; > int insertIndex= list.indexOf(statement); >#P org.eclipse.jdt.ui.tests >Index: ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java >=================================================================== >RCS file: /cvsroot/eclipse/org.eclipse.jdt.ui.tests/ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java,v >retrieving revision 1.111 >diff -u -r1.111 AssistQuickFixTest.java >--- ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java 13 Jul 2010 17:32:47 -0000 1.111 >+++ ui/org/eclipse/jdt/ui/tests/quickfix/AssistQuickFixTest.java 26 Nov 2010 07:52:23 -0000 >@@ -2041,6 +2041,38 @@ > assertExpectedExistInProposals(proposals, new String[] {expected1}); > } > >+ public void testJoinDeclaration3() throws Exception { >+ IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null); >+ StringBuffer buf= new StringBuffer(); >+ buf.append("package test1;\n"); >+ buf.append("public class E {\n"); >+ buf.append(" public void foo() {\n"); >+ buf.append(" int var[] = null;\n"); >+ buf.append(" foo();\n"); >+ buf.append(" var = new int[10];\n"); >+ buf.append(" }\n"); >+ buf.append("}\n"); >+ ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null); >+ >+ String str= "var[]"; >+ AssistContext context= getCorrectionContext(cu, buf.toString().indexOf(str), 0); >+ List proposals= collectAssists(context, false); >+ >+ assertNumberOfProposals(proposals, 3); >+ assertCorrectLabels(proposals); >+ >+ buf= new StringBuffer(); >+ buf.append("package test1;\n"); >+ buf.append("public class E {\n"); >+ buf.append(" public void foo() {\n"); >+ buf.append(" int var[] = new int[10];\n"); >+ buf.append(" foo();\n"); >+ buf.append(" }\n"); >+ buf.append("}\n"); >+ >+ assertExpectedExistInProposals(proposals, new String[] { buf.toString() }); >+ } >+ > private static final Class[] FILTER_EQ= { LinkedNamesAssistProposal.class, RenameRefactoringProposal.class, AssignToVariableAssistProposal.class }; > > public void testInvertEquals() throws Exception {
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
Actions:
View
|
Diff
Attachments on
bug 287123
:
182924
|
182946
| 183903