| KtFile: Graph.kt | |
| PACKAGE_DIRECTIVE | |
| <empty list> | |
| IMPORT_LIST | |
| <empty list> | |
| CLASS | |
| PsiElement(class)('class') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_PARAMETER_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PARAMETER | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PRIMARY_CONSTRUCTOR | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('data') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n\n') | |
| CLASS | |
| PsiElement(class)('class') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('Edge') | |
| TYPE_PARAMETER_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PARAMETER | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| TYPE_PARAMETER | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(GT)('>') | |
| PRIMARY_CONSTRUCTOR | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('from') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('data') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('to') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n\n') | |
| CLASS | |
| PsiElement(class)('class') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('Graph') | |
| TYPE_PARAMETER_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PARAMETER | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| TYPE_PARAMETER | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(GT)('>') | |
| PsiWhiteSpace(' ') | |
| CLASS_BODY | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n\n ') | |
| PROPERTY | |
| MODIFIER_LIST | |
| PsiElement(private)('private') | |
| PsiWhiteSpace(' ') | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('mutableEdges') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('ArrayList') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Edge') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiComment(EOL_COMMENT)('// type is ArrayList, but I want IMutableList') | |
| PsiWhiteSpace('\n') | |
| PsiComment(BLOCK_COMMENT)('/* options:\n private val edges : IMutableList<Edge<V, E>> = ArrayList<Edge<V, E>>()\n private val edges : IMutableList<Edge<V, E>> = ArrayList() // not an erasure, but a request to infer parameters\n*/') | |
| PsiWhiteSpace('\n\n ') | |
| PROPERTY | |
| MODIFIER_LIST | |
| PsiElement(private)('private') | |
| PsiWhiteSpace(' ') | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('mutableVertices') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('HashSet') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n\n ') | |
| PROPERTY | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('edges') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('IList') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Edge') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('mutableEdges') | |
| PsiElement(SEMICOLON)(';') | |
| PsiWhiteSpace('\n ') | |
| PROPERTY | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('vertices') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('ISet') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Edge') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('mutableVertices') | |
| PsiElement(SEMICOLON)(';') | |
| PsiWhiteSpace('\n\n ') | |
| FUN | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('addEdge') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('from') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('data') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('E') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('to') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('mutableEdges') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('add') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Edge') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('from') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('data') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('to') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiComment(EOL_COMMENT)('// constructor parameters are inferred') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| FUN | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('addVertex') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('v') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('mutableEdges') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('add') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Edge') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('from') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('data') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('to') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiComment(EOL_COMMENT)('// constructor parameters are inferred') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n\n ') | |
| FUN | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('neighbours') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('v') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| DOT_QUALIFIED_EXPRESSION | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('edges') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('filter') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| BLOCK | |
| BINARY_EXPRESSION | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(DOT)('.') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('from') | |
| PsiWhiteSpace(' ') | |
| OPERATION_REFERENCE | |
| PsiElement(EQEQ)('==') | |
| PsiWhiteSpace(' ') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('v') | |
| PsiElement(RBRACE)('}') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('map') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| BLOCK | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(DOT)('.') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('to') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace(' ') | |
| PsiComment(EOL_COMMENT)('// type is IIterable<Vertex<V>>') | |
| PsiWhiteSpace('\n\n ') | |
| FUN | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('dfs') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('handler') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| FUNCTION_TYPE | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiElement(ARROW)('->') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Unit') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| PROPERTY | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('HashSet') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('vertices') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('foreach') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| BLOCK | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('dfs') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('handler') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n\n ') | |
| FUN | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('dfs') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('current') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('ISet') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('handler') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| FUNCTION_TYPE | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiElement(ARROW)('->') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Unit') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| IF | |
| PsiElement(if)('if') | |
| PsiWhiteSpace(' ') | |
| PsiElement(LPAR)('(') | |
| CONDITION | |
| PREFIX_EXPRESSION | |
| OPERATION_REFERENCE | |
| PsiElement(EXCL)('!') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('add') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('current') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| THEN | |
| RETURN | |
| PsiElement(return)('return') | |
| PsiWhiteSpace('\n ') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('handler') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('current') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('neighbours') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('current') | |
| PsiElement(RPAR)(')') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('foreach') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| BLOCK | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('dfs') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('handler') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n\n ') | |
| FUN | |
| MODIFIER_LIST | |
| PsiElement(public)('public') | |
| PsiWhiteSpace(' ') | |
| PsiElement(fun)('fun') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('traverse') | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('pending') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('IPushPop') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('ISet') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Vertex') | |
| TYPE_ARGUMENT_LIST | |
| PsiElement(LT)('<') | |
| TYPE_PROJECTION | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(GT)('>') | |
| PsiElement(GT)('>') | |
| PsiElement(COMMA)(',') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('handler') | |
| PsiWhiteSpace(' ') | |
| PsiElement(COLON)(':') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| FUNCTION_TYPE | |
| VALUE_PARAMETER_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_PARAMETER | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('V') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| PsiElement(ARROW)('->') | |
| PsiWhiteSpace(' ') | |
| TYPE_REFERENCE | |
| USER_TYPE | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('Unit') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('vertices') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('foreach') | |
| PsiWhiteSpace(' ') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| BLOCK | |
| IF | |
| PsiElement(if)('if') | |
| PsiWhiteSpace(' ') | |
| PsiElement(LPAR)('(') | |
| CONDITION | |
| PREFIX_EXPRESSION | |
| OPERATION_REFERENCE | |
| PsiElement(EXCL)('!') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('add') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| THEN | |
| CONTINUE | |
| PsiElement(continue)('continue') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('pending') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('push') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('it') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| WHILE | |
| PsiElement(while)('while') | |
| PsiWhiteSpace(' ') | |
| PsiElement(LPAR)('(') | |
| CONDITION | |
| PREFIX_EXPRESSION | |
| OPERATION_REFERENCE | |
| PsiElement(EXCL)('!') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('pending') | |
| PsiElement(DOT)('.') | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('isEmpty') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| BODY | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| PROPERTY | |
| PsiElement(val)('val') | |
| PsiWhiteSpace(' ') | |
| PsiElement(IDENTIFIER)('current') | |
| PsiWhiteSpace(' ') | |
| PsiElement(EQ)('=') | |
| PsiWhiteSpace(' ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('pending') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('pop') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('handler') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('current') | |
| PsiElement(RPAR)(')') | |
| PsiElement(SEMICOLON)(';') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('neighbours') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('current') | |
| PsiElement(RPAR)(')') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('foreach') | |
| PsiWhiteSpace(' ') | |
| LAMBDA_ARGUMENT | |
| LAMBDA_EXPRESSION | |
| FUNCTION_LITERAL | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace(' ') | |
| VALUE_PARAMETER_LIST | |
| VALUE_PARAMETER | |
| PsiElement(IDENTIFIER)('n') | |
| PsiWhiteSpace(' ') | |
| PsiElement(ARROW)('->') | |
| PsiWhiteSpace('\n ') | |
| BLOCK | |
| IF | |
| PsiElement(if)('if') | |
| PsiWhiteSpace(' ') | |
| PsiElement(LPAR)('(') | |
| CONDITION | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('visited') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('add') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('n') | |
| PsiElement(RPAR)(')') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace(' ') | |
| THEN | |
| BLOCK | |
| PsiElement(LBRACE)('{') | |
| PsiWhiteSpace('\n ') | |
| DOT_QUALIFIED_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('pending') | |
| PsiElement(DOT)('.') | |
| CALL_EXPRESSION | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('push') | |
| VALUE_ARGUMENT_LIST | |
| PsiElement(LPAR)('(') | |
| VALUE_ARGUMENT | |
| REFERENCE_EXPRESSION | |
| PsiElement(IDENTIFIER)('n') | |
| PsiElement(RPAR)(')') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiComment(BLOCK_COMMENT)('/* alternative\n pending->push(neighbours(current).filter{n => !visited[n])})\n // -> means that if push(x : T) and actual parameter y is IIterable<T>, this compiles into\n y.foreach{ n => push(n) }\n */') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n ') | |
| PsiElement(RBRACE)('}') | |
| PsiWhiteSpace('\n') | |
| PsiElement(RBRACE)('}') |