Commit Graph

2877 Commits

Author SHA1 Message Date
Pavel V. Talanov 4c57aa9f23 Generate Injectors: minor, remove redundant GenerateInjectors class 2014-02-14 16:47:23 +04:00
Pavel V. Talanov f8a8bbe9b0 Generate Injectors: add ability to specify that a field is a context
Context field's properties can injected into other components
Use it in GenerateInjectors.kt
2014-02-14 16:47:22 +04:00
Pavel V. Talanov 6c77ea91c5 Generate Injectors: simplify and remove redundancy 2014-02-14 16:47:21 +04:00
Pavel V. Talanov cd6a71ef81 Refactor JDR: add explicit binding between java classes and packages for their statics
Get rid of Kind in JavaPackageFragmentDescriptor and create subclass which exposes additional function
Add method in JavaClassDescriptor to get correponding package fragment
Remove JavaDescriptorResolver from context
2014-02-11 17:17:04 +04:00
Pavel V. Talanov 2fe2a50b14 Refactor JDR: use JavaResolverCache in LazyJavaPackageFragmentProvider directly
Remove LazyJavaClassResolverWithCache
This actually can affect behaviour because JavaResolverCache has slightly different logic (uses CLASS key in BindingContext as opposed to FQNAME_TO_CLASS_DESCRIPTOR)
2014-02-11 17:17:01 +04:00
Pavel V. Talanov 18d088cb71 Refactor JDR: create LazyJavaPackageFragmentProvider in injector 2014-02-11 17:17:00 +04:00
Andrey Breslav aa0dde3a78 Old implementation of JavaDescriptorResolver deleted 2014-02-05 18:12:01 +04:00
Andrey Breslav 9f918d48b5 JavaDescriptorResolver always uses lazy mode 2014-02-05 18:12:01 +04:00
Andrey Breslav 3d1f2c25e2 resolveCompileTimeConstantValue() rewritten to Kotlin 2014-02-05 18:07:35 +04:00
Andrey Breslav 6aca05023a OBJECT_FQ_NAME moved to DescriptorResolverUtils 2014-02-05 18:07:35 +04:00
Andrey Breslav ab3b8d63df ExternalAnnotationResolver is enough to look for external annotations 2014-02-05 18:07:35 +04:00
Andrey Breslav 30f49f3c9a Invalidate per-file cache on exceptions 2014-02-04 15:24:27 +04:00
Andrey Breslav e60bd514fa StorageManager&ExceptionTracker delivered where needed
- GlobalContext introduced to group the two
- Caches track exceptions
2014-02-04 15:24:27 +04:00
Andrey Breslav 364182e3f0 Unneeded public parameters made private 2014-02-04 15:23:15 +04:00
Nikolay Krasko f526129ca4 Refactoring: use injector for creating lazy resolve session 2014-02-04 12:31:38 +04:00
Nikolay Krasko 45be6b081d Minor: add public modifier 2014-02-04 12:31:36 +04:00
Alexander Udalov 877d9f2220 Update year to 2014 in generated files 2014-01-31 16:46:16 +04:00
Nikolay Krasko 7546a6dc41 Suppressing warnings + update copyright date 2014-01-31 14:52:13 +04:00
Andrey Breslav 7a6657d2e8 Resolve sessions use exception tracking from StorageManager 2014-01-30 21:03:53 +04:00
Andrey Breslav 26ecf7666d Wrap storage manager inside resolve session 2014-01-30 21:03:53 +04:00
Andrey Breslav 210827b1d5 ExceptionUtils rewritten in Kotlin 2014-01-30 21:03:53 +04:00
Andrey Breslav 6a29c38e5b Components across the project use StorageManager 2014-01-29 15:38:44 +04:00
Natalia Ukhorskaya e6e64c0098 Rename class 2014-01-28 18:21:48 +04:00
Natalia Ukhorskaya 3f429116e5 Add constructor parameter for compileTimeConstant (can be used in annotation) 2014-01-28 18:21:44 +04:00
Alexander Udalov d88f76f438 Rewrite Progression, Range, Unit to Kotlin
Delete useless (by now) AssertInvisibleInResolver
2014-01-27 18:33:47 +04:00
Zalim Bashorov d032b5589c Frontend: fixed resolve annotation parameters on properties, accessors, accessor parameters, function parameters when not need complete analysis. 2014-01-27 15:34:55 +04:00
Alexey Sedunov 9eac148555 Extract base interface for Kotlin light elements 2014-01-24 13:10:28 +04:00
Alexey Sedunov 5b2858ef26 Generate light type parameters for Kotlin light methods 2014-01-24 13:10:27 +04:00
Andrey Breslav ce1702d633 Replace a hack (Internals class) with a less-of-a-hack workaround
LockBasedLazyResolveStorageManager is put into the same package as LockBasedStorageManager
2014-01-20 23:01:19 +04:00
Andrey Breslav 8f56283771 Same storage manager used by lazy resolve session in AnalyzerFacadeForJVM and the rest of the components 2014-01-20 16:17:53 +04:00
Andrey Breslav 1af71c4dbe Using common storage manager for all lazy services 2014-01-20 16:17:53 +04:00
Andrey Breslav df88e3e625 Introducing dependency kinds to prioritize package fragments 2014-01-15 16:16:21 +04:00
Andrey Breslav 45bd70daec JavaPackageFragmentProvider is only accessible through JavaDescriptorResolver
We need this to guarantee that only one provider is used: either lazy or eager.
2014-01-15 16:16:16 +04:00
Andrey Breslav a998c7c963 Injectors regenerated 2014-01-15 16:16:15 +04:00
Andrey Breslav 4176ce4e6c Fixing compilation errors to account for package fragment/view 2014-01-15 16:16:10 +04:00
Evgeny Gerashchenko 5b7b0c5437 Simpler workaround for infinite recursion when obtaining Java sub packages. 2014-01-14 19:13:18 +04:00
Evgeny Gerashchenko b41a3f8558 Got rid of "namespace" word in compiler code. 2014-01-14 18:06:50 +04:00
Evgeny Gerashchenko 1f74f02344 NamespaceFactoryImpl is abolished, since it is almost trivial. 2014-01-14 18:06:47 +04:00
Andrey Breslav ce18d5ad8c KotlinClassHeader.read() removed 2014-01-09 20:41:44 +04:00
Andrey Breslav 8f8b85101e All IDE code uses VirtualFileFinder instead of KotlinClassFinder + proper service discovery 2014-01-09 20:41:43 +04:00
Andrey Breslav b3f4527bb8 KotlinJvmBinaryClass now has a getClassHeader() method 2014-01-09 20:41:43 +04:00
Andrey Breslav 7fc9772930 Direct instantiations of VirtualFileKotlinClass are replaced by access to caching service 2014-01-09 20:41:43 +04:00
Andrey Breslav 6c1f579c6d VirtualFileFinder and KotlinClassFinder effectively merged (through inheritance)
This is needed to implement caching of KotlinJvmBinaryClass instance inside CliVirtualFileFinder that relies on reading class headers for filtering
2014-01-09 20:41:43 +04:00
Andrey Breslav 8fcaf511dc Methods renamed to avoid ambiguity 2014-01-09 20:41:43 +04:00
Alexander Udalov 49a4abbc9e Minor renames and refactorings related to JetTypeMapper 2013-12-30 04:15:22 +04:00
Alexey Sedunov 1e66a346d7 Use unsafe qualified names instead of safe ones in FQNAME_TO_CLASS_DESCRIPTOR slice 2013-12-24 12:10:53 +04:00
Andrey Breslav 37a79e8299 Unused slice removed 2013-12-23 21:57:38 +04:00
Andrey Breslav 230e534989 Interface JavaPackageFragmentProvider extracted 2013-12-23 21:34:38 +04:00
Andrey Breslav da4245b712 JavaDescriptorResolver is accessible through JavaPackageFragmentDescriptor 2013-12-23 19:10:27 +04:00
Alexander Udalov 11f33c9399 Reorganize JVM intrinsics
Make IntrinsicMethod an abstract class, coerce the resulting value of the
intrinsic to the expected type
2013-12-17 21:49:31 +04:00