Commit Graph

2694 Commits

Author SHA1 Message Date
Alexander Udalov d5681540ec Fix NoSuchMethodError for data classes with private parameters
Introduced in a07909bb52
2014-07-19 02:13:26 +04:00
Alexander Udalov 65c21561a4 Fix super constructor calls of anonymous objects and local classes
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.

Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).

Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor

 #KT-3581 Fixed
 #KT-5342 Fixed
 #KT-5343 Fixed
2014-07-18 16:26:46 +04:00
Alexander Udalov a07909bb52 Don't generate unnecessary accessors for private class properties 2014-07-17 19:18:05 +04:00
Alexander Udalov 4bdf7e3426 Use direct field access to trivial class properties
#KT-3845 Fixed
2014-07-17 19:18:05 +04:00
Denis Zharkov 0b2b8ba816 Fixed KT-5493: NPE fix 2014-07-17 18:43:44 +04:00
Nikolay Krasko 0b7699b844 Fix silence turning integers with leading zero into doubles
#KT-4296 Fixed
2014-07-16 18:35:19 +04:00
Denis Zharkov 0e683b0b99 Added "optimize" flag to settings everywhere 2014-07-15 21:34:32 +04:00
Denis Zharkov 0f5e29df9b tests added 2014-07-15 21:26:53 +04:00
Denis Zharkov 3fa5fc7b11 Tests updated after integration with optimization subsystem 2014-07-15 21:23:50 +04:00
Zalim Bashorov dc68d78d9d Minor: revert changes in StackValue and fix tes data.
(this commit should be reverted after make Unit object)
2014-07-11 20:28:57 +04:00
Alexey Sedunov 487e7f2a91 Pseudocode: Replace {<: Any?} type predicate with * 2014-07-11 19:13:52 +04:00
Alexey Sedunov 4707f4a5e9 Pseudocode: Add debug information to magic instructions 2014-07-11 19:13:49 +04:00
Alexey Sedunov d636d362b7 Pseudocode: Generate proper instructions for when conditions. Eliminate unnecessary magics 2014-07-11 19:13:46 +04:00
Alexey Sedunov 0a8fa404bf Pseudocode: Generate additional returns for implicit return values (lambdas, functions with expression bodies) 2014-07-11 19:13:26 +04:00
Alexey Sedunov 1c75a5f642 Pseudocode: Generate instructions for superclass constructor calls. Consume value of delegate expression in the by-clause 2014-07-11 19:13:21 +04:00
Evgeny Gerashchenko 708816f09c Fixed generating method calls from same module when inlining. 2014-07-11 14:54:12 +04:00
Valentin Kipyatkov 9bd742472d Fixed KT-5339 J2K: convert Objects.equals to == and !=
Mock JDK regenerated to add java.util.Objects

 #KT-5339 Fixed
2014-07-10 23:20:38 +04:00
Alexander Udalov 947c9fb1bf Minor, rename "inner" -> "nested" in tests 2014-07-10 20:30:45 +04:00
Zalim Bashorov c51b653b31 Minor: fixed tests. 2014-07-10 17:25:42 +04:00
Evgeny Gerashchenko 86d2565700 Added test for KT-4827 UOE at PackageType.throwException()
#KT-4827 obsolete
 #EA-53605 obsolete
2014-07-10 15:05:18 +04:00
Andrey Breslav e3b1639edf KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Michael Bogdanov 6ddeb85c00 Added checking for ONLY_LOCAL_RETURN in actual parameter of inline function 2014-07-09 09:46:28 +04:00
Svetlana Isakova cec01237d0 Added test for labeled delegated expression 2014-07-08 14:57:40 +04:00
Svetlana Isakova aa26db0538 Updated tests for control flow: call instruction stores call element
instead of callee expression
2014-07-08 14:57:38 +04:00
Svetlana Isakova 72e9822d99 All RESOLVED_CALL getters replaced with util methods
JetElement.getResolvedCall(BindingContext)
  JetElement.getResolvedCallForSure(BindingContext)
2014-07-08 14:57:37 +04:00
Svetlana Isakova ae8757f6b8 Added tests on resolved call for 'this' 2014-07-08 14:48:20 +04:00
Svetlana Isakova 48511206ad Mark required call with 'caret' in abstract resolved calls test 2014-07-08 14:48:19 +04:00
Svetlana Isakova 29ab166e1b Refactoring: AbstractResolvedCallsTest
Render resolved call to a separate file
2014-07-08 14:48:19 +04:00
Svetlana Isakova b2c2e1811c Check 'isDirty' for resolved calls replaced with check 'hasUnresolvedArguments' for call
Don't report 'cannotCompleteResolve' error if some arguments are unresolved (like 'ambiguity')
2014-07-08 14:48:19 +04:00
Svetlana Isakova a3e306b820 Update recorded type for argument in parentheses correctly 2014-07-08 14:48:18 +04:00
Svetlana Isakova f24442b90e Added ArgumentMatchStatus.MATCH_MODULO_UNINFERRED_TYPES 2014-07-08 14:48:17 +04:00
Svetlana Isakova 857aa76cff Added tests for argument mapping 2014-07-08 14:48:17 +04:00
Svetlana Isakova 11fbe375fa Logic of completing call rewritten in CallCompleter
Changed interface ResolutionResultsCache
2014-07-08 14:48:15 +04:00
Michael Bogdanov 6b34035455 Avoid exceptions in test setUp cause tearDown would not be invoked 2014-07-07 10:51:47 +04:00
Michael Bogdanov ce71c5abde Test update for new ONLY_LOCAL_RETURN diagnostic 2014-07-07 10:51:46 +04:00
Michael Bogdanov da01a11137 New diagnostic for non-local return annotation 2014-07-07 10:51:46 +04:00
Michael Bogdanov 8092717da4 Support non local return generation, support non local return inlining 2014-07-07 10:51:46 +04:00
Mikhael Bogdanov 02c6bdeaa3 Inline test data structure changed 2014-07-07 10:51:46 +04:00
Andrey Breslav caec40b3a8 Fix test data 2014-07-05 18:31:55 +04:00
Andrey Breslav 06d060d5de KT-4295 Wrong diagnostic about "weaken access privilege" when override properties in constructor
#KT-4295 Fixed
2014-07-05 17:47:00 +04:00
Pavel V. Talanov 245919d691 Use module to resolve annotation classes in AnnotationDescriptorLoader 2014-07-03 20:46:36 +04:00
Andrey Breslav 6422bafb7a More tests for synchronized() {} 2014-07-03 18:39:57 +04:00
Andrey Breslav 90690e0711 KT-4825 Implement "synchronized" properly via monitorenter/monitorexit
#KT-4825 Fixed
2014-07-02 22:05:45 +04:00
Alexander Udalov c0fc5cfb53 Disallow named arguments for SAM adapters
SAM adapters are Java functions, and named arguments are not allowed for Java
functions

 #KT-5022 Fixed
2014-07-02 20:35:31 +04:00
Alexander Udalov 36f7cc742f Introduce NoSuchPropertyException and IllegalAccessException
No new tests added because it's difficult to model a situation where a
::-access is allowed but the code throws these exceptions at runtime
2014-07-02 01:58:22 +04:00
Alexander Udalov bc8bce7ca1 Provide "toString" for reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov c5d92cc03e Provide "equals" and "hashCode" for reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov 704de8992e Support mapping between Java and Kotlin reflection objects 2014-07-02 01:55:55 +04:00
Alexander Udalov c575ad9fb0 Fix test, remove duplicate annotation
It started to fail only now because KClassImpl constructor is now loading
class' annotations (previously annotations weren't loaded by Java reflection)
2014-07-02 01:55:54 +04:00
Alexander Udalov a38a396a43 Remove default import "kotlin.reflect"
Basic reflection is usable without any imports (with :: literals)

This reverts commit 9503056dd5.
2014-07-02 01:55:53 +04:00