Commit Graph

21797 Commits

Author SHA1 Message Date
Alexey Tsvetkov a9d38e8d22 JS: decomposition of vars 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov e80059e4a2 JS: decomposition of "while" and "do while" 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov 71ea487828 JS: decomposition of "if" 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov c0111d6e33 JS: decomposition of binary operator
#KT-6437 fixed
 #KT-7359 fixed
2015-04-16 21:17:11 +03:00
Alexey Tsvetkov fd844ad6e3 JS: decomposition of ternary operator 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov 3782b9d382 JS: decomposition of array access 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov 8b68f6d9ab JS: decomposition of array literal 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov 92942fd1c5 JS: decomposition of invocation/"new" 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov b7e26c3bf7 JS: extract expressions preceding inline call 2015-04-16 21:17:11 +03:00
Alexey Tsvetkov f900cb36c5 JS: added inline evaluation order tests generation 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov 616872558c Minor in JS: made JsNew qualifier mutable 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov 5eadac9750 Minor in JS: use acceptStatement where appropriate 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov fafd4ef805 Minor in JS: deleted unused function 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov a356847006 JS: added @NotNull annotation to JsVisitorWithContext 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov be5e73a5bc JS: make qualifier mutable 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov 6ff4785cb0 JS: turn off inline call extraction at translation 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov 24aa19bd49 JS: fixed nullability issues after conversion 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov 1f705eb77a JS: converted JsVisitor to Kotlin 2015-04-16 21:17:10 +03:00
Alexey Tsvetkov cd92e2de73 JS: changed file extension JsVisitor(.java->.kt) 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov 05c44db80f JS: inline all calls in a statement in one pass 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov c8453ec0d9 JS: removed unused JsContext methods 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov add0aca746 JS: removed StatementContext, InsertionPoint 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov e94c79f838 JS: added type parameter to JsContext 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov efba2a2372 JS: make JsEmpty singleton 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov dd13e91883 JS: converted JsEmpty to kotlin 2015-04-16 21:17:09 +03:00
Alexey Tsvetkov ba1eb5f848 JS: changed extension JsEmpty.java->.kt 2015-04-16 21:17:09 +03:00
Svetlana Isakova d40fd440b0 KT-7433 Type inference pushes Unit inside generic function with lower bound constraint
#KT-7433 Fixed
 #KT-7351 Fixed
2015-04-16 21:02:42 +03:00
Mikhail Glukhikh a37ae6ba6d Test fixed accordingly with KT-3175 2015-04-16 20:48:48 +03:00
Mikhail Glukhikh 109e0abb6d Review fixes for mutable variable smart casting (mostly refactoring).
DataFlowValue.isPredictable() introduced instead of isStableIdentifier().
Parenthesized assignments are treated correctly.
2015-04-16 20:11:03 +03:00
Mikhail Glukhikh e97e792674 Review fixes for smart casts in / out loops.
LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
2015-04-16 20:11:01 +03:00
Mikhail Glukhikh d5aed62410 Smart casts for local variables not captured in a closure and not changed in a loop, see #KT-3175.
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175  Fixed. #KT-2266  Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
2015-04-16 20:10:58 +03:00
Mikhail Glukhikh e4b1046a54 Minor bug fix: necessary !! added 2015-04-16 20:10:56 +03:00
Pavel V. Talanov a21abeba33 Fix kotlin-gradle-plugin to correctly process java source files
Do not remove outdirectory from cp in maven: this is needed for gradle-plugin build to see files compiled by gmaven
    this may cause problems with running mvn install without clean for kotlin
Remove special magic with groovy-output in gradle-plugin pom.xml
2015-04-16 16:40:55 +03:00
Pavel V. Talanov 3329136c9c Fix test data for quickfix tests
Depending on Module and ModuleBuilder from runtime
2015-04-16 16:40:44 +03:00
Pavel V. Talanov 818a6b5c2e Fix various tests and test data
Since we now distinguish between binaries and java source roots
2015-04-16 16:40:37 +03:00
Pavel V. Talanov d76f293dc9 Speed up finding kotlin binaries and java files in CLI
Change VirtualFileFinder api to accept ClassId and adjust usages
Introduce KotlinCoreProjectEnvironment to create special KotlinCliJavaFileManager which shares cache with CliVirtualFileFinder
Truly distinguish between java source roots and binary roots: don't search for source files in classpath and vica versa
Implement JvmDependenciesIndex
2015-04-16 16:40:28 +03:00
Pavel V. Talanov 94cc847c48 Drop module "ktm" scripts and support java source roots in "xml" modules
Drop kotlin.modules package from runtime
Move adapted classes into compiler
Unsupport files with "ktm" extension
Delete code for loading module scripts
Drop tests for module scripts
Separate section for java source roots in xml script generator/parser
2015-04-16 16:40:19 +03:00
Pavel V. Talanov 09947d8f58 Move dangerous ClassId.fromString() to test 2015-04-16 16:40:12 +03:00
Natalia Ukhorskaya 336886f115 Fix KotlinBytecodeToolWindow: show bytecode correctly when there is inline function from another module
#KT-7409 Fixed
2015-04-16 14:55:29 +03:00
Natalia Ukhorskaya 06eb749f5a Android tests: copy kotlin-reflect.jar to test android application 2015-04-16 14:48:54 +03:00
Alexander Udalov ccae0311c3 Merge InlineDescriptorUtils to InlineUtil 2015-04-16 14:35:07 +03:00
Alexander Udalov 16e6bc347f Move inline-related stuff from 'descriptors' to 'frontend'
Move to package org.jetbrains.kotlin.resolve.inline
2015-04-16 14:35:06 +03:00
Alexander Udalov d93a7a9547 Minor, simplify some checks in InlineUtil 2015-04-16 14:35:05 +03:00
Alexander Udalov 7cbbc5f98d Minor, rename InlineUtil.getInlineType -> getInlineStrategy 2015-04-16 13:55:07 +03:00
Alexander Udalov 4a2fac6f40 Add utility InlineUtil.isInline instead of interface method in SimpleFunctionDescriptor
Also fix some warnings and reformat along the way
2015-04-16 13:55:07 +03:00
Alexander Udalov 9ed8ad8dd4 Replace eager assert with lazy in PseudocodeVariableDataCollector
For some reason some IDE tests would fail after the simple change. Add explicit
toString() call on the descriptor, to be investigated later
2015-04-16 13:55:06 +03:00
Alexander Udalov 1b0a78077f Use assert with lazy message in project instead of eager one 2015-04-16 13:55:06 +03:00
Alexander Udalov 44e35cad29 Make 'sure' an inline function with a lazy parameter
Also replace some other non-lazy stdlib function usages with the new lazy
'sure'
2015-04-16 13:55:06 +03:00
Denis Zharkov b2a2e4ae92 Add bytecodeText test for annotation with default value
It checks that no value is emitted if argument is not specified
2015-04-16 10:40:20 +03:00
Denis Zharkov 97e4a899cf Add specific warning when KClass literal expected 2015-04-16 10:40:20 +03:00