Michael Bogdanov
0080ebd386
Fix for KT-7273: Bad local variable type when using non-local return
...
#KT-7273 Fixed
2015-04-17 14:24:34 +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
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
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
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
98ffa3b475
Render Class-constant as javaClass<T>()
2015-04-16 10:40:20 +03:00
Denis Zharkov
2a03994ecb
JVM: Write signature for annotation parameter
2015-04-16 10:40:20 +03:00
Denis Zharkov
8f0e290dec
Create additional constructor for java annotation with Class-parameter
...
One of them with KClass<*> parameters and other with java.lang.Class<*>.
It's needed just for backward compatibility, and second one is deprecared.
2015-04-16 10:40:20 +03:00
Denis Zharkov
f5111180c3
Load Class<?> as KClass<*> for Java annotations parameters
2015-04-16 10:40:20 +03:00
Denis Zharkov
f942f6ac8e
Move ReflectionTypes to builtins
2015-04-16 10:40:19 +03:00
Denis Zharkov
cc17f7d82d
JVM: Support using KClass as annotation parameter type
2015-04-16 10:40:19 +03:00
Denis Zharkov
82674e56b9
Frontend: Allow using KClass as annotation parameter type
2015-04-16 10:40:19 +03:00
Dmitry Jemerov
5bbbadeb37
add a token for inline Markdown links; add test for identifier links with labels
2015-04-15 19:48:46 +02:00
Michael Nedzelsky
6842c98285
JS: tests for KT-7357: extension functions from external KJS library couldn't be called in some cases
2015-04-15 17:00:06 +03:00
Mikhail Glukhikh
1544755838
Test refactoring
2015-04-14 19:11:26 +03:00
Mikhail Glukhikh
8184bccda1
Extended loop data flow analysis was implemented. #KT-6283 Fixed. #KT-6284 Fixed.
...
A local descendant of JetTypeInfo added to save separately current data flow info and jump point data flow info together with jump opportunity.
Now data flow analysis know about loop bodies that must be executed at least once (do...while, while(true) until the first break/continue).
A set of tests for smart casts in and after loops.
Existing DoWhile and WhileTrue resolve tests corrected in accordance.
2015-04-14 19:11:22 +03:00
Evgeny Gerashchenko
7b77ce58a5
Added assertion. There should be either space symbol after prefix (e.g., //ABSENT: A) or no symbols at all (e.g. //RUNTIME).
2015-04-14 15:01:29 +03:00
Dmitry Jemerov
9434e4bee9
mark wrapper methods that pass default values of parameters as synthetic
...
#KT-7314 Fixed
2015-04-13 15:26:20 +02:00
Michael Bogdanov
7b0f6018dc
Fix nameless function inlining
2015-04-13 16:11:21 +03:00
Michael Bogdanov
7025a4f933
Test framewrk update: check lambda inlining
2015-04-13 16:11:21 +03:00
Michael Bogdanov
27c40edeb4
InlineTestUtil convertion
2015-04-13 16:11:21 +03:00
Michael Bogdanov
9c74b22262
Rename InlineTestUtil.java to *.kt
2015-04-13 16:11:21 +03:00
Michael Bogdanov
e200b97ca4
Inline callable references
...
#KT-6900 Fixed
2015-04-13 16:11:21 +03:00
Dmitry Jemerov
991db29731
drop covariant specialisation for supertypes
2015-04-13 15:28:50 +03:00
Evgeny Gerashchenko
508c7a58b6
KT-7377 Throwable: Empty PSI elements should not be passed to createDescriptor from UnusedReceiverParameterInspection
...
#KT-7377 fixed
2015-04-13 15:04:00 +03:00
Alexander Udalov
92fa107471
Delete three diagnostic tests which rendered parts of JRE
...
- PackageLocalClassNotImportedWithDefaultImport.kt goes to codegen multi-file
tests. File in java.lang moved to kotlin.jvm, which seems irrelevant to the
test, because java.lang is prohibited by the VM
- MergePackagesWithJava.kt (KT-689, Java and Kotlin in the same package) and
kt955.kt (Unable to import from default package) are considered too obsolete
to even test and are thus deleted
Also check that there's no more than 1000 lines in the .txt file in diagnostic
tests.
2015-04-10 20:35:18 +03:00
Alexander Udalov
94df191f86
Regenerate tests
2015-04-10 20:26:34 +03:00
Alexander Udalov
69e7a25b08
Drop InnerTestClasses annotation, use Java reflection
2015-04-10 20:26:33 +03:00
Alexander Udalov
5c06204658
Move ExpectLoadError from tests to testData
...
To avoid loading all sources under "compiler/tests" in each test. Saves about
20-25% when running LoadJavaTestGenerated
2015-04-10 20:26:33 +03:00
Michael Bogdanov
67c2f7105b
Fix for KT-6863: Internal compiler error folding functions
...
#KT-6863 Fixed
2015-04-10 08:59:27 +03:00
Michael Bogdanov
a24d845bd0
Test for KT-7009: VerifyError: Bad type on operand stack in daload
...
#KT-7009 Obsolete
2015-04-10 08:59:27 +03:00
Michael Bogdanov
824d1ac556
Fix for KT-7306: Implicit array conversions cause ClassCastException at runtime
...
#KT-7306 Fixed
2015-04-10 08:59:26 +03:00
Alexander Udalov
6182b3ff5c
Prohibit Array::class, require type arguments for reified parameters
2015-04-09 19:46:47 +03:00
Alexey Sedunov
06960be3ad
Minor: Extract findElementByComment() function
2015-04-09 13:49:18 +03:00
Alexey Sedunov
4af608ef84
Parser: Recovery for parameter with missing name
2015-04-09 13:49:17 +03:00
Michael Bogdanov
20653090d3
Test for KT-7338: Incorrect code is emitted for is-checks with array types, resulting in java.lang.VerifyError
...
#KT-7338 Obsolete
2015-04-09 11:10:33 +03:00
Michael Bogdanov
efd4a3ce84
Print bytecode on test fail
2015-04-09 09:25:26 +03:00
Michael Bogdanov
c582b1d9ce
Generate linenumber if needed after inlining
2015-04-09 09:25:26 +03:00
Evgeny Gerashchenko
eeeb741d42
Added test for obsolete bug and removed workaround in code.
2015-04-08 15:14:16 +03:00
Alexander Udalov
4956b24810
Merge two DescriptorRenderer parameters about parameter name rendering
...
Also disable parameter name rendering completely in
AbstractJvmRuntimeDescriptorLoaderTest because they can't be obtained anyway in
reflection
2015-04-07 20:25:08 +03:00
Alexander Udalov
47e7235e64
Add different tests on class loaders in reflection
2015-04-07 20:25:07 +03:00
Alexander Udalov
137ee53e85
Reflection test: only skip Java annotation constructors
...
The order of Kotlin annotation parameters is retained
2015-04-07 20:25:05 +03:00
Alexander Udalov
715641fb0d
Call getMethod/getDeclaredMethod depending on visibility
2015-04-07 20:20:40 +03:00
Alexander Udalov
0202217135
Fix JVM signatures involving multi-dimensional array types
...
Apparently ASM's Type#getElementType returns the type of the array even if it's
multi-dimensional, so the loop was incorrect
2015-04-07 20:06:23 +03:00