Denis Zharkov
525ddf9eb0
Prevent circular secondary constructors delegation
2015-03-11 17:45:24 +03:00
Denis Zharkov
7f20c4a237
Control flow changes for secondary constructors
2015-03-11 17:45:24 +03:00
Denis Zharkov
61ae694be4
Allow return statements in secondary constructors
2015-03-11 17:45:24 +03:00
Denis Zharkov
80e13d3f70
Allow class initializer without primary constructor
2015-03-11 17:45:23 +03:00
Denis Zharkov
3509cafcea
Allow no super class initialization within header
...
if there is no primary constructor
2015-03-11 17:45:23 +03:00
Denis Zharkov
1555eec954
Secondary constructors delegation calls and body resolve
2015-03-11 17:45:23 +03:00
Denis Zharkov
b2cecf1dd0
Secondary constructors resolve
2015-03-11 17:45:23 +03:00
Denis Zharkov
3ba94d7352
Parsing: secondary constructors
2015-03-11 17:45:22 +03:00
Denis Zharkov
a55e8911ea
Drop parsing of enum initializers using `this'
...
#KT-6626 Fixed
2015-03-11 17:45:22 +03:00
Alexander Udalov
dc4dfbeec1
Fix generic class literals, substitute type parameters with stars
2015-03-11 16:42:47 +03:00
Alexander Udalov
6468515d99
Report error when LHS of class literal is not a class
2015-03-11 16:42:45 +03:00
Alexander Udalov
b93b9bd565
Support KClass.simpleName and built-in class literals
2015-03-11 16:42:43 +03:00
Alexander Udalov
6e45c6f17c
Support class literals (A::class)
2015-03-11 16:42:41 +03:00
Alexander Udalov
b3cdd818f0
Support member extension properties, implement KClass.getExtensionProperties()
...
#KT-6570 Fixed
2015-03-11 16:42:38 +03:00
Alexander Udalov
da209e673c
Implement KClass.getProperties()
...
#KT-6570 In Progress
2015-03-11 16:42:37 +03:00
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
e95d22dcfe
Refactor ReflectJavaConstructor.getValueParameters()
...
See https://youtrack.jetbrains.com/issue/KT-6886 for more information
2015-03-11 16:42:25 +03:00
Alexander Udalov
1054f004aa
Load annotations on constructors and parameters of Kotlin reflected classes
2015-03-11 16:42:24 +03:00
Alexander Udalov
4fb420f3f1
Fix deserialization of enum annotation arguments at runtime
2015-03-11 16:42:23 +03:00
Alexander Udalov
a14b301f31
Resolve annotations on all reflected elements
...
Annotation in NestedEnumArgument test is made public, because we try to load
annotation argument values eagerly and fail, since you can't invoke methods
reflectively on an object of a non-effectively-public class
2015-03-11 16:42:19 +03:00
Alexander Udalov
c90f11b7e6
Support Java symbols in runtime descriptor loading
2015-03-11 16:42:18 +03:00
Alexander Udalov
73e4287aee
Initial support of annotation loading at runtime
...
In order to locate an annotated entity, we need to implement almost the whole
Java element model (which will be used anyway for Java descriptor loading)
2015-03-11 16:42:17 +03:00
Dmitry Jemerov
07381b765f
rename Numbers.kt to Primitives.kt as it now contains Char which is not a number
2015-03-11 12:40:39 +01:00
Pavel V. Talanov
581e163031
Report warning on 'class object'
2015-03-10 18:21:32 +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
Alexander Udalov
ca8831097f
Resolve annotations on Java constructors
...
Also add tests on custom annotations on fields and methods
2015-03-07 02:32:14 +03:00
Andrey Breslav
d466533ef2
Missing test added
2015-03-06 21:59:03 +03:00
Dmitry Jemerov
46dbf005df
update testdata for the newly appeared Double.mod(Char) method
2015-03-06 18:02:13 +01:00
Pavel V. Talanov
5540f09751
Report default object specific diagnostics on 'default' modifier
2015-03-06 19:37:02 +03:00
Pavel V. Talanov
012d25dbca
Add test for soon to be deprecated 'class object' syntax
2015-03-06 19:37:00 +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
28ed30bcb3
change KDoc parsing so that space after parameter/section name is not included in tag content; support @property tag in KDocFinder
2015-03-06 16:13:11 +01:00
Alexey Sedunov
2684ce20d4
Parser: Do not produce qualified expressions without receiver in package directives. Add assertion on JetQualifiedExpression
...
#KT-6907 Fixed
2015-03-06 14:37:22 +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
Pavel V. Talanov
913724f0e9
Allow default object to be denoted with 'default' modifier
...
Report 'default' modifier in illegal positions
2015-03-06 12:41:50 +03:00
Pavel V. Talanov
2b51e4f2d4
Add 'default' keyword
...
Parser: allow objects that are marked as default to have no name
2015-03-06 12:41:38 +03:00
Pavel V. Talanov
0ca2f3f336
Minor: prevent rare case when soft keyword was parsed as enum entry
2015-03-06 12:41:34 +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
b4eb3e0f43
add test for visibility of setter for delegated property (KT-5957)
2015-03-05 19:04:18 +03:00
Dmitry Jemerov
e9266481c5
allow delegated properties to have getters and setters without bodies
2015-03-05 19:04:17 +03:00
Evgeny Gerashchenko
af7eba64f7
Disallow PropertyMetadataImpl in conventions for delegated properties
2015-03-05 18:42:17 +03:00
Evgeny Gerashchenko
056daeaadb
Don't mark parameters of get/set/propertyDelegated functions as unused.
...
#KT-5974 fixed
2015-03-05 18:42:16 +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
Pavel V. Talanov
afe8773e41
Minor: rename OVERRIDE_CANNOT_BE_STATIC and improve message
2015-03-05 13:06:00 +03:00
Nikolay Krasko
518c35fae1
Intrinsic default objects implementation: old test data modification
2015-03-05 01:30:39 +03:00