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
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
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
Nikolay Krasko
30a50746b5
Intrinsic default objects implementation: tests
2015-03-05 01:30:38 +03:00
Dmitry Jemerov
46e0fdc067
regression test for KT-3442
2015-03-04 17:41:27 +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
Pavel V. Talanov
a1f4c06a49
Update test data that mentioned old JvmAbi constants
2015-02-16 15:38:34 +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
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
5675d2b26b
Dead code elimination
...
#KT-6602 Fixed
#KT-6305 Fixed
#KT-5656 Fixed
2015-01-15 15:13:05 +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
7f90dc3934
Regenerate tests
2015-01-03 00:20:28 +03:00
Denis Zharkov
04e560bc74
Get reified signature from JetTypeMapper
...
#KT-6485 Fixed
2014-12-18 21:12:52 +03:00
Andrey Breslav
120c344f11
Fix access to private static native functions
2014-12-16 16:23:35 +03:00
Andrey Breslav
6916c0f5cc
Test for native property accessors
2014-12-16 16:23:34 +03:00
Andrey Breslav
6596c6d943
Support native top-level functions
2014-12-16 16:23:33 +03:00
Andrey Breslav
56216c4bd8
Test for function with default parameters marked native
2014-12-16 16:23:32 +03:00
Andrey Breslav
a94a1f8a6f
Report error on native declaration with a body
2014-12-16 16:23:30 +03:00
Andrey Breslav
27d403ee23
Make native class object members delegate to static methods in the outer class
2014-12-16 16:23:28 +03:00
Andrey Breslav
d20651b881
Support native on [platformStatic] functions
2014-12-16 15:17:33 +03:00
Andrey Breslav
cba6652c05
Simplistic support for native flag
2014-12-16 15:17:33 +03:00
Denis Zharkov
c6d6aebd2f
Added tests for stdlib Array constructors
2014-12-11 16:04:04 +03:00
Denis Zharkov
654411a0b0
Refactored tests using Array constructor:
...
Some moved to tests with stdlib
Some changed to use arrayOfNulls
2014-12-11 16:04:03 +03:00
Denis Zharkov
9910f7cfbd
Added test demonstrating usage of reified TP for dependency injection
2014-12-08 21:30:54 +03:00
Michael Bogdanov
328dedc415
Fix for KT-6383: Can't access a private static member of class object
...
#KT-6383 Fixed
2014-12-03 15:49:20 +03:00
Stanislav Erokhin
b2774a9cd0
Fix classpath test for openjdk
2014-12-02 13:47:48 +03:00
Alexander Udalov
4d95bcfc7e
Rename CharSequence.get to charAt
...
This is done for JVM interoperability. There's still a member function
String.get() and an extension function "get" on CharSequence
#KT-1730 Fixed
#KT-5389 Fixed
2014-11-27 20:38:18 +03:00
Denis Zharkov
3b2d0b88f3
Supported nested reified parameter declarations
...
Also switched to using type names as identifiers instead of their
indices
2014-11-27 15:15:04 +04:00
Denis Zharkov
080610c208
Wrap parentCodegen before generating from inline
2014-11-27 14:58:04 +04:00
Michael Bogdanov
e2826a47e1
Remove "operation" method from StackValue.kt;
...
Compilation fix: remove static import to kotlin from AsmUtil
2014-11-21 13:59:44 +03:00
Michael Bogdanov
3a70992d27
Lazy intrinsic generation
...
#KT-6241 Fixed
2014-11-21 13:59:43 +03:00
Michael Bogdanov
ec649e83c3
Don't skip receiver with side effects on static calls
...
#KT-6278 Fixed
2014-11-20 10:20:33 +03:00
Michael Bogdanov
5a8944085a
Fix default property setter generation
2014-11-20 10:20:32 +03:00
Michael Bogdanov
2cc9d8e29b
Support platformStatic for properties
...
#KT-5766 Fixed
2014-11-20 10:20:31 +03:00
Michael Bogdanov
855bf772ca
Prefix inc refactoring
2014-11-20 10:20:12 +03:00
Michael Bogdanov
c7b1c0fe52
Store refactoring
...
#KT-1213 Fixed
2014-11-20 10:20:11 +03:00
Stanislav Erokhin
65c9ea2465
Fix variance problems.
2014-11-17 17:45:05 +03:00
Alexander Udalov
93696ff9bd
Make Array.indices extension property, move to stdlib
...
This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
2014-11-17 15:20:44 +03:00
Alexander Udalov
128c938965
Make Array.size() a function instead of a property
...
Also add a deprecated extension property to help migration. This is done to
unify getting size of arrays and collections
2014-11-17 15:02:38 +03:00
Denis Zharkov
a8ca39754c
Supported creating varargs of reified type parameter
2014-11-13 20:56:10 +03:00