|
From: <caw...@us...> - 2006-12-11 18:00:20
|
Revision: 1686
http://svn.sourceforge.net/rubyeclipse/?rev=1686&view=rev
Author: cawilliams
Date: 2006-12-11 10:00:14 -0800 (Mon, 11 Dec 2006)
Log Message:
-----------
handle case where args to include are in a SplatNode. Include string representations of NilNode, FalseNode, TrueNode - these shwo up in method signatures on the outline view...
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScriptStructureBuilder.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScriptStructureBuilder.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScriptStructureBuilder.java 2006-12-09 09:51:50 UTC (rev 1685)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/RubyScriptStructureBuilder.java 2006-12-11 18:00:14 UTC (rev 1686)
@@ -830,6 +830,12 @@
return "{}";
if (node instanceof SelfNode)
return "self";
+ if (node instanceof NilNode)
+ return "nil";
+ if (node instanceof TrueNode)
+ return "true";
+ if (node instanceof FalseNode)
+ return "false";
if (node instanceof ConstNode)
return ((ConstNode)node).getName();
if (node instanceof ZArrayNode)
@@ -1008,9 +1014,18 @@
// Collect included mixins
if ( functionName.equals("include") ) {
- List<String> mixins = new LinkedList<String>();;
- ArrayNode arrayNode = (ArrayNode) iVisited.getArgsNode();
- for (Iterator iter = arrayNode.iterator(); iter.hasNext();) {
+ List<String> mixins = new LinkedList<String>();
+ Node argsNode = iVisited.getArgsNode();
+ Iterator iter = null;
+ if (argsNode instanceof SplatNode) {
+ SplatNode splat = (SplatNode) argsNode;
+ iter = splat.childNodes().iterator();
+ }
+ else if (argsNode instanceof ArrayNode) {
+ ArrayNode arrayNode = (ArrayNode) iVisited.getArgsNode();
+ iter = arrayNode.iterator();
+ }
+ for (; iter.hasNext();) {
Node mixinNameNode = (Node) iter.next();
if ( mixinNameNode instanceof StrNode ) {
mixins.add( ((StrNode)mixinNameNode).getValue() );
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|