Commit Graph

399 Commits

Author SHA1 Message Date
Alexander Udalov de0f751207 Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project 2014-07-26 00:21:05 +04:00
Alexander Udalov 93fa7cb330 Increase ABI version
Related changes include:
- kotlin.Unit is now a named object
- "instance$" was renamed to "INSTANCE$"
- "object$" was renamed to "OBJECT$"
- Intrinsics#stupidSync() was dropped
2014-07-25 21:34:12 +04:00
Alexander Udalov fb958897a9 Introduce kotlin.Cloneable
- Cloneable is a trait with a single protected member 'clone', which is mapped
  to java.lang.Cloneable on JVM
- 'clone' is non-abstract to be able to call 'super.clone()' in the
  implementations. Also if you need your class to be Cloneable, most of the
  time inheriting from Cloneable and calling 'super.clone()' will work
- hack 'super.clone()' in JVM intrinsics and TImpl delegation generation
- make arrays Cloneable, handle 'clone()' calls in the intrinsic

 #KT-4890 Fixed
2014-07-25 21:19:39 +04:00
Alexander Udalov a79398fa00 Don't load Object as a supertype for Java classes
#KT-4890 In Progress
 #KT-5002 Fixed
2014-07-25 21:19:37 +04:00
Alexander Udalov 485f63e1cd Rename object$ -> OBJECT$, instance$ -> INSTANCE$
According to Java code conventions, public static final constants should be
named with all capital letters
2014-07-25 21:15:13 +04:00
Zalim Bashorov a811de9bbd Minor: Unit.VALUE -> Unit in Java code. 2014-07-25 21:03:10 +04:00
Alexander Udalov 540b87a1dc Support object array annotation arguments in deserialization 2014-07-19 02:13:26 +04:00
Denis Zharkov d604b5de79 Added wrappers classes names to JvmPrimitiveType 2014-07-15 21:23:51 +04:00
Pavel V. Talanov 8523e18afc Set source elements for java annotation parameters 2014-07-09 18:19:40 +04:00
Pavel V. Talanov 930ea88e25 Set source elements for java enum entries
#KT-4277 Fixed
2014-07-09 18:19:39 +04:00
Pavel V. Talanov 4188bbe53c Set source elements for java parameters 2014-07-09 18:19:38 +04:00
Pavel V. Talanov 8b91855fac Drop SynthesizedCallableMemberDescriptor 2014-07-09 18:19:37 +04:00
Pavel V. Talanov 59e43020c3 Initial version of storing SourceElements in descriptors
Introduce SourceElement, JavaSourceElementFactory, DeclarationDescriptorWithSource
Implement getSource() for eager, lazy and java descriptors
2014-07-09 18:19:34 +04:00
Andrey Breslav e3b1639edf KT-5425 Kotlin plugin crashes when project uses RxJava 17.0 or older
#KT-5425 Fixed
2014-07-09 16:10:41 +04:00
Alexander Udalov b9fd52739f Move around some descriptor implementations
- mutable class, mutable package fragment and their dependencies go to module
  'frontend'
- ModuleDescriptorImpl and PackageFragmentDescriptorImpl are moved to the
  package "impl" in their module
2014-07-07 18:15:31 +04:00
Alexander Udalov de21f76e10 Introduce EnumClassObjectDescriptor
Extract the duplicate logic in deserialization and descriptor.loader.java
2014-07-07 18:15:27 +04:00
Evgeny Gerashchenko 6501066274 Added hacky checks for accessing compiled functions from our module via package part instead of facade.
#KT-4590 fixed
2014-07-07 17:41:34 +04:00
Pavel V. Talanov b2c3a7d501 Rename: DescriptorDeserializersStorage -> DescriptorLoadersStorage 2014-07-03 20:46:45 +04:00
Pavel V. Talanov b08cda8dd6 Avoid recomputing ClassData in DeserializedDescriptorResolver 2014-07-03 20:46:44 +04:00
Pavel V. Talanov e7d6ea6be5 Remove hack in JavaClassDataFinder 2014-07-03 20:46:43 +04:00
Pavel V. Talanov 123523d1dc Drop ClassDataFinder#getClassNames() 2014-07-03 20:46:42 +04:00
Pavel V. Talanov 0c8956a36e Refactor: DescriptorFinder -> ClassDataFinder
Deserialization subsystem only need to know about the way to obtain class data, it can construct descriptors itself (no need to call DeserializedClassDescriptor constructor from other modules)
2014-07-03 20:46:41 +04:00
Pavel V. Talanov 53337f793b Move caching of deserialized classes to new component ClassDeserializer
Drop AbstractDescriptorFinder
2014-07-03 20:46:40 +04:00
Pavel V. Talanov 55ae3cab19 Drop DependencyClassByQualifiedNameResolver and implementation 2014-07-03 20:46:37 +04:00
Pavel V. Talanov 245919d691 Use module to resolve annotation classes in AnnotationDescriptorLoader 2014-07-03 20:46:36 +04:00
Pavel V. Talanov 6c153a9ce2 Resolve classes in Deserialization locally
Temporary hacky solution
2014-07-03 20:46:34 +04:00
Pavel V. Talanov 7ee7047753 Deserializer: use module to search for dependencies in TypeDeserializer 2014-07-03 20:46:33 +04:00
Pavel V. Talanov a66353dbc4 JavaDescriptorFinder#getClassNames() returns empty list
All classes are included in JavaPackageFragmentScopeForJavaPackageFragment  anyway
2014-07-03 20:46:32 +04:00
Alexander Udalov c0fc5cfb53 Disallow named arguments for SAM adapters
SAM adapters are Java functions, and named arguments are not allowed for Java
functions

 #KT-5022 Fixed
2014-07-02 20:35:31 +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 ac8eb0f5e8 Add PackageClassUtils.getPackageClassInternalName() 2014-06-26 20:57:39 +04:00
Alexander Udalov e31f2cfa23 Make protected static visibility reach members in the same package 2014-06-26 20:57:39 +04:00
Evgeny Gerashchenko bf442a9700 Fixed loading integral constants from compiled classes. 2014-06-24 22:18:13 +04:00
zarechenskiy 0355b1bd53 Implement JavaTypeSubstitutor without PSI 2014-06-24 20:06:13 +04:00
Andrey Breslav cd28b216c1 Rename. INSTANCE -> DEFAULT in JetTypeChecker 2014-06-24 19:13:01 +04:00
Andrey Breslav d2ce6f5787 Safe identifier for the case of no name in PSI moved to 'descriptors' module, to be used in 'descriptor.loader.java' 2014-06-19 22:10:52 +04:00
Evgeny Gerashchenko aa41ae09ed Merge remote-tracking branch 'origin/master' into incremental 2014-06-19 11:43:59 +04:00
Evgeny Gerashchenko 06cafe7f12 Replaced passing MemberFilter to constructor with method overriding. 2014-06-19 01:03:58 +04:00
Evgeny Gerashchenko a82849f289 Removed member filter from injectors. 2014-06-18 22:56:33 +04:00
Evgeny Gerashchenko 7fdd4a339e KT-5087 Private members of Java classes should be marked as invisible, not unresolved
#KT-5087 fixed
2014-06-18 19:52:15 +04:00
Pavel V. Talanov f8e5fa1b2f Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader 2014-06-17 18:19:04 +04:00
Pavel V. Talanov b9b0bba7a0 Refactor: Introduce contexts in deserialization subsystem
Rewrite utilities to Kotlin and move them out of DescriptorDeserializer
Include DescriptorDeserializer into context
Use new context in injectors
Drop Deserializers abstraction
2014-06-17 18:18:57 +04:00
Pavel V. Talanov 8d2038ec1a Minor: Implement LazyJavaResolverContext.resolveTopLevelClassInModule using ModuleDescriptor.resolveTopLevelClass 2014-06-11 21:22:27 +04:00
Pavel V. Talanov 083c527f52 Drop JavaDescriptorResolver#getPackageFragment 2014-06-11 21:22:22 +04:00
Pavel V. Talanov 5ce8f4b892 JDR, minor: clarifying comment 2014-06-06 17:15:43 +04:00
Pavel V. Talanov 7d9742417f JDR: Remove LazyJavaClassResolver#resolveClassByFqName() 2014-06-05 18:17:07 +04:00
Pavel V. Talanov 53df12598d JDR: Eliminate another usage of LazyJavaClassResolver#resolveClassByFqName()
Refactor Java scopes:
Use abstract functions instead of "is" checks in LazyJavaMemberScope
Move some code to derived classes
2014-06-05 18:17:07 +04:00
Pavel V. Talanov b69ab12db7 JDR: Use module to resolve special classes 2014-06-05 18:17:06 +04:00
Pavel V. Talanov ccae693ed2 JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor 2014-06-05 18:17:05 +04:00
Alexander Udalov d78d4bc44c Disallow extension properties with backing fields
#KT-1682 Fixed
2014-05-29 21:24:05 +04:00