|
From: <cal...@us...> - 2007-02-26 12:19:51
|
Revision: 2036
http://svn.sourceforge.net/rubyeclipse/?rev=2036&view=rev
Author: callandor1983
Date: 2007-02-26 04:19:47 -0800 (Mon, 26 Feb 2007)
Log Message:
-----------
SelectionNodeProvider generated wrong positions -> fixed
Modified Paths:
--------------
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/SelectionNodeProvider.java
trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ExtractMethodPage.java
Added Paths:
-----------
trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.rb
trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.test_properties
trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.source.rb
trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.test_properties
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/SelectionNodeProvider.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/SelectionNodeProvider.java 2007-02-26 07:36:22 UTC (rev 2035)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/core/SelectionNodeProvider.java 2007-02-26 12:19:47 UTC (rev 2036)
@@ -96,11 +96,8 @@
Collection<Node> selectedNodes = getNodesFromTo(beginBlockChildNode, endBlockChildNode, blockChildren);
if(isNodeContainedInNode(selectedNodes.toArray(new Node[selectedNodes.size()])[0], enclosingNode)) {
- BlockNode blockAroundSelected = new BlockNode(NodeFactory.unionPositions(beginNode.getPosition(), endNode.getPosition()));
- for(Node node : selectedNodes) {
- blockAroundSelected.add(node);
- }
- blockAroundSelected.setPosition(NodeFactory.unionPositions(NodeProvider.unwrap(beginNode).getPosition(), NodeProvider.unwrap(endNode).getPosition()));
+ BlockNode blockAroundSelected = NodeFactory.createBlockNode(selectedNodes.toArray(new Node[0])); // new BlockNode(NodeFactory.unionPositions(NodeProvider.unwrap(beginNode).getPosition(), NodeProvider.unwrap(endNode).getPosition()));
+ blockAroundSelected.setPosition(NodeFactory.unionPositions(NodeProvider.unwrap(beginBlockChildNode).getPosition(), NodeProvider.unwrap(endBlockChildNode).getPosition()));
return blockAroundSelected;
} else if (beginNode.equals(endNode)) {
return beginNode;
@@ -108,7 +105,6 @@
return enclosingNode;
}
-
public static boolean isNodeContainedInNode(Node containedNode, Node containingNode) {
return (nodeContainsPosition(containingNode, containedNode.getPosition().getStartOffset())
&& nodeContainsPosition(containingNode, containedNode.getPosition().getEndOffset()));
Modified: trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ExtractMethodPage.java
===================================================================
--- trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ExtractMethodPage.java 2007-02-26 07:36:22 UTC (rev 2035)
+++ trunk/org.rubypeople.rdt.refactoring/src/org/rubypeople/rdt/refactoring/ui/pages/ExtractMethodPage.java 2007-02-26 12:19:47 UTC (rev 2036)
@@ -118,12 +118,13 @@
private void setupSelectionPreview() {
extractComposite.getCodeViewer().setPreviewText(selectionInformation.getSource());
- int start = extractedMethod.getSelectedNodes().getPosition().getStartOffset();
- int length = extractedMethod.getSelectedNodes().getPosition().getEndOffset() - start;
- extractComposite.getCodeViewer().setBackgroundColor(start, length, SWT.COLOR_GRAY);
+ int nodeStart = extractedMethod.getSelectedNodes().getPosition().getStartOffset();
+ int nodeLength = extractedMethod.getSelectedNodes().getPosition().getEndOffset() - nodeStart;
+ extractComposite.getCodeViewer().setBackgroundColor(nodeStart, nodeLength, SWT.COLOR_GRAY);
- extractComposite.getCodeViewer().setBackgroundColor(selectionInformation.getStartOfSelection(),
- selectionInformation.getEndOfSelection() - selectionInformation.getStartOfSelection(), SWT.COLOR_DARK_GRAY);
+ int selectionStart = selectionInformation.getStartOfSelection();
+ int selectionLength = selectionInformation.getEndOfSelection() - selectionStart + 1;
+ extractComposite.getCodeViewer().setBackgroundColor(selectionStart, selectionLength, SWT.COLOR_DARK_GRAY);
scrollToSelection();
}
Added: trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.rb
===================================================================
--- trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.rb (rev 0)
+++ trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.rb 2007-02-26 12:19:47 UTC (rev 2036)
@@ -0,0 +1,6 @@
+class Test
+ def test
+ a = 5
+ b = 5 * a + 300
+ end
+end
Added: trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.test_properties
===================================================================
--- trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.test_properties (rev 0)
+++ trunk/org.rubypeople.rdt.refactoring.tests/resources/core/enclosing_nodes_test_8.test_properties 2007-02-26 12:19:47 UTC (rev 2036)
@@ -0,0 +1,3 @@
+begin=30
+end=43
+expected=BlockNode, NewlineNode, LocalAsgnNode, FixnumNode, NewlineNode, LocalAsgnNode, CallNode, CallNode, FixnumNode, ArrayNode, LocalVarNode, ArrayNode, FixnumNode
Added: trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.source.rb
===================================================================
--- trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.source.rb (rev 0)
+++ trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.source.rb 2007-02-26 12:19:47 UTC (rev 2036)
@@ -0,0 +1,5 @@
+class ClassVarRenaming
+ def test
+ @@var
+ end
+end
Added: trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.test_properties
===================================================================
--- trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.test_properties (rev 0)
+++ trunk/org.rubypeople.rdt.refactoring.tests/resources/core/rename/rename_test_12.test_properties 2007-02-26 12:19:47 UTC (rev 2036)
@@ -0,0 +1,4 @@
+cursorPosition=40
+#possible values: none, renameClass, renameMethod, renameField, renameLocal
+delegateRenameRefactoring=renameField
+
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|