Commit Graph

1087 Commits

Author SHA1 Message Date
Alexander Udalov fdfd808d80 Remove KForeignMemberProperty and KClassOrigin, use KMemberPropertyImpl instead 2015-03-11 16:42:36 +03:00
Alexander Udalov ff0044f66a Use descriptors for reflection on extension properties 2015-03-11 16:42:34 +03:00
Alexander Udalov 1a618deeab Use descriptors for reflection on top level properties
This also allows to obtain a Field object from the package part (see
mapping.kt)
2015-03-11 16:42:33 +03:00
Alexander Udalov 64fdb18ad3 Use descriptors for reflection on class properties
- use ConcurrentHashMap as a cache of class loaders to module descriptors
- KClassImpl now has a lazy class descriptor and it manages property creation
  by looking (also lazily) for the property descriptor in the corresponding
  scope
- since deserialized descriptors have full information about where a JVM symbol
  is located and what signature it has, new tests will begin to pass where
  Kotlin model and Java reflection model differ, see classObjectVar.kt
2015-03-11 16:42:31 +03:00
Alexander Udalov a8046020fb Rename kotlin.reflect.IllegalAccessException -> IllegalPropertyAccessException
The former name clashes with java.lang.IllegalAccessException and proved to be
inconvenient because it should always be qualified in the source.

Also use java.lang exception's message as kotlin.reflect exception's message
2015-03-07 02:32:15 +03:00
Pavel V. Talanov 59f192ef90 Replace 'class object' with 'default object' in renderers and test data
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Evgeny Gerashchenko 14b16ff87c KT-6916 Slow bytecode for downTo iteration like for (i in max downTo min)
#KT-6916 fixed
2015-03-06 13:43:02 +03:00
Dmitry Jemerov c029fa2ed0 add test for generating annotations on the setter of a delegated property; (KT-4169); properly generate backing field for delegated property with a setter 2015-03-05 19:04:18 +03:00
Dmitry Jemerov 48b0afd84d correctly generate safe casts from Unit type
#KT-4494 fixed
2015-03-05 11:59:23 +01:00
Dmitry Jemerov 2835459920 correctly generate 'in' expressions with IntRange on RHS and a type other than Int on LHS 2015-03-05 11:33:24 +01:00
Dmitry Jemerov 1188be9070 generate correct bytecode for constructors using infix call syntax
#KT-4589 Fixed
2015-03-05 11:26:27 +01:00
Nikolay Krasko 30a50746b5 Intrinsic default objects implementation: tests 2015-03-05 01:30:38 +03:00
Dmitry Jemerov e60aafb18a regression test for KT-3421 2015-03-04 17:43:38 +01:00
Dmitry Jemerov 46e0fdc067 regression test for KT-3442 2015-03-04 17:41:27 +01:00
Dmitry Jemerov 7522eb4032 regression test for KT-3903 2015-03-04 17:32:40 +01:00
Dmitry Jemerov 18e54322b8 regression test for KT-4281 2015-03-04 17:27:55 +01:00
Dmitry Jemerov a2e22c6d20 regression test for KT-3107 2015-03-04 17:24:58 +01:00
Pavel V. Talanov ffabe19229 Prohibit accessing nested classes/objects of class object using class literal
The fqname of class should be clear from code
Example: can't shorten A.Default.B.Default.C to A.B.C
Also fixes problem when nested class of enum class could be accessed via enum entry
2015-03-03 13:04:29 +03:00
Pavel V. Talanov cceb5738c8 Can't omit default object name in imports and types
There should be only one way to denote a type (A.Default.B can't be denoted as A.B)
2015-03-03 13:04:28 +03:00
Alexander Udalov 2c0830b017 Change synthetic accessor method names to "access$..."
As per discussion in https://youtrack.jetbrains.com/issue/KT-6870
2015-02-27 20:30:51 +03:00
Yan Zhulanow fa62d3bcec Move Android compiler plugin tests to android-compiler-plugin module 2015-02-26 15:25:48 +03:00
Mikhail Mutcianko bf25dffb85 add android bytecode persistence test 2015-02-26 15:25:37 +03:00
Mikhail Mutcianko 08245ffe1c add android properties box tests 2015-02-26 15:25:31 +03:00
dedoz f2ab424c41 add generated tests 2015-02-26 15:25:31 +03:00
Alexander Udalov 6f0ccbfab8 Reuse class loader for kotlin-runtime.jar in codegen tests
Also delete questionable ClassPathInParentClassLoaderTest
2015-02-25 20:13:47 +03:00
Pavel V. Talanov 96e54b4872 Test accessing class object from java 2015-02-16 15:38:45 +03:00
Pavel V. Talanov 7b837e2631 Updata test data: txt files for diagnostics tests 2015-02-16 15:38:36 +03:00
Pavel V. Talanov a1f4c06a49 Update test data that mentioned old JvmAbi constants 2015-02-16 15:38:34 +03:00
Pavel V. Talanov 894c3bceac Test: add jvm backend test for named class object 2015-02-16 15:38:29 +03:00
Alexander Udalov 9b28e19551 Use CodegenContext to determine outer class & enclosing method 2015-02-11 18:10:49 +03:00
Alexander Udalov c417d984c4 Minor, move tests under common directory 2015-02-11 18:10:46 +03:00
Alexander Udalov 32c371dd41 Minor, uncomment previously failing checks
#KT-5092 Fixed
2015-02-11 18:10:44 +03:00
Alexander Udalov e7a744b315 Make JetTypeMapper aware of SAM constructor arguments
This obsoletes 'replaceName' workaround that was present in ClosureCodegen but
missing in other crucial call sites of mapSignature, e.g. generation of
EnclosingMethod info

 #KT-6691 Fixed
2015-02-11 18:10:41 +03:00
Alexander Udalov a280599969 Fix wrong checkcast for === on objects
#KT-6747 Fixed
2015-02-11 18:10:35 +03:00
Alexander Udalov 5c2d0c6173 Generate not-null assertions on extension receiver parameters 2015-02-03 21:40:39 +03:00
Dmitry Jemerov 6442b61db8 Don't generate redundant initializers for 'var' properties.
Since only 'val' properties store initializers as compile time constants in descriptors, we need to take the initializer expression from the PSI and try to evaluate it as a constant.

 #KT-6661 fixed
2015-01-30 14:05:25 +01:00
Alexander Udalov ae6ffeb88a Skip inlined lambdas when determining EnclosingMethod
#KT-6368 Fixed
2015-01-20 21:02:57 +03:00
Alexander Udalov baea660a0b Rewrite hack in codegen for lambdas in anonymous object super calls
Synthetic ClassDescriptor created in codegen for lambdas and such should have
correct container, because it'll be used in generation of InnerClasses
2015-01-16 21:48:57 +03:00
Denis Zharkov 6f94ebb9d6 Refined redundant null check optimization 2015-01-15 15:13:05 +03:00
Denis Zharkov 5675d2b26b Dead code elimination
#KT-6602 Fixed
 #KT-6305 Fixed
 #KT-5656 Fixed
2015-01-15 15:13:05 +03:00
Alexander Udalov 76d11330ee Fix === comparison for primitive types
#KT-6590 Fixed
2015-01-13 17:40:21 +03:00
Alexander Udalov f3b2193afd Delete traces of "jet" in test data and unimportant code 2015-01-13 15:02:16 +03:00
Alexander Udalov 2b8c358614 Minor, drop irrelevant package from test data comment 2015-01-11 05:09:03 +03:00
Alexander Udalov 7f90dc3934 Regenerate tests 2015-01-03 00:20:28 +03:00
Alexander Udalov 6cd6704bcf Remove obsolete codegen test data 2014-12-29 19:32:09 +03:00
Alexander Udalov 11dfdfc123 Minor, add test for obsolete issue
#KT-4228 Obsolete
2014-12-26 22:52:39 +03:00
Michael Nedzelsky eded72d633 fix KT-6192: VerifyError when using spreads with primitive arrays
#KT-6192 Fixed
2014-12-25 22:07:24 +03:00
Michael Bogdanov 9e864f3c36 Fix java visibility publicity
#KT-6478 Fixed
2014-12-23 16:28:44 +03:00
Andrey Breslav 6728a384e4 KT-4881 Annotation resolved to package should be compile-time error
#KT-4881 Fixed
2014-12-23 15:18:47 +03:00
Denis Zharkov 04e560bc74 Get reified signature from JetTypeMapper
#KT-6485 Fixed
2014-12-18 21:12:52 +03:00