|
From: <caw...@us...> - 2007-08-17 15:38:42
|
Revision: 2998
http://rubyeclipse.svn.sourceforge.net/rubyeclipse/?rev=2998&view=rev
Author: cawilliams
Date: 2007-08-17 08:38:37 -0700 (Fri, 17 Aug 2007)
Log Message:
-----------
move out common utility code and expose it
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/SourceElementParser.java
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/util/ASTUtil.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/SourceElementParser.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/SourceElementParser.java 2007-08-17 15:38:07 UTC (rev 2997)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/SourceElementParser.java 2007-08-17 15:38:37 UTC (rev 2998)
@@ -78,7 +78,6 @@
public class SourceElementParser extends InOrderVisitor {
private static final String MODULE_FUNCTION = "module_function";
- private static final String EMPTY_STRING = "";
private static final String PROTECTED = "protected";
private static final String PRIVATE = "private";
private static final String PUBLIC = "public";
@@ -88,7 +87,6 @@
private static final String ALIAS = "alias :";
private static final String MODULE = "Module";
private static final String CONSTRUCTOR_NAME = "initialize";
- private static final String NAMESPACE_DELIMETER = "::";
private static final String OBJECT = "Object";
private List<Visibility> visibilities = new ArrayList<Visibility>();
@@ -117,12 +115,12 @@
pushVisibility(Visibility.PUBLIC);
TypeInfo typeInfo = new TypeInfo();
- typeInfo.name = getFullyQualifiedName(iVisited.getCPath());
+ typeInfo.name = ASTUtil.getFullyQualifiedName(iVisited.getCPath());
typeInfo.declarationStart = iVisited.getPosition().getStartOffset();
typeInfo.nameSourceStart = iVisited.getCPath().getPosition().getStartOffset();
typeInfo.nameSourceEnd = iVisited.getCPath().getPosition().getEndOffset() - 1;
if (!typeInfo.name.equals(OBJECT)) {
- String superClass = getSuperClassName(iVisited.getSuperNode());
+ String superClass = ASTUtil.getSuperClassName(iVisited.getSuperNode());
typeInfo.superclass = superClass;
}
typeInfo.isModule = false;
@@ -147,7 +145,7 @@
public Instruction visitModuleNode(ModuleNode iVisited) {
pushVisibility(Visibility.PUBLIC);
TypeInfo typeInfo = new TypeInfo();
- typeInfo.name = getFullyQualifiedName(iVisited.getCPath());
+ typeInfo.name = ASTUtil.getFullyQualifiedName(iVisited.getCPath());
typeInfo.declarationStart = iVisited.getPosition().getStartOffset();
typeInfo.nameSourceStart = iVisited.getCPath().getPosition().getStartOffset();
typeInfo.nameSourceEnd = iVisited.getCPath().getPosition().getEndOffset() - 1;
@@ -245,37 +243,7 @@
private void popVisibility() {
visibilities.remove(visibilities.size() - 1);
}
-
- private String getFullyQualifiedName(Node node) {
- if (node == null)
- return EMPTY_STRING;
- if (node instanceof ConstNode) {
- ConstNode constNode = (ConstNode) node;
- return constNode.getName();
- }
- if (node instanceof Colon2Node) {
- Colon2Node colonNode = (Colon2Node) node;
- String prefix = getFullyQualifiedName(colonNode.getLeftNode());
- if (prefix.length() > 0)
- prefix = prefix + NAMESPACE_DELIMETER;
- return prefix + colonNode.getName();
- }
- return EMPTY_STRING;
- }
- /**
- * Build up the fully qualified name of the super class for a class
- * declaration
- *
- * @param superNode
- * @return
- */
- private String getSuperClassName(Node superNode) {
- if (superNode == null)
- return OBJECT;
- return getFullyQualifiedName(superNode);
- }
-
@Override
public Instruction visitConstDeclNode(ConstDeclNode iVisited) {
FieldInfo field = createFieldInfo(iVisited);
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/util/ASTUtil.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/util/ASTUtil.java 2007-08-17 15:38:07 UTC (rev 2997)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/util/ASTUtil.java 2007-08-17 15:38:37 UTC (rev 2998)
@@ -47,6 +47,10 @@
public abstract class ASTUtil {
private static final boolean VERBOSE = false;
+ private static final String NAMESPACE_DELIMETER = "::";
+ private static final String OBJECT = "Object";
+ private static final String EMPTY_STRING = "";
+
/**
* @param argsNode
* @param bodyNode
@@ -265,4 +269,34 @@
return arguments;
}
+ /**
+ * Build up the fully qualified name of the super class for a class
+ * declaration
+ *
+ * @param superNode
+ * @return
+ */
+ public static String getSuperClassName(Node superNode) {
+ if (superNode == null)
+ return OBJECT;
+ return getFullyQualifiedName(superNode);
+ }
+
+ public static String getFullyQualifiedName(Node node) {
+ if (node == null)
+ return EMPTY_STRING;
+ if (node instanceof ConstNode) {
+ ConstNode constNode = (ConstNode) node;
+ return constNode.getName();
+ }
+ if (node instanceof Colon2Node) {
+ Colon2Node colonNode = (Colon2Node) node;
+ String prefix = getFullyQualifiedName(colonNode.getLeftNode());
+ if (prefix.length() > 0)
+ prefix = prefix + NAMESPACE_DELIMETER;
+ return prefix + colonNode.getName();
+ }
+ return EMPTY_STRING;
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|