Alexander Udalov
b99b1883bc
Drop unused parameter in JavaToKotlinClassMap and subclasses
2015-02-25 20:13:46 +03:00
Alexander Udalov
fca7a8c4a2
Drop PrimitiveTypesUtil, store desc in JvmPrimitiveType
2015-02-25 20:13:46 +03:00
Andrey Breslav
d70d2ca146
Nullability of error types is not known
...
#KT-6829 Fixed
2015-02-25 14:59:21 +03:00
Nikolay Krasko
377209f0c3
Do not report CONFLICTING_JVM_DECLARATIONS on delegated origin element
2015-02-24 21:33:55 +03:00
Pavel V. Talanov
d6a942a574
Remove all deprecated OBJECT$ usages from project code
2015-02-18 19:33:56 +03:00
Nikolay Krasko
07d58b55eb
Synchronize KotlinJavaPsiFacade with JavaPsiFacadeImpl
2015-02-18 18:51:58 +03:00
Nikolay Krasko
5d3d446ea4
Now PsiElementFinderImpl is registered via extension but it hadn't been added to JavaCoreProjectEnvironment
2015-02-18 18:51:53 +03:00
Natalia Ukhorskaya
43249e928c
Fix tests with annotations: enum constants are now resolved as constants in JavaConstantExpressionEvaluator
2015-02-18 18:51:52 +03:00
Andrey Breslav
ab93b530f1
Don't use annotations after nullability was forced upon a platform type
...
#KT-6762 Fixed
#KT-6763 Fixed
2015-02-17 18:44:46 +03:00
Alexander Udalov
6ce8d6bd2e
Serialize descriptors for local/anonymous classes on JVM
...
Reflection needs this information to work for local classes and anonymous
objects
2015-02-16 21:46:21 +03:00
Alexander Udalov
0d05fca838
Support serialization/deserialization of local classes
...
Most of these changes are aimed to support and correctly transform ClassId for
local classes, no actual bytes are written or read at the moment (see next
commits). See the comment on ClassId for clarification.
A hack in DescriptorSerializer which erased anonymous types to Any (which had
been breaking the consistency between descriptors resolved from sources and
from serialized information) is now gone
2015-02-16 20:19:54 +03:00
Alexander Udalov
17c930c84f
Use abstract factory for reflection objects on JVM
...
Introduce an abstract factory class ReflectionFactory which is responsible for creating
reflection objects (KClass, KProperty, ...). The meaningful implementation is
located in "reflection.jvm" where KClassImpl/KPropertyImpl/... are accessible
and can be instantiated. The default implementation will be used in the lite
runtime with no reflection and will return nulls / throw exceptions there.
Put all functions, calls to which are generated by JVM back-end, in one place:
the class named Reflection which contains only static methods. Previously these
functions were scattered across different files in module "reflection.jvm".
The code using reflection may now be compiled against either runtime, but
reflection features will work if and only if reflection is accessible at
runtime
2015-02-16 20:19:13 +03:00
Nikolay Krasko
56c2870ac6
Refactoring: make parameters not-null
2015-02-13 20:28:50 +03:00
Alexander Udalov
29c501e813
Remove useless InjectorForLazyResolveWithJavaUtil, move methods to LazyResolveTestUtil
2015-02-11 18:37:13 +03:00
Alexander Udalov
25775ee516
Drop TraceBasedJavaResolverCache, inline into LazyResolveBasedCache
2015-02-11 18:37:12 +03:00
Alexander Udalov
021315f049
Minor, make ModuleDescriptor public in injectors
...
It's much more convenient to call injector.getModule() than
injector.getResolveSession().getModuleDescriptor()
2015-02-11 18:37:12 +03:00
Alexander Udalov
5dcf9df6ab
Drop InjectorForJavaDescriptorResolver and dependencies
...
Use InjectorForLazyResolveWithJava instead, it does essentially the same
2015-02-11 18:37:11 +03:00
Alexander Udalov
745ac7355b
Simplify ResolveSessionUtils and LazyResolveBasedCache
2015-02-11 18:37:11 +03:00
Alexander Udalov
1e8d8d0a99
Cleanup FqNamesUtil.kt
...
Delete unused, move some utilities to fqNameUtil.kt in IDE, rewrite comments
2015-02-11 18:37:11 +03:00
Alexander Udalov
e7a744b315
Make JetTypeMapper aware of SAM constructor arguments
...
This obsoletes 'replaceName' workaround that was present in ClosureCodegen but
missing in other crucial call sites of mapSignature, e.g. generation of
EnclosingMethod info
#KT-6691 Fixed
2015-02-11 18:10:41 +03:00
Andrey Breslav
0b41136c7c
Minor. Logic clarified
2015-02-10 06:55:49 +01:00
Andrey Breslav
fcb6055913
SenselessComparisonChecker used for @NotNull values from Java
2015-02-10 06:55:49 +01:00
Andrey Breslav
f36d6ce5b2
Reporting USELESS_ELVIS and UNNECESSARY_NOT_NULL_ASSERTION on Java's @NotNull values
2015-02-10 06:55:48 +01:00
Andrey Breslav
30f5c1b953
Reporting unnecessary safe calls on Java's @NotNull values
2015-02-10 06:55:48 +01:00
Andrey Breslav
fcac449c70
Nullability-related warnings for receivers
...
#KT-6723 In Progress
2015-02-10 06:55:47 +01:00
Andrey Breslav
5db6bb04e3
Basic Java nullability warnings implemented
...
#KT-6723 In Progress
2015-02-10 06:55:47 +01:00
Alexander Udalov
6763d61aae
Minor, fix warning, don't create empty map
2015-02-09 21:14:03 +03:00
Alexander Udalov
4128655893
Report incomplete hierarchy error
...
This is the case when you reference a Java class in Kotlin whose superclass is
not resolved. Previously this fact was swallowed by LazyJavaClassDescriptor
leading to mysterious compilation errors
#KT-5129 Fixed
2015-02-09 21:14:02 +03:00
Evgeny Gerashchenko
e5fd6bc067
Minor. Inlined trivial functions.
2015-02-06 17:44:42 +03:00
Evgeny Gerashchenko
5b89f88447
Minor. Simplified getObsoletePackageParts() and similar functions.
2015-02-06 17:44:40 +03:00
Evgeny Gerashchenko
f071802e19
Simplified process of filtering out obsolete package parts and loading descriptors from incremental caches.
...
Now when file is deleted or dirty (compiled right now), its old package part is used. Current package of file doesn't matter.
2015-02-06 17:44:39 +03:00
Evgeny Gerashchenko
5663383fea
Minor. Removed unused property.
2015-02-06 15:56:33 +03:00
Nikolay Krasko
e802044c60
Additional cache for not-found packages
2015-02-02 14:15:04 +03:00
Nikolay Krasko
a8557180f1
Register KotlinJavaPsiFacade as component
2015-02-02 14:15:01 +03:00
Nikolay Krasko
c8de43f93e
findPackage() parametrize with scope
2015-02-02 14:14:59 +03:00
Nikolay Krasko
07e74f3179
Refactoring: rename class
2015-02-02 14:14:57 +03:00
Nikolay Krasko
aff9ac65cf
Remove unnecessary intermediate class
2015-02-02 14:14:55 +03:00
Nikolay Krasko
f5da351e8a
Move KotlinPsiElementFinderImpl and add wrapper interface to avoid creating many unsupported methods
2015-02-02 14:14:54 +03:00
Nikolay Krasko
4a0e7489dd
Remove all unused code from JavaPsiFacadeImpl
2015-02-02 14:14:52 +03:00
Svetlana Isakova
6511086034
Rename: PartialBodyResolveProvider -> StatementFilter
2015-01-30 13:33:37 +03:00
Andrey Breslav
828507de78
Unused code removed from DeclarationResolver
2015-01-29 16:07:27 +03:00
Andrey Breslav
6395fd819f
Got rid of non-lazy local classifier analyzer
2015-01-29 16:07:27 +03:00
Andrey Breslav
202c44e969
Create LazyClassDescriptors for local classes
2015-01-29 16:07:25 +03:00
Andrey Breslav
483e20affc
LazyLocalClassifierAnalyzer introduced
2015-01-29 16:07:25 +03:00
Andrey Breslav
5b4682dd0e
LazyTopDownAnalyzer does not depend on ResolveSession or ScopeProvider any more
2015-01-29 16:07:25 +03:00
Andrey Breslav
e16885c301
LazyTopDownAnalyzerForTopLevel extracted
2015-01-29 16:07:25 +03:00
Andrey Breslav
6285efe32d
LazyDeclarationResolver extracted from ResolveSession
2015-01-29 16:07:24 +03:00
Andrey Breslav
b5503f3acf
DeclarationScopeProviderImpl extracted
2015-01-29 16:07:24 +03:00
Andrey Breslav
dae5ec24e2
LazyTopDownAnalyzer is always called in LAZY mode
2015-01-29 16:07:24 +03:00
Alexander Udalov
5903b8c4a7
Reorder and optimize dependencies between modules and libraries
...
- drop 'kotlin-runtime' and other dependencies which are exported by
other modules ('util' and 'util.runtime' in case of 'kotlin-runtime')
- make all Kotlin modules from the compiler depend on 'util' for clarity
- put 'util' and 'util.runtime' to the bottom of the list everywhere: when
kotlin-runtime gets reflection, classes from core/ should have higher
priority than their previous versions from kotlin-runtime.jar
2015-01-28 19:58:35 +03:00