[Pydev-cvs] org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules CompiledMo
Brought to you by:
fabioz
From: Fabio Z. <fa...@us...> - 2006-03-18 20:07:50
|
Update of /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13592/src/org/python/pydev/editor/codecompletion/revisited/modules Modified Files: CompiledModule.java SourceModule.java Log Message: Index: SourceModule.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/SourceModule.java,v retrieving revision 1.39 retrieving revision 1.40 diff -C2 -d -r1.39 -r1.40 *** SourceModule.java 18 Mar 2006 19:11:50 -0000 1.39 --- SourceModule.java 18 Mar 2006 20:07:46 -0000 1.40 *************** *** 185,189 **** Assign assign = (Assign) d.ast; value = NodeUtils.getRepresentationString(assign.value); ! System.out.println(value); definitions = findDefinition(value, d.line, d.col, manager.getNature(), new ArrayList<FindInfo>()); }else if(d.ast instanceof ClassDef){ --- 185,189 ---- Assign assign = (Assign) d.ast; value = NodeUtils.getRepresentationString(assign.value); ! // System.out.println(value); definitions = findDefinition(value, d.line, d.col, manager.getNature(), new ArrayList<FindInfo>()); }else if(d.ast instanceof ClassDef){ *************** *** 200,203 **** --- 200,209 ---- d = visitor.definitions.get(0); value = d.value; + if(d instanceof AssignDefinition){ + ICompletionState copy = initialState.getCopy(); + copy.setActivationToken(value); + IToken[] completionsForModule = manager.getCompletionsForModule(this, copy); + return completionsForModule; + } }else if ((d.ast == null && d.module != null) || d.ast instanceof ImportFrom){ *************** *** 476,504 **** } for (IToken token : tokens) { ! if(token.getRepresentation().equals(rep) && token instanceof SourceToken){ ! //ok, we found it ! SimpleNode a = ((SourceToken)token).getAst(); ! ! //this is just to get its scope... ! FindScopeVisitor scopeVisitor = new FindScopeVisitor(a.beginLine, a.beginColumn); ! if (ast != null){ try { ! ast.accept(scopeVisitor); } catch (Exception e) { ! PydevPlugin.log(e); } } - Tuple<Integer, Integer> def = getLineColForDefinition(a); - - String parentPackage = token.getParentPackage(); - IModule module = this; - if(nature != null){ - IModule mod = nature.getAstManager().getModule(parentPackage, nature, true); - if(mod != null){ - module = mod; - } - } - //line, col - return new Definition(def.o1, def.o2, tok, a, scopeVisitor.scope, module); } } --- 482,542 ---- } for (IToken token : tokens) { ! boolean sameRep = token.getRepresentation().equals(rep); ! if(sameRep){ ! if(token instanceof SourceToken){ ! //ok, we found it ! SimpleNode a = ((SourceToken)token).getAst(); ! ! //this is just to get its scope... ! FindScopeVisitor scopeVisitor = new FindScopeVisitor(a.beginLine, a.beginColumn); ! if (ast != null){ ! try { ! ast.accept(scopeVisitor); ! } catch (Exception e) { ! PydevPlugin.log(e); ! } ! } ! Tuple<Integer, Integer> def = getLineColForDefinition(a); ! ! String parentPackage = token.getParentPackage(); ! IModule module = this; ! if(nature != null){ ! IModule mod = nature.getAstManager().getModule(parentPackage, nature, true); ! if(mod != null){ ! module = mod; ! } ! } ! //line, col ! return new Definition(def.o1, def.o2, tok, a, scopeVisitor.scope, module); ! }else{ ! CompiledToken comp = (CompiledToken) token; ! String parentPackage = comp.getParentPackage(); ! FullRepIterable iterable = new FullRepIterable(parentPackage, true); ! ! IModule module = null; ! for(String modName: iterable){ ! module = nature.getAstManager().getModule(modName, nature, true); ! if(module != null){ ! break; ! } ! } ! if(module == null){ ! return null; ! } ! int length = module.getName().length(); ! String finalRep = ""; ! if(parentPackage.length() > length){ ! finalRep = parentPackage.substring(length + 1)+'.'; ! } ! finalRep += comp.getRepresentation(); try { ! IDefinition[] definitions = module.findDefinition(finalRep, -1, -1, nature, new ArrayList<FindInfo>()); ! if(definitions.length == 1){ ! return (Definition) definitions[0]; ! } } catch (Exception e) { ! throw new RuntimeException(e); } } } } Index: CompiledModule.java =================================================================== RCS file: /cvsroot/pydev/org.python.pydev/src/org/python/pydev/editor/codecompletion/revisited/modules/CompiledModule.java,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** CompiledModule.java 25 Jan 2006 16:19:06 -0000 1.33 --- CompiledModule.java 18 Mar 2006 20:07:46 -0000 1.34 *************** *** 210,214 **** AbstractShell shell = AbstractShell.getServerShell(manager.getNature(), AbstractShell.COMPLETION_SHELL); synchronized(shell){ ! List<String[]> completions = shell.getImportCompletions(name+"."+state.getActivationToken(), manager.getModulesManager().getCompletePythonPath()).o2; ArrayList<IToken> array = new ArrayList<IToken>(); --- 210,215 ---- AbstractShell shell = AbstractShell.getServerShell(manager.getNature(), AbstractShell.COMPLETION_SHELL); synchronized(shell){ ! String act = name+"."+state.getActivationToken(); ! List<String[]> completions = shell.getImportCompletions(act, manager.getModulesManager().getCompletePythonPath()).o2; ArrayList<IToken> array = new ArrayList<IToken>(); *************** *** 217,221 **** String[] element = (String[]) iter.next(); if(element.length >= 4){//it might be a server error ! IToken t = new CompiledToken(element[0], element[1], element[2], name, Integer.parseInt(element[3])); array.add(t); } --- 218,222 ---- String[] element = (String[]) iter.next(); if(element.length >= 4){//it might be a server error ! IToken t = new CompiledToken(element[0], element[1], element[2], act, Integer.parseInt(element[3])); array.add(t); } |