Revision: 1559 Author: jasonpmorrison Date: 2006-08-09 06:23:44 -0700 (Wed, 09 Aug 2006) ViewCVS: http://svn.sourceforge.net/rubyeclipse/?rev=1559&view=rev Log Message: ----------- Working on completion for elements available in scope (args/locals/instvars/classvars/globals) Modified Paths: -------------- branches/type_inferrence/trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java Modified: branches/type_inferrence/trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java =================================================================== --- branches/type_inferrence/trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java 2006-08-09 02:40:35 UTC (rev 1558) +++ branches/type_inferrence/trunk/org.rubypeople.rdt.ui/src/org/rubypeople/rdt/internal/ui/text/ruby/RubyCompletionProcessor.java 2006-08-09 13:23:44 UTC (rev 1559) @@ -30,17 +30,20 @@ import org.eclipse.ui.IEditorPart; import org.jruby.ast.ArgsNode; import org.jruby.ast.ArgumentNode; +import org.jruby.ast.CallNode; import org.jruby.ast.ClassNode; import org.jruby.ast.ClassVarAsgnNode; import org.jruby.ast.ClassVarDeclNode; import org.jruby.ast.ClassVarNode; import org.jruby.ast.DefnNode; import org.jruby.ast.DefsNode; +import org.jruby.ast.FCallNode; import org.jruby.ast.InstAsgnNode; import org.jruby.ast.InstVarNode; import org.jruby.ast.ModuleNode; import org.jruby.ast.Node; import org.jruby.ast.ScopeNode; +import org.jruby.ast.VCallNode; import org.jruby.lexer.yacc.SyntaxException; import org.rubypeople.rdt.core.CompletionRequestor; import org.rubypeople.rdt.core.IParent; @@ -50,6 +53,7 @@ import org.rubypeople.rdt.core.RubyModelException; import org.rubypeople.rdt.internal.core.parser.RubyParser; import org.rubypeople.rdt.internal.corext.template.ruby.RubyContextType; +import org.rubypeople.rdt.internal.ti.util.AttributeLocator; import org.rubypeople.rdt.internal.ti.util.FirstPrecursorNodeLocator; import org.rubypeople.rdt.internal.ti.util.INodeAcceptor; import org.rubypeople.rdt.internal.ti.util.ScopedNodeLocator; @@ -534,6 +538,11 @@ elements.addAll( instanceAndClassVarNames ); } + // Get instance and class vars defined by [c]attr_* calls + List<String> attributes = AttributeLocator.Instance().findInstanceAttributesInScope(enclosingTypeNode); + elements.addAll( attributes ); + + // Add all the globals: like magic compared to the others, hey? elements.addAll( getElementsOfType( script, new int[] { IRubyElement.GLOBAL })); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |