Andrey Breslav
fb0713d1c2
Do not inject TopDownAnalysisParameters into TopDownAnalyzer
2014-02-24 16:40:05 +04:00
Andrey Breslav
4e0df6fd80
Do not create TopDownAnalysisContext in injectors
2014-02-24 15:52:57 +04:00
Andrey Breslav
f5d2e1f7aa
Do not inject TopDownAnalysisContext into TypeHierarchyResolver
2014-02-24 15:52:56 +04:00
Andrey Breslav
8b88cc8aec
Do not inject TopDownAnalysisContext into OverrideResolver
2014-02-24 15:52:55 +04:00
Andrey Breslav
1abaa9ff20
Do not inject TopDownAnalysisContext into OverloadResolver
2014-02-24 15:52:55 +04:00
Andrey Breslav
25e533a42d
Do not inject TopDownAnalysisContext into ScriptHeaderResolver
2014-02-24 15:52:55 +04:00
Andrey Breslav
7e43f2e61e
Do not inject TopDownAnalysisContext into ImportsResolver
2014-02-24 15:52:54 +04:00
Andrey Breslav
72a62626df
Do not inject TopDownAnalysisContext into DeclarationResolver
2014-02-24 15:52:54 +04:00
Andrey Breslav
e3744cff7c
Do not inject TopDownAnalysisContext into ScriptBodyResolver
2014-02-24 15:52:54 +04:00
Andrey Breslav
5976a91998
Do not inject TopDownAnalysisContext into TopDownAnalyzer
2014-02-24 15:52:53 +04:00
Andrey Breslav
f32d8b1d06
Do not inject BodiesResolveContext into BodyResolver
2014-02-24 15:52:53 +04:00
Andrey Breslav
5b67cf67eb
Usages of expressionTypingServices from ExpressionTypingContext are replaced with injection
...
The basic principle behind this change is that no context object should store components.
Components should be injected instead, and contexts only carry parameters around.
Particular changes:
- resolveCallWithGivenName() and resolveBinaryCall() moved to CallResolver
- ForLoopConventionsChecker introduced to confine checking conventions for Iterator and Iterable
- ExpressionTypingComponents introduced to deliver necessary components to ExpressionTypingVisitor's
- Some static methods became non-static to get access to injected components
- ExpressionTypingUtils and ControlStructureTypingUtils became components (got state injected) to avoid passing parameters around
2014-02-24 15:52:52 +04:00
Nikolay Krasko
a2c567da93
Common injector for lazy resolve with java lazy resolve
2014-02-20 16:31:22 +04:00
Nikolay Krasko
2ef879ea3e
Search classes by qualified name only in sources to prevent recursion
2014-02-20 16:31:21 +04:00
Nikolay Krasko
064612f0f3
Add cache delegating to lazy resolve session for source classes search
2014-02-20 16:31:10 +04:00
Nikolay Krasko
0448736a4c
Refactoring: remove unused methods
2014-02-20 16:27:49 +04:00
Nikolay Krasko
8eb2a937e6
Remove external packages search from file base declaration provider
...
External package should be found because of proper module configuration
2014-02-20 16:08:05 +04:00
Andrey Breslav
5478204e2d
PlatformToKotlinClassMap can be obtained from the module
2014-02-18 19:51:49 +04:00
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