KtFile: IOSamples.kt PACKAGE_DIRECTIVE IMPORT_LIST CLASS MODIFIER_LIST PsiElement(open)('open') PsiWhiteSpace(' ') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('IAdder') TYPE_PARAMETER_LIST PsiElement(LT)('<') TYPE_PARAMETER MODIFIER_LIST PsiElement(in)('in') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('add') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('item') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Boolean') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') CLASS MODIFIER_LIST PsiElement(open)('open') PsiWhiteSpace(' ') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('ICloseable') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('close') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') CLASS MODIFIER_LIST PsiElement(abstract)('abstract') PsiWhiteSpace(' ') PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('JavaCloseableWrapper') PRIMARY_CONSTRUCTOR VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('closeable') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE USER_TYPE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('java') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('io') PsiElement(DOT)('.') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Closeable') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') SUPER_TYPE_LIST SUPER_TYPE_CALL_ENTRY CONSTRUCTOR_CALLEE TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('ICloseable') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('closeable') PsiElement(RPAR)(')') PsiWhiteSpace('\n\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') TYPE_PARAMETER_LIST PsiElement(LT)('<') TYPE_PARAMETER PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('streamCopy') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('from') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('IIterable') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_PARAMETER PsiElement(IDENTIFIER)('to') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('IAdder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('T') PsiElement(GT)('>') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') FOR PsiElement(for)('for') PsiWhiteSpace(' ') PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('item') PsiWhiteSpace(' ') PsiElement(in)('in') PsiWhiteSpace(' ') LOOP_RANGE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('from') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BODY DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('t') PsiElement(DOT)('.') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('add') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('item') PsiElement(RPAR)(')') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') CLASS PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('FileInput') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') SUPER_TYPE_LIST SUPER_TYPE_ENTRY TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('IIterator') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Byte') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') SUPER_TYPE_ENTRY TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('JavaCloseableWrapper') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PROPERTY MODIFIER_LIST PsiElement(private)('private') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('stream') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('InputStream') PsiWhiteSpace('\n ') PROPERTY MODIFIER_LIST PsiElement(private)('private') PsiWhiteSpace(' ') PsiElement(var)('var') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('next') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Int') PsiWhiteSpace('\n ') PROPERTY MODIFIER_LIST PsiElement(private)('private') PsiWhiteSpace(' ') PsiElement(var)('var') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('nextUsed') PsiWhiteSpace(' ') PsiElement(EQ)('=') PsiWhiteSpace(' ') BOOLEAN_CONSTANT PsiElement(false)('false') PsiWhiteSpace('\n\n ') PsiComment(EOL_COMMENT)('//this(file : File) : JavaCloseableWrapper(stream) { // implicitly throws IOException') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('// stream = FileInputStream(file) // throws IOException') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('//}') PsiWhiteSpace('\n\n ') FUN MODIFIER_LIST PsiElement(override)('override') PsiWhiteSpace(' ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('next') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') IF PsiElement(if)('if') PsiWhiteSpace(' ') PsiElement(LPAR)('(') CONDITION PREFIX_EXPRESSION OPERATION_REFERENCE PsiElement(EXCL)('!') REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('nextUsed') PsiElement(RPAR)(')') PsiWhiteSpace(' ') THEN BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('nextUsed') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(EQ)('=') PsiWhiteSpace(' ') BOOLEAN_CONSTANT PsiElement(true)('true') PsiWhiteSpace('\n ') RETURN PsiElement(return)('return') PsiWhiteSpace(' ') BINARY_WITH_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('next') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(as)('as') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Byte') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace('\n ') RETURN PsiElement(return)('return') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace('\n \n ') PROPERTY MODIFIER_LIST PsiElement(override)('override') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('hasNext') PsiWhiteSpace('\n ') PROPERTY_ACCESSOR PsiElement(get)('get') PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// implicitly throws IOException') PsiWhiteSpace('\n ') IF PsiElement(if)('if') PsiWhiteSpace(' ') PsiElement(LPAR)('(') CONDITION BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('nextUsed') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(ANDAND)('&&') PsiWhiteSpace(' ') BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('next') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(EXCLEQ)('!=') PsiWhiteSpace(' ') PREFIX_EXPRESSION OPERATION_REFERENCE PsiElement(MINUS)('-') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiElement(RPAR)(')') PsiWhiteSpace(' ') THEN BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('nextUsed') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(EQ)('=') PsiWhiteSpace(' ') BOOLEAN_CONSTANT PsiElement(false)('false') PsiWhiteSpace('\n ') BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('next') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(EQ)('=') PsiWhiteSpace(' ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('stream') PsiElement(DOT)('.') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('read') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// throws IOException') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace('\n ') RETURN PsiElement(return)('return') PsiWhiteSpace(' ') BINARY_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('next') PsiWhiteSpace(' ') OPERATION_REFERENCE PsiElement(EXCLEQ)('!=') PsiWhiteSpace(' ') PREFIX_EXPRESSION OPERATION_REFERENCE PsiElement(MINUS)('-') INTEGER_CONSTANT PsiElement(INTEGER_LITERAL)('1') PsiWhiteSpace(' \n ') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') CLASS PsiElement(class)('class') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('FileOutput') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') SUPER_TYPE_LIST SUPER_TYPE_ENTRY TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('IAdder') TYPE_ARGUMENT_LIST PsiElement(LT)('<') TYPE_PROJECTION TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Byte') PsiElement(GT)('>') PsiElement(COMMA)(',') PsiWhiteSpace(' ') SUPER_TYPE_ENTRY TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('JavaCloseableWrapper') PsiWhiteSpace(' ') CLASS_BODY PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') PROPERTY MODIFIER_LIST PsiElement(private)('private') PsiWhiteSpace(' ') PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('stream') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('OutputStream') PsiWhiteSpace('\n\n ') PsiComment(EOL_COMMENT)('//this(file : File) : JavaCloseableWrapper(stream) {') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('// stream = FileOutputStream(file)') PsiWhiteSpace('\n ') PsiComment(EOL_COMMENT)('//}') PsiWhiteSpace('\n\n ') FUN MODIFIER_LIST PsiElement(override)('override') PsiWhiteSpace(' ') PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('add') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') VALUE_PARAMETER PsiElement(IDENTIFIER)('item') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('Byte') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace('\n ') DOT_QUALIFIED_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('stream') PsiElement(DOT)('.') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('write') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('item') PsiElement(RPAR)(')') PsiWhiteSpace('\n ') PsiElement(RBRACE)('}') PsiWhiteSpace('\n') PsiElement(RBRACE)('}') PsiWhiteSpace('\n\n') FUN PsiElement(fun)('fun') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('example') VALUE_PARAMETER_LIST PsiElement(LPAR)('(') PsiElement(RPAR)(')') PsiWhiteSpace(' ') BLOCK PsiElement(LBRACE)('{') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// this does not rethrow, no appropriate parameters given') PsiWhiteSpace('\n\n ') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('f1') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('File') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('//= ...') PsiWhiteSpace('\n ') PROPERTY PsiElement(val)('val') PsiWhiteSpace(' ') PsiElement(IDENTIFIER)('f2') PsiWhiteSpace(' ') PsiElement(COLON)(':') PsiWhiteSpace(' ') TYPE_REFERENCE USER_TYPE REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('File') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('//= ...') PsiWhiteSpace('\n\n ') CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('streamCopy') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT CALL_EXPRESSION REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('FileInput') VALUE_ARGUMENT_LIST PsiElement(LPAR)('(') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('f1') PsiElement(RPAR)(')') PsiElement(COMMA)(',') PsiWhiteSpace(' ') VALUE_ARGUMENT REFERENCE_EXPRESSION PsiElement(IDENTIFIER)('f2') PsiElement(RPAR)(')') PsiWhiteSpace(' ') PsiComment(EOL_COMMENT)('// throws IOException, you must catch or rethrow explicitly') PsiWhiteSpace('\n\n') PsiElement(RBRACE)('}')