Search in sources :

Example 96 with IToken

use of org.python.pydev.core.IToken in project Pydev by fabioz.

the class ModuleTest method testMod3.

public void testMod3() {
    String doc = "" + "def method(a, b):\n" + "    pass\n" + "other = another = method\n" + "";
    ParseOutput obj = PyParser.reparseDocument(new PyParser.ParserInfo(new Document(doc), IPythonNature.GRAMMAR_PYTHON_VERSION_2_5, null));
    SimpleNode n = (SimpleNode) obj.ast;
    IModule module = AbstractModule.createModule(n, null);
    TokensList globalTokens = module.getGlobalTokens();
    assertEquals(6, globalTokens.size());
    compareReps(globalTokens, "__file__ __name__ __dict__ method other another");
    int found = 0;
    for (IterTokenEntry entry : globalTokens) {
        IToken t = entry.getToken();
        if (t.getRepresentation().equals("method") || t.getRepresentation().equals("other") || t.getRepresentation().equals("another")) {
            assertEquals("( a, b )", t.getArgs());
            found += 1;
        }
    }
    assertEquals(3, found);
}
Also used : IModule(org.python.pydev.core.IModule) ParseOutput(org.python.pydev.shared_core.parsing.BaseParser.ParseOutput) IToken(org.python.pydev.core.IToken) PyParser(org.python.pydev.parser.PyParser) IterTokenEntry(org.python.pydev.core.IterTokenEntry) Document(org.eclipse.jface.text.Document) TokensList(org.python.pydev.core.TokensList) SimpleNode(org.python.pydev.parser.jython.SimpleNode)

Example 97 with IToken

use of org.python.pydev.core.IToken in project Pydev by fabioz.

the class AbstractVisitorTest method testImportCreation1.

public void testImportCreation1() throws Exception {
    Iterator<ASTEntry> iterator = createModuleAndGetImports("import os.path", Import.class);
    SimpleNode simpleNode = iterator.next().node;
    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true, null);
    assertEquals(2, toks.size());
    SourceToken token = (SourceToken) toks.get(0);
    checkIt(simpleNode, token, "os", "os", "os");
    token = (SourceToken) toks.get(1);
    checkIt(simpleNode, token, "os.path", "os.path", "os.path");
}
Also used : IToken(org.python.pydev.core.IToken) ASTEntry(org.python.pydev.parser.visitors.scope.ASTEntry) SourceToken(org.python.pydev.ast.codecompletion.revisited.modules.SourceToken) SimpleNode(org.python.pydev.parser.jython.SimpleNode)

Example 98 with IToken

use of org.python.pydev.core.IToken in project Pydev by fabioz.

the class AbstractVisitorTest method testImportCreation3.

public void testImportCreation3() throws Exception {
    Iterator<ASTEntry> iterator = createModuleAndGetImports("from os import path as tt, notDefined as aa", ImportFrom.class);
    SimpleNode simpleNode = iterator.next().node;
    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true, null);
    assertEquals(2, toks.size());
    SourceToken token = (SourceToken) toks.get(0);
    checkIt(simpleNode, token, "tt", "os.path", "os.path");
    token = (SourceToken) toks.get(1);
    checkIt(simpleNode, token, "aa", "os.notDefined", "os.notDefined");
}
Also used : IToken(org.python.pydev.core.IToken) ASTEntry(org.python.pydev.parser.visitors.scope.ASTEntry) SourceToken(org.python.pydev.ast.codecompletion.revisited.modules.SourceToken) SimpleNode(org.python.pydev.parser.jython.SimpleNode)

Example 99 with IToken

use of org.python.pydev.core.IToken in project Pydev by fabioz.

the class AbstractVisitorTest method testImportCreation4.

public void testImportCreation4() throws Exception {
    Iterator<ASTEntry> iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
    SimpleNode simpleNode = iterator.next().node;
    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), MODULE_NAME, true, null);
    assertEquals(1, toks.size());
    SourceToken token = (SourceToken) toks.get(0);
    checkIt(simpleNode, token, "os.path", "os.path", "os.path");
}
Also used : IToken(org.python.pydev.core.IToken) ASTEntry(org.python.pydev.parser.visitors.scope.ASTEntry) SourceToken(org.python.pydev.ast.codecompletion.revisited.modules.SourceToken) SimpleNode(org.python.pydev.parser.jython.SimpleNode)

Example 100 with IToken

use of org.python.pydev.core.IToken in project Pydev by fabioz.

the class AbstractVisitorTest method testImportCreation5.

public void testImportCreation5() throws Exception {
    Iterator<ASTEntry> iterator = createModuleAndGetImports("from os.path import *", ImportFrom.class);
    MODULE_NAME = "some.dotted.name";
    SimpleNode simpleNode = iterator.next().node;
    List<IToken> toks = AbstractVisitor.makeImportToken(simpleNode, new ArrayList<IToken>(), "some.dotted.name", true, null);
    assertEquals(1, toks.size());
    SourceToken token = (SourceToken) toks.get(0);
    checkIt(simpleNode, token, "os.path", "some.dotted.os.path", "os.path");
}
Also used : IToken(org.python.pydev.core.IToken) ASTEntry(org.python.pydev.parser.visitors.scope.ASTEntry) SourceToken(org.python.pydev.ast.codecompletion.revisited.modules.SourceToken) SimpleNode(org.python.pydev.parser.jython.SimpleNode)

Aggregations

IToken (org.python.pydev.core.IToken)120 TokensList (org.python.pydev.core.TokensList)48 IterTokenEntry (org.python.pydev.core.IterTokenEntry)35 Document (org.eclipse.jface.text.Document)34 ArrayList (java.util.ArrayList)29 SourceToken (org.python.pydev.ast.codecompletion.revisited.modules.SourceToken)25 IModule (org.python.pydev.core.IModule)20 SimpleNode (org.python.pydev.parser.jython.SimpleNode)20 ICompletionState (org.python.pydev.core.ICompletionState)16 CompletionRecursionException (org.python.pydev.core.structure.CompletionRecursionException)15 HashSet (java.util.HashSet)11 MisconfigurationException (org.python.pydev.core.MisconfigurationException)11 ASTEntry (org.python.pydev.parser.visitors.scope.ASTEntry)11 List (java.util.List)10 Found (com.python.pydev.analysis.visitors.Found)9 ClassDef (org.python.pydev.parser.jython.ast.ClassDef)9 File (java.io.File)8 HashMap (java.util.HashMap)8 NameTok (org.python.pydev.parser.jython.ast.NameTok)8 org.python.pydev.parser.jython.ast.exprType (org.python.pydev.parser.jython.ast.exprType)8