Commit Graph

1155 Commits

Author SHA1 Message Date
Alexander Udalov 95ec2448eb Generate not-null assertions after method calls
If a method comes from Java and is annotated as returning NotNull, after
calling it we should check if it actually returned something other than null.
Introduce checkReturnedValueIsNotNull() in jet/runtime/Intrinsics which does
exactly that.

CallableMethod's invoke() and invokeDefault() are now private, use asserted
versions instead
2012-10-08 14:11:56 +04:00
Alexander Udalov 1cf5e92981 Support multi-file tests with Java in CodegenTestCase 2012-10-08 14:11:54 +04:00
Pavel V. Talanov 37fd1aebf6 Extract util methods from JavaDescriptorResolver to the new class DescriptorResolverUtils 2012-10-06 20:09:45 +04:00
Nikolay Krasko 572173a8f8 Fields alternative signature processing with refactoring of AlternativeSignatureData
Refactoring details:
- Move and rename AlternativeSignatureData to kotlinSignature.AlternativeMethodSignatureData
- Extract TypeTransforming visitor
- Extract AlternativeSignatureMistmatchException
- Move errors, return type, and syntax processing to base class
2012-10-05 15:51:23 +04:00
Nikolay Krasko 8d608f2887 Tests for loading KotlinSignature annotation for constructors
#KT-2774 In Progress
2012-10-05 15:51:09 +04:00
Evgeny Gerashchenko 22e62c5723 KT-1973 added tests.
#KT-1973 Fixed
2012-10-03 23:33:16 +04:00
Pavel V. Talanov c5b29354c0 JDR: move *Scope classes to scope package 2012-10-03 21:56:38 +04:00
Svetlana Isakova 9d5f5f7adf KT-2842 Function with declared non-null receiver resolves with nullable argument receiver
#KT-2842 fixed
2012-10-02 14:20:00 +04:00
Pavel V. Talanov 90ce15d96f Modify test for KT-1515 to actually test using javaClass in another package as stated in the request.
NOTE: not 100% that this test actually covers the corresponding fix by Alex Tkachman.
2012-10-01 16:14:40 +04:00
Evgeny Gerashchenko 8c7d1b5dd0 Added test checking that all IDEA's @NotNull external annotations for JDK are reflected in Kotlin's annotations.
#KT-2778 fixed
2012-09-27 18:27:29 +04:00
Evgeny Gerashchenko 4b3364508b Added test checking that external annotations for JDK don't contain errors.
#KT-2778 in progress
2012-09-27 18:27:29 +04:00
Alexander Udalov acf8702ccf KT-2822 Can't make a super call from an object literal
#KT-2822 Fixed
2012-09-27 16:30:58 +04:00
Alex Tkachman 57c27bdd37 jdk annotations for some java.sql methods, related cleanup in stdlib & tests 2012-09-27 12:01:54 +02:00
Alex Tkachman 7ed2126ebb tests should not ignore jdk-annotation dir 2012-09-26 18:48:53 +02:00
Svetlana Isakova 67ec48eaa6 KT-2829 Local variables used only in multi-declaration are marked as unused
#KT-2829 fixed
2012-09-26 15:17:26 +04:00
Andrey Breslav 92ac865c72 KT-2819 Duplicate toString() method generated in data class
#KT-2819 Fixed
2012-09-26 12:32:16 +04:00
Kirill Berezin 194ef38ba3 KT-2477 fake overrides now get INHERITED visibility in order to maximize visibility according to inherited traits\classes 2012-09-25 19:17:55 +04:00
Natalia.Ukhorskaya 32d707ca9b Inner Java Enums
KT-2691 Fixed
 KT-2686 Fixed
2012-09-24 12:33:58 +04:00
Alex Tkachman ee784eb2fe some debug print commented 2012-09-23 18:04:14 +02:00
Alex Tkachman be09227569 generation of inner classes inside object literal. #KT-2607 fixed
on the way ClassCodegen and MemberCodegen refactored out and injectors regenerated
2012-09-20 17:57:07 +03:00
Alex Tkachman 00d7a0a8ae test case for KT-2655 which duplicates KT-2786 2012-09-20 17:54:40 +03:00
Alex Tkachman 242ee38606 generic signatures for properties #KT2677 fixed 2012-09-20 17:54:40 +03:00
Alex Tkachman eaf9a79420 correct handling of delegate properties #KT-2786 fixed 2012-09-20 17:54:40 +03:00
Andrey Breslav 936f53fcbf Don't complain about compareTo returning ERROR type instead of Int 2012-09-20 18:12:57 +04:00
Alexander Udalov dadc97d29f Fix maven build
Do not create class objects for classes which come from Java.
2012-09-20 18:10:19 +04:00
Alexander Udalov bce5cb9034 Support inner enums from binaries
#KT-2771 Fixed
2012-09-20 15:02:58 +04:00
Alexander Udalov 37fd9cea08 Place inner enum into its parent's class object
#KT-2771 In Progress

ClassifierCollector now collects all enum declarations inside non-static
classes. After all declarations are done, it processes these enums: creates
a class object if it's not present, reports errors on each enum if a class
object is not allowed, and puts every enum into this class object otherwise,
recording this fact to trace.
2012-09-20 15:02:13 +04:00
Svetlana Isakova b081615e59 added tests for collections 2012-09-20 14:42:39 +04:00
Alex Tkachman b022eec0fa call correct methods String.valueOf/StringBuilder.append in case of byte/short. #KT-2794 fixed 2012-09-20 11:46:40 +03:00
Svetlana Isakova 0ccdf79051 no report 'UNNECESSARY_NOT_NULL_ASSERTION' on error types 2012-09-19 15:31:17 +04:00
Svetlana Isakova 618f1b377b added signatureName format to JvmClassName 2012-09-19 13:06:25 +04:00
Andrey Breslav c9e9175a88 EA-37399 - ISE: OverrideResolver.findInvisibleOverriddenDescriptor
Each of the duplicated methods in the subclass should get the same set of overridden descriptors
2012-09-18 22:01:39 +04:00
Andrey Breslav f8cdb7e81e Test regenrated (data file removed in the previous commit) 2012-09-18 21:57:57 +04:00
Andrey Breslav 9c5d032fb1 Obsolete test case removed 2012-09-18 21:36:14 +04:00
Andrey Breslav 5eaa5b396b Removing usages of tuples from test data
(KT-2358 Drop tuples)
 #KT-2358 In progress
2012-09-18 20:27:09 +04:00
Andrey Breslav dee5152f9b Supporting Unit.VALUE, to replace #()
#KT-2358 In Progress
2012-09-18 20:27:09 +04:00
Nikolay Krasko 4041d4d192 Remove ResolveSession.getResolutionScope() and extend usage of ScopeProvider.getResolutionScopeForDeclaration() 2012-09-18 19:26:57 +04:00
Nikolay Krasko db830c88b4 EA-38787 Exception because of enumeration without name 2012-09-18 19:26:56 +04:00
Alex Tkachman 0ffc8f355b attempt to fix KT-2251 2012-09-18 14:25:09 +03:00
Alex Tkachman 8e463ac0ac equals generation for data classes 2012-09-17 18:48:17 +03:00
Evgeny Gerashchenko 6e62212727 Replaced sure() invocations with '!!' operator in codegen tests. 2012-09-17 18:00:21 +04:00
Alex Tkachman 8c823486d7 hashCode generation for data classes 2012-09-17 15:52:23 +03:00
Evgeny Gerashchenko 82b605508a Added 'if not null' checks to avoid exceptions thrown before deferred assertions are printed. 2012-09-17 16:27:14 +04:00
Evgeny Gerashchenko 4620ba2fd3 Rewritten LoadCompiledKotlinTest to test generation framework. 2012-09-17 16:27:14 +04:00
Evgeny Gerashchenko 27becdec9b Added getSliceContents() method to BindingContext returning immutable map for particular slice (for testing and debug purposes). 2012-09-17 16:27:14 +04:00
Natalia.Ukhorskaya 694f1f45f8 KT-2714 'enum' annotation should only be allowed on classes
#KT-2714 Fixed
2012-09-17 15:27:49 +04:00
Alex Tkachman a4e272d7c6 optimization of toString for primitive types and "$expr"
- intrinsic toString for promitive types added to stdlib
- utility method added to CodegenUtil
- optimization logic added to generation of interpolating string
2012-09-17 13:00:02 +03:00
Alex Tkachman 655a13aef6 IntrinsicsTest regenerated 2012-09-17 09:45:37 +03:00
Alex Tkachman 3b96624c81 small optimizaton of toString for primitive types (no boxing needed) 2012-09-17 09:07:08 +03:00
Alex Tkachman 58af365eb2 toString() method for data classes and fake implementation for hashCode/equals 2012-09-16 15:56:48 +03:00