Commit Graph

3140 Commits

Author SHA1 Message Date
Alexander Udalov b85a672052 Minor, combine ENUM_NAME and ENUM_ORDINAL parameter kinds 2014-07-18 16:26:42 +04:00
Pavel V. Talanov 7269e383cf Rewrite JetPsiFactory to kotlin, make project a property
Instead of passing to every function
All static methods are now member functions
2014-07-15 16:41:12 +04:00
Pavel V. Talanov ab07aea82f Fix an NPE in VirtualFileKotlinClassFinder#findKotlinClass(JavaClass)
Happens for nonphysical PsiClass
2014-07-10 14:08:14 +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
Svetlana Isakova 02f5293b3d Added CallCompleter component
Regenerated injectors
2014-07-08 14:48:15 +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
Pavel V. Talanov 0f5de48157 Drop JetFilesProvider service 2014-07-03 20:46:51 +04:00
Pavel V. Talanov 0a43c38bae Change AnalyzerFacade#createSetup to accept a list of synthetic files and a scope for physical source files
Make DeclarationProviderFactory a project service
2014-07-03 20:46:50 +04:00
Pavel V. Talanov 9b5f349e61 Drop JetFilesProvider#allPackageFiles() and sampleToAllFilesInModule() 2014-07-03 20:46:47 +04:00
Pavel V. Talanov b2c3a7d501 Rename: DescriptorDeserializersStorage -> DescriptorLoadersStorage 2014-07-03 20:46:45 +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 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