Commit Graph

2877 Commits

Author SHA1 Message Date
Pavel V. Talanov 245919d691 Use module to resolve annotation classes in AnnotationDescriptorLoader 2014-07-03 20:46:36 +04:00
Pavel V. Talanov 7ee7047753 Deserializer: use module to search for dependencies in TypeDeserializer 2014-07-03 20:46:33 +04:00
Nikolay Krasko 465dd45eae Merge remote-tracking branch 'origin/master' into idea14 2014-07-02 09:21:40 +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 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 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
Nikolay Krasko e7a1cba1eb Merge remote-tracking branch 'origin/master' into idea14
Conflicts:
	update_dependencies.xml
2014-06-27 14:44:05 +04:00
Alexander Udalov eb11a7dc88 Move utilities out of runtime modules
DescriptorUtils & DescriptorSubstitutor contained a lot of utilities that were
used only in compiler & IDE. Move them closer to their usages
2014-06-26 22:02:59 +04:00
Nikolay Krasko a0e45e9a12 Merge master into idea14
Conflicts:
	.idea/runConfigurations/All_Tests.xml
	idea/src/org/jetbrains/jet/plugin/conversion/copy/ConvertJavaCopyPastePostProcessor.kt
	idea/tests/org/jetbrains/jet/plugin/refactoring/introduce/introduceVariable/AbstractJetExtractionTest.kt
	idea/tests/org/jetbrains/jet/shortenRefs/AbstractShortenRefsTest.kt
2014-06-25 16:26:01 +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
Nikolay Krasko b09788c626 Idea 138: Avoid using auto-generated parameters names in Kotlin 2014-06-20 17:14:32 +04:00
Andrey Breslav f229301a0f More informative diagnostic messages for ACCIDENTAL_OVERRIDES and CONFLICTING_JVM_DECLARATIONS
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav 27f76630e6 ACCIDENTAL_OVERRIDE diagnostics supported
#KT-1 In Progress
2014-06-19 22:10:55 +04:00
Andrey Breslav 41d66281ee JvmDeclarationOrigin moved to frontend.java 2014-06-19 22:10:49 +04:00
Andrey Breslav 38333d6cea CONFLICTING_PLATFORM_DECLARATIONS moved to a JVM-specific class 2014-06-19 22:10:48 +04:00
Evgeny Gerashchenko cea272fb39 Moved getPackageFilesWithCallables to frontend.java and reused it. 2014-06-19 17:54:33 +04:00
Evgeny Gerashchenko 6fb65fa2d4 Minor. Removed unused code. 2014-06-19 14:47:44 +04:00
Evgeny Gerashchenko f927751ee3 Minor. Inlined method with only one call site. 2014-06-19 14:42:59 +04:00
Evgeny Gerashchenko 92849dda3b Serializing incremental package fragment from our module instead of random one. 2014-06-19 13:41:27 +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 04f7ad450f Simplified interface of IncrementalCache (depending on JDK only). 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko 07365dca1d Extracted interface and moved implementation of IncrementalCache to jps-plugin, accessing cache via Java service loader. 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko 820bd911fb Supported cases of removing source files from package fragment. 2014-06-18 22:56:43 +04:00
Evgeny Gerashchenko b9f01a6397 Don't report package facade classes as output of sources without top-level members. 2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko e89b59a745 Checking for constants values in incremental compiler. 2014-06-18 22:56:37 +04:00
Evgeny Gerashchenko c4e167d7bc Checking for changes in class proto. 2014-06-18 22:56:36 +04:00
Evgeny Gerashchenko 018b58b51f Rebuild only if proto changed. 2014-06-18 22:56:35 +04:00
Evgeny Gerashchenko a82849f289 Removed member filter from injectors. 2014-06-18 22:56:33 +04:00
Evgeny Gerashchenko ca1ee69e4c Loading descriptors from incremental cache instead of package classes. 2014-06-18 22:56:33 +04:00
Andrey Breslav f2bc26888c Add "kotlin.jvm" to default imports on JVM 2014-06-18 10:55:56 +04:00
Pavel V. Talanov f8e5fa1b2f Rename: AnnotationDeserializer, ConstantDeserializer -> *Loader 2014-06-17 18:19:04 +04:00
Pavel V. Talanov 2673510e8b Minor: do not access static method of ScriptHeaderResolver through instance
Clean up after 024ed5a236
2014-06-17 18:19:00 +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
Evgeny Gerashchenko 381e8bb205 Extracted PackagePartClassUtils. 2014-06-16 23:30:24 +04:00
Pavel V. Talanov 024ed5a236 Drop JetTypeName and related code 2014-06-11 21:22:28 +04:00
Pavel V. Talanov ccae693ed2 JDR: Remove some usages of JavaClassResolver#resolveClassByFqName in LazyJavaAnnotationDescriptor 2014-06-05 18:17:05 +04:00
Andrey Breslav f54e2bc498 OverridingUtil turned into a singleton 2014-06-02 22:05:30 +04:00
Nikolay Krasko 848863ef93 Completion fails with exception "Toplevel class has no fqName" (KT-5119)
Groovy scripts files can create PsiClasses with null qualfied names (getQualifiedName()) and names (getName()).

 #KT-5119 Fixed
2014-06-02 20:36:42 +04:00
Pavel V. Talanov a61ab440d7 Extract JetProperty#hasInitializer() and use it where appropriate 2014-05-21 15:39:45 +04:00
Andrey Breslav 773cb9efbe Signature comparison used to find super functions in SignaturesPropagationData
#KT-4509 Fixed
2014-05-21 15:26:05 +04:00
Andrey Breslav 44849f8504 Move JvmMethodSignature to frontend.java 2014-05-21 15:26:04 +04:00
Alexander Udalov 9503056dd5 Add default import "kotlin.reflect" 2014-05-19 19:50:57 +04:00
Andrey Breslav 291741754b Guard loading top-level classes with a check that they are not Kotlin binaries 2014-05-14 17:15:01 +04:00
Andrey Breslav 3a9f577d1d All bounds may be specified in 'where' clause
Exception fixed in AlternativeMethodSignatureData
2014-05-13 20:19:43 +04:00