Andrey Breslav
6e1047685c
Fix EA-57538 - assert: IDELightClassGenerationSupport.getContextForPackage
2014-07-02 19:48:09 +04:00
Alexander Udalov
a78458b1d0
Update ReadMe after switching to IDEA 14
2014-07-02 19:10:31 +04:00
Andrey Breslav
3042846a20
Fix update_dependencies.xml on mac
2014-07-02 18:53:07 +04:00
Natalia Ukhorskaya
09e8d0dd66
Gradle plugin: unable to build project in multi flavor environment with gradle 0.11+
...
#KT-5348 Fixed
2014-07-02 14:17:50 +04:00
Andrey Breslav
1d45d20099
Change inspections' level to "WEAK WARNING" + disable "Explicit 'get'" by default
2014-07-02 14:02:47 +04:00
Nikolay Krasko
465dd45eae
Merge remote-tracking branch 'origin/master' into idea14
2014-07-02 09:21:40 +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
a84d528325
Improve performance of $kotlinClass field initializer
...
Don't load annotations reflectively in each class' <clinit>
2014-07-02 01:55:56 +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
f459005fe7
Fix GeneratedClassLoader so that it loads Package instances
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
Alexander Udalov
d32a02f21a
Modify top-level/extension property hierarchy
...
- rename KTopLevelProperty to KTopLevelVariable
- create KTopLevelExtensionProperty, a subclass of KExtensionProperty
- create KTopLevelProperty, a superclass of KTopLevelVariable and
KTopLevelExtensionProperty. (In the future, it will have a container of type
KPackage.)
2014-07-02 01:55:53 +04:00
Alexander Udalov
f73b8b9ff8
Extract KForeignMemberProperty out of KMemberPropertyImpl
...
KClassImpl is now able to create a property by the name, according to its
origin
2014-07-02 01:55:52 +04:00
Alexander Udalov
9c5596cddb
Expose Java reflection objects out of Kotlin ones
2014-07-02 01:55:52 +04:00
Alexander Udalov
1ad037f621
Fix KClassOrigin for non-Kotlin classes
...
Check against presence of KotlinClass annotation
2014-07-02 01:55:21 +04:00
Alexander Udalov
8b619eceed
Make KMemberProperty's T parameter have a non-null bound
2014-07-02 01:26:25 +04:00
Alexander Udalov
7cbbeb257e
Add NotNull annotations to HashPMap
2014-07-02 01:26:25 +04:00
Alexander Udalov
e60428b540
Improve performance of foreignKClasses, add comments
2014-07-02 01:26:24 +04:00
Alexander Udalov
0fa6b40731
Make intermediate *Impl properties traits, not classes
...
Otherwise multiple inheritance of classes would be needed to make
implementations inherit correctly for mutable properties
2014-07-02 01:26:24 +04:00
Alexander Udalov
ef7fbe55cf
Make KClass instances weak in foreignKClasses
2014-07-02 01:26:24 +04:00
Alexander Udalov
a86cfdc5de
Add some simple tests on HashPMap
2014-07-02 01:26:23 +04:00
Alexander Udalov
47b08af66c
Inline HashPMap entry's getter methods
2014-07-02 01:26:23 +04:00
Alexander Udalov
b00022ef1c
Add JetBrains license to HashPMap, remove obsolete author tags and javadocs
2014-07-02 01:26:23 +04:00
Alexander Udalov
41aa12d249
Remove unneeded dependency on ListIterator in ConsPStack
2014-07-02 01:26:22 +04:00
Alexander Udalov
862a785c11
Use pcollections' HashPMap instead of ConcurrentHashMap in reflection
2014-07-02 01:26:22 +04:00
Alexander Udalov
fca9a0bca2
Delete unneeded interface dependencies of HashPMap
...
To reduce class count and to avoid unneeded invokeinterface's
2014-07-02 01:26:22 +04:00
Alexander Udalov
d83df541b7
Remove unneeded code and beautify HashPMap and its dependencies
2014-07-02 01:26:21 +04:00
Alexander Udalov
58bc611e3a
Copy pcollections's HashPMap to kotlin/reflect/jvm/internal
...
It will be used for caching KClass instances for foreign (Java) classes
2014-07-02 01:26:21 +04:00
Alexander Udalov
89d6f25fb6
Fix initialization order of KClass field and class object fields
2014-07-02 01:26:21 +04:00
Alexander Udalov
c17f515d06
Construct reflection objects via static factory methods
...
JVM back-end now generates invocations of these methods instead of
KClass/K*Property/... constructors for two reasons:
1. It occupies less space in the bytecode
2. We can (to some degree) alter the implementation of the factory methods
without changing the ABI compatibility version
2014-07-02 01:26:20 +04:00
Alexander Udalov
e7f19c531a
Support 'accessible' for reflected properties on JVM
...
Calls Java reflection's isAccessible/setAccessible
2014-07-02 01:26:20 +04:00
Alexander Udalov
1275c84f92
Fail with IllegalAccessException on :: reference to private property
...
Instead of mysterious NoSuchMethodException
2014-07-02 01:26:20 +04:00
Alexander Udalov
a8e1de48b8
Support :: references to Java instance fields in codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
5ab83aad8a
Support references to extension properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
461cce103b
Support references to top level and member properties in JVM codegen
...
#KT-1183 In Progress
2014-07-02 01:26:19 +04:00
Alexander Udalov
59777e7df6
Generate "$kotlinClass"/"$kotlinPackage" reflection fields to every class
...
Some seemingly irrelevant tests were changed because now there's <clinit> in
almost every class and class initialization begins with executing it
2014-07-02 01:26:18 +04:00
Alexander Udalov
4ef089d2ed
Introduce KClass, KPackage and their JVM implementations
2014-07-02 01:26:18 +04:00
Alexander Udalov
aa4d6a4ea7
Support :: references to properties in frontend
...
#KT-1183 In Progress
2014-07-02 01:26:18 +04:00
Alexander Udalov
52dadfc264
Add test for obsolete issue
...
#KT-3311 Obsolete
2014-07-02 00:38:50 +04:00
Alexander Udalov
254a95ba1a
Improve non-null assertion messages
2014-07-02 00:38:50 +04:00
Alexander Udalov
d4c792d0ee
Fix errorlevel returned by kotlinc-*.bat scripts
...
Propagate errorlevel returned as an exit code from the compiler to the outside
world.
This may not work on Windows XP or earlier, but is required for Windows 7+
2014-07-02 00:38:49 +04:00
Nikolay Krasko
b92df2882c
Merge remote-tracking branch 'origin/master' into idea14
2014-07-01 20:06:09 +04:00
Natalia Ukhorskaya
47f4bbedda
Fix file separators in Codegen Tests on Windows
2014-07-01 12:17:01 +04:00
Nikolay Krasko
cab3161ad7
Add sdk field to Kotlin new project wizard step in Idea 14
...
#KT-5338 Fixed
2014-06-30 15:37:20 +04:00
Natalia Ukhorskaya
261ba0e364
Fix Android tests after renaming codegen tests with Java
2014-06-30 13:03:05 +04:00
Nikolay Krasko
3b02f0e422
Load default descriptor in debugger tests
2014-06-27 15:21:52 +04:00
Nikolay Krasko
d7474f2bc8
Update to idea 138.814 (EAP)
2014-06-27 15:15:28 +04:00