Pavel V. Talanov
8496c535aa
Replace ModuleDescriptorImpl implementation
...
Change the way modules are configured:
Add dependencies on other modules instead of adding additional package fragment providers
Refactor related code
Drop DependencyKind
Hide common new module creation in CliLightClassGenerationSupport
2014-07-31 21:25:49 +04:00
Alexander Udalov
de0f751207
Replace object$ -> OBJECT$, instance$ -> INSTANCE$ in the project
2014-07-26 00:21:05 +04:00
Evgeny Gerashchenko
7e6b05554e
Always closing IncrementalCache after using. Fixed KannotatorJpsTest.
2014-07-22 21:18:16 +04:00
Alexander Udalov
540b87a1dc
Support object array annotation arguments in deserialization
2014-07-19 02:13:26 +04:00
Alexander Udalov
65c21561a4
Fix super constructor calls of anonymous objects and local classes
...
If a class inherits from another class which captures something (outer class
instance, receiver parameter, local variables, etc.), the constructor of the
former class should contain all the parameters of the super constructor as its
own parameters, so that it could make a proper super call. All such parameters
are now replicated in the derived constructor with kind = SUPER_CALL_PARAM,
except an instance of the outer class (kind = OUTER), which can be taken from
the derived's own OUTER when it has one, to prevent multiple passing of the
same argument.
Previously it worked only when inheriting from inner classes via a special hack
(ConstructorFrameMap).
Also reuse recently introduced ArgumentGenerator to automatically take care of
default and vararg arguments of super constructor
#KT-3581 Fixed
#KT-5342 Fixed
#KT-5343 Fixed
2014-07-18 16:26:46 +04:00
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