Commit Graph

1301 Commits

Author SHA1 Message Date
Alexander Udalov 99a908e8fe If-then-else statements & correct line numbers
#KT-3036 Fixed
2012-11-22 22:31:58 +04:00
Alexander Udalov 8564c20baa Fix condition generation of empty if 2012-11-22 22:31:53 +04:00
Alexander Udalov af601b5a90 Single-branch if-statements
Single-branch if-expressions are now compiled to statements if the result is
not used

 #KT-3036 In Progress
2012-11-22 22:31:40 +04:00
Alexander Udalov 9c7724b7f9 Introduce CodegenStatementVisitor
Which will be used for generating statements (as opposed to generating
expressions always, as it is now)

Add StatementGenTest, which will check if we actually generate statements and
not expressions of type Unit, popping them off the stack later
2012-11-22 22:07:01 +04:00
Alexander Udalov cb08d27970 Refactor LineNumberTest
Allow passing custom expected & actual line numbers instead of those before
calls to test.lineNumber()
2012-11-22 18:54:22 +04:00
Pavel V. Talanov 3ae89dbb1d Test for resolving static members of java enum
Add clarifying note
2012-11-21 19:49:45 +04:00
Pavel V. Talanov b5b6f58b6b Test for resolving inner classes 2012-11-21 19:49:44 +04:00
Pavel V. Talanov 737b246b01 Fix resolve of inner and nested classes in JavaDescriptorResolver 2012-11-21 19:49:44 +04:00
Pavel V. Talanov 96b48aedfc Very simple test for resolving static members of java classes 2012-11-21 19:49:43 +04:00
Pavel V. Talanov 86cc1db609 Refactor: extract superclass from AnnotationJavaDescriptorResolverTest 2012-11-21 19:49:42 +04:00
Pavel V. Talanov b6aa9b2bce Make JavaClassStaticMembersScope extend JavaClassMembersScope instead of JavaPackageScope, use JavaBaseScope instead of JavaPackageScope in JavaNamespaceResolver 2012-11-21 19:46:13 +04:00
Andrey Breslav 4ed07cd9ae Introducing KotlinPaths to impose some discipline on compiler/library location 2012-11-21 18:16:09 +04:00
Evgeny Gerashchenko 37cfb2fcc0 Checking errors when loading from Java in tests. 2012-11-21 14:00:51 +04:00
Svetlana Isakova 691cf52835 removed unused component dependencies 2012-11-20 19:54:55 +04:00
Svetlana Isakova 39450dd954 resolve function literal expression (as parameter) after resolve call
(therefore only once)
while resolve use FAKE_FUNCTION_TYPE as type
for function literal (which is a subtype/supertype for any function type)
2012-11-20 19:54:55 +04:00
Svetlana Isakova 473a969598 ArgumentTypeResolver introduce
(component used in CallResolver)
2012-11-20 19:54:54 +04:00
Svetlana Isakova 993d3a3469 added tests for resolve
(to test performance issues)
2012-11-20 17:59:20 +04:00
Evgeny Gerashchenko 60f30732ed Supported several load from Java errors per declaration. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko 4525e05268 Throwing exception only if no loading errors happened. 2012-11-20 17:20:02 +04:00
Evgeny Gerashchenko 059c6d0673 Added tests for signatures propagation. 2012-11-20 17:20:01 +04:00
Evgeny Gerashchenko d37bdbc07d Saving and loading projection kind of array element type in bytecode. 2012-11-20 17:20:00 +04:00
Evgeny Gerashchenko 21e97b408c Loading java arrays as Array<out T> at method return type position, as well. 2012-11-20 16:16:47 +04:00
Evgeny Gerashchenko d2a308964d Skipping java.util.Collection and similar classes in JdkAnnotationsSanityTest. 2012-11-20 16:16:47 +04:00
Evgeny Gerashchenko d1f217f2df Minor. LinkedHashMap for easier output parsing. 2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 00bed4a2a4 Added tests with two superclasses.
#KT-2776 in progress
2012-11-20 16:16:46 +04:00
Evgeny Gerashchenko 3b63e6e061 Supported variance propagation. 2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 9177080d8b Fixed loading variance from alternative signature. 2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 044487cf37 Supported propagating read-onliness.
#KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 89b413b7ad Supported generic subclasses in submethods.
#KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko e2d213f1fd Loading functions from superclasses before current to avoid heisenbug.
Added test with two supertypes.

 #KT-2776 in progress
2012-11-20 16:16:45 +04:00
Evgeny Gerashchenko 494345ce10 Improved algorithm, added simple tests with generic types.
#KT-2776 in progress
2012-11-20 16:16:44 +04:00
Evgeny Gerashchenko 1f4d994480 Introduced simple propagation of nullability on loading Java.
#KT-2776 in progress
2012-11-20 16:16:44 +04:00
Natalia.Ukhorskaya 961fde3c8a Remove redundant abstract tests. Use AbstractCodegenTest instead 2012-11-20 14:35:58 +04:00
Natalia.Ukhorskaya 3fc2e5d20c Attempt to split long or double on the stack exception
#KT-3042 Fixed
2012-11-20 13:35:30 +04:00
Natalia.Ukhorskaya 900788a8e0 Fix javaClass property for long and double
#KT-3046 Fixed
2012-11-19 21:19:48 +04:00
Pavel V. Talanov 7bb7445c57 Fix for invoking abstract method in enum 2012-11-19 20:18:45 +04:00
Alexander Udalov 6c7b32dc03 Fix data flow info after inner loops with continue-outer
ControlStructureTypingVisitor.containsBreak() is refined and now also takes
into account continue to outer loops
2012-11-16 17:56:30 +04:00
Alexander Udalov 6b65c44d45 Optimize DataFlowInfo.and()
Instead of copying everything, we now only completely copy one data flow info
and use another as a delegation target
2012-11-16 17:56:29 +04:00
Alexander Udalov 57f18fca2e Retain data flow info after array accesses 2012-11-16 17:56:24 +04:00
Alexander Udalov ac7ee9d3f5 Retain data flow info after when-expressions
This means the subject expression and the common data flow info of all entries'
conditions
2012-11-16 17:56:23 +04:00
Alexander Udalov d0a2ba5737 Retain data flow info after is-expression 2012-11-16 17:56:22 +04:00
Alexander Udalov ef3e38071c Retain data flow info after try-finally 2012-11-16 17:56:21 +04:00
Alexander Udalov d629fe2d91 Retain data flow info after 'for' loop range expressions 2012-11-16 17:56:20 +04:00
Alexander Udalov 0b1c87a812 Retain data flow info after conditions in do-while statements 2012-11-16 17:56:20 +04:00
Alexander Udalov b0e9c7aab7 Retain data flow info after conditions in while-statements 2012-11-16 17:56:19 +04:00
Alexander Udalov ae77bf0a4e Retain data flow info after conditions in if-statements 2012-11-16 17:56:18 +04:00
Alexander Udalov 2872a0799a Retain data flow info after string template expressions 2012-11-16 17:56:17 +04:00
Alexander Udalov 950f912154 Retain data flow info after multi-declaration
#KT-2825 In Progress
2012-11-16 17:56:17 +04:00
Alexander Udalov a54e34282a Retain data flow info after assignment operations (+= etc)
#KT-2825 In Progress
2012-11-16 17:56:16 +04:00
Alexander Udalov f949d9e804 Retain data flow info after assignment statements
#KT-2825 In Progress
2012-11-16 17:56:15 +04:00