PyFile:ImportStmt.py PsiComment(Py:END_OF_LINE_COMMENT)('# import A as B') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: B PsiElement(Py:IDENTIFIER)('B') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import A as D, A as DDD') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: D PsiElement(Py:IDENTIFIER)('D') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: DDD PsiElement(Py:IDENTIFIER)('DDD') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import A.B.C as D, A as DDD') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A.B.C PyReferenceExpression: C PyReferenceExpression: B PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiElement(Py:DOT)('.') PsiElement(Py:IDENTIFIER)('B') PsiElement(Py:DOT)('.') PsiElement(Py:IDENTIFIER)('C') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: D PsiElement(Py:IDENTIFIER)('D') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: DDD PsiElement(Py:IDENTIFIER)('DDD') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import as as as') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:as PyReferenceExpression: as PsiElement(Py:IDENTIFIER)('as') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: as PsiElement(Py:IDENTIFIER)('as') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import A') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import A, B, C') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:B PyReferenceExpression: B PsiElement(Py:IDENTIFIER)('B') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:C PyReferenceExpression: C PsiElement(Py:IDENTIFIER)('C') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# import A.B.C') PsiWhiteSpace('\n') PyImportStatement PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:A.B.C PyReferenceExpression: C PyReferenceExpression: B PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiElement(Py:DOT)('.') PsiElement(Py:IDENTIFIER)('B') PsiElement(Py:DOT)('.') PsiElement(Py:IDENTIFIER)('C') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# from A import B, C') PsiWhiteSpace('\n') PyFromImportStatement PsiElement(Py:FROM_KEYWORD)('from') PsiWhiteSpace(' ') PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:B PyReferenceExpression: B PsiElement(Py:IDENTIFIER)('B') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:C PyReferenceExpression: C PsiElement(Py:IDENTIFIER)('C') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# from A import B as C') PsiWhiteSpace('\n') PyFromImportStatement PsiElement(Py:FROM_KEYWORD)('from') PsiWhiteSpace(' ') PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:B PyReferenceExpression: B PsiElement(Py:IDENTIFIER)('B') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: C PsiElement(Py:IDENTIFIER)('C') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# from A import B as C, X as Y') PsiWhiteSpace('\n') PyFromImportStatement PsiElement(Py:FROM_KEYWORD)('from') PsiWhiteSpace(' ') PyReferenceExpression: A PsiElement(Py:IDENTIFIER)('A') PsiWhiteSpace(' ') PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:B PyReferenceExpression: B PsiElement(Py:IDENTIFIER)('B') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: C PsiElement(Py:IDENTIFIER)('C') PsiElement(Py:COMMA)(',') PsiWhiteSpace(' ') PyImportElement:X PyReferenceExpression: X PsiElement(Py:IDENTIFIER)('X') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: Y PsiElement(Py:IDENTIFIER)('Y') PsiWhiteSpace('\n') PsiComment(Py:END_OF_LINE_COMMENT)('# from foo import as as as') PsiWhiteSpace('\n') PyFromImportStatement PsiElement(Py:FROM_KEYWORD)('from') PsiWhiteSpace(' ') PyReferenceExpression: foo PsiElement(Py:IDENTIFIER)('foo') PsiWhiteSpace(' ') PsiElement(Py:IMPORT_KEYWORD)('import') PsiWhiteSpace(' ') PyImportElement:as PyReferenceExpression: as PsiElement(Py:IDENTIFIER)('as') PsiWhiteSpace(' ') PsiElement(Py:AS_KEYWORD)('as') PsiWhiteSpace(' ') PyTargetExpression: as PsiElement(Py:IDENTIFIER)('as')