|
From: <caw...@us...> - 2007-03-09 20:36:46
|
Revision: 2124
http://svn.sourceforge.net/rubyeclipse/?rev=2124&view=rev
Author: cawilliams
Date: 2007-03-09 12:36:36 -0800 (Fri, 09 Mar 2007)
Log Message:
-----------
handle completion in top level
Modified Paths:
--------------
trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java
Modified: trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java
===================================================================
--- trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java 2007-03-09 20:24:09 UTC (rev 2123)
+++ trunk/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/codeassist/CompletionEngine.java 2007-03-09 20:36:36 UTC (rev 2124)
@@ -107,7 +107,16 @@
private void suggestMethodsForEnclosingType(IRubyScript script) throws RubyModelException {
IMember element = (IMember) script.getElementAt(fContext.getOffset());
- IType type = element.getDeclaringType();
+ IType type = null;
+ if (element == null) {
+ // DWe're in the top level, so we're in "Object"
+ RubyElementRequestor requestor = new RubyElementRequestor(script);
+ IType[] types = requestor.findType("Object");
+ if (types != null && types.length > 0) type = types[0];
+ } else {
+ type = element.getDeclaringType();
+ }
+ if (type == null) return;
List<CompletionProposal> list = sort(suggestMethods(100, type));
for (CompletionProposal proposal : list) {
fRequestor.accept(proposal);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|