Yan Zhulanow
6f180416b1
Pass SamConversionResolver explicitly cause it should be call site module-local
2017-08-18 19:11:21 +03:00
Alexander Udalov
4d2fbf1801
Fix reflection for local delegated properties inside interface
...
#KT-19690
2017-08-17 15:35:11 +02:00
André Oriani
a24c9a987f
Improve Boolean infix functions' documentation ( #1249 )
2017-08-17 11:53:39 +03:00
Yan Zhulanow
57d209f599
Kapt: Do not use awkward ('$' -> '/') logic for KAPT3 class builder mode
...
So (for the most often reproduction case) #KT-19433 Fixed
Before this commit, internal names for nested classes were written as test/Foo/Bar (comparing to test/Foo$Bar in the normal mode), as getting qualified names from such internal names was trivial. But, because of IC, we needed to write class files to the disk, so our decompiler could find such "broken" classes and read it in a wrong way.
2017-08-15 17:48:51 +03:00
e5l
5501cdf049
Add warnings for jsr305 nullable annotations
...
#KT-19115 Fixed
2017-08-15 11:01:08 +03:00
e5l
746de612ad
Move Jsr305State to util.runtime
2017-08-15 11:01:08 +03:00
Denis Zharkov
ce37ab81ba
Fix types enhancement for properties' getters overrides in Java
...
Prior to the 1.1.4, nullability related annotations were stored
in types that became hard to maintain at some moment and
we got rid of it (see 57b7b91444 )
But enhancement for properties overrides stopped working
because there were effectively no annotations in the
resulting descriptor
#KT-19409 Fixed
#KT-19409 Fixed
2017-08-11 10:19:55 +07:00
Denis Zharkov
9962fc88ca
Minor. Move type qualifiers computation to their first usage
2017-08-11 10:19:55 +07:00
Denis Zharkov
8948023a26
Add built-in support for ParametersAre(Non)nullByDefault annotation
...
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Denis Zharkov
964f60d0a4
Resolve qualifier nicknames to default annotations without JSR305 jar
...
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Denis Zharkov
f8f0c0b6d7
Load enum/array annotation arguments for not found classes
...
It's necessary to load type qualifier related annotations
without JSR305 annotations being in the classpath
#KT-19419 In Progress
2017-08-11 10:18:41 +07:00
Alexey Tsvetkov
46a3a59b81
Fix missing lookups from deserialized JS descriptors
2017-08-10 21:19:42 +03:00
Dmitry Petrov
674d30cd76
Report deprecation on typealias companion object for deprecated alias
2017-08-10 15:45:44 +03:00
Dmitry Jemerov
3415853cac
Add ModuleDescriptor.assertValid() for ensuring consistency
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
bdbe134b60
Recreate module descriptors for affected modules only on a change
2017-08-09 13:26:09 +02:00
Dmitry Jemerov
3debca09ea
Remove callback hell from LazyModuleDependencies
2017-08-09 13:26:09 +02:00
Valentin Kipyatkov
9361cd895c
Support for import aliases in code completion
...
#KT-8848 Fixed
2017-08-08 22:06:04 +03:00
Mikhael Bogdanov
07c5702861
Add missed 'version' in core modules facets
2017-08-08 13:09:48 +02:00
Mikhail Zarechenskiy
216ab1c6d1
Fix error message for inapplicable operator on getValue function
...
#KT-11739 Fixed
2017-08-07 18:49:52 +03:00
Mikhail Zarechenskiy
cf75afba66
[NI] Fix type intersection for equal types
2017-08-07 18:01:12 +03:00
Mikhail Zarechenskiy
21c5187c9e
[NI] Handle dynamic types in type intersector
2017-08-07 18:01:10 +03:00
Stanislav Erokhin
915ac32bfb
[NI] Improve type inference for T vs Captured(in Smt)
...
If we has Inv<T> <: Inv<Captured(in Foo)> then we should get:
- T <: Captured(in Foo)
- Captured(in Foo) <: T
Before this commit we got: T <: Foo instead first constraint.
2017-08-07 18:00:45 +03:00
Dmitry Petrov
d4e8a30dcf
[NI] Fix nullability for captured type in input types approximation
2017-08-07 18:00:37 +03:00
Dmitry Petrov
dc453e6d8b
[NI] Update lambda argument expression type when return type is known
2017-08-07 18:00:32 +03:00
Dmitry Petrov
9fa3bce73a
[NI] Fix special case of captured type handling in subtyping
...
Given the subtyping constraint
X <: CapturedType(in Y)
we should check only
X <: Y
if X contains type variables.
2017-08-07 18:00:22 +03:00
Stanislav Erokhin
0f0d834c23
[NI] Minor. Fix IOE.
2017-08-07 17:59:55 +03:00
Stanislav Erokhin
ff6a28b64c
Add util method to BuildIns is kotlin.Function type.
2017-08-07 17:59:49 +03:00
Stanislav Erokhin
ee16a79612
[NI] Add pre-resolution callable reference argument check.
...
If expected type for callable reference argument isn't callable type
then make such candidate unsuccessful.
Sometimes expected type is just `T`, where `T` is type variable.
To support such case we take all supertypes and check them instead.
2017-08-07 17:59:46 +03:00
Mikhael Bogdanov
d738633981
Switch jvm target to 1.8 in Ultimate plugin and missed version to core modules
2017-08-04 15:45:53 +02:00
Mikhael Bogdanov
db9f925bb1
Switch default project jvm target to 1.8, keep 1.6 for core modules
2017-08-04 13:14:50 +02:00
Mikhail Glukhikh
c5a81691fb
Partial code cleanup: can be private and some others applied
2017-08-01 17:08:56 +03:00
Toshiaki Kameyama
be0b01a1e6
Do not report "can be private" on effectively private / local elements
...
So #KT-18822 Fixed
2017-07-31 11:58:14 +03:00
Pavel V. Talanov
d7e62937b2
script.runtime 1.1.4: Remove new API from 'kotlin.script' package
...
Copy of new API is in 'kotlin.script.experimental' package
2017-07-30 17:38:10 +03:00
Pavel V. Talanov
9a004ceda2
script.runtime 1.1.4: Remove copy of ScriptContents class
...
This class is not new(experimental) API is not supposed to be moved
2017-07-30 17:17:54 +03:00
Pavel V. Talanov
ca06d38c5b
script.runtime 1.1.4: Copy new API to kotlin.script.experimental package
...
Minor: Move Environment type alias to resolvers_deprecated.kt file
2017-07-28 20:13:59 +03:00
Pavel V. Talanov
d59a72ea75
script.runtime 1.1.4: Undeprecate old API
2017-07-28 20:13:57 +03:00
Pavel V. Talanov
9e34437447
script.runtime: add 'kotlin-runtime' dependency
...
script.runtime is not built by JPS, this just affects highlighting
2017-07-28 20:13:54 +03:00
Mikhail Glukhikh
7fb78a0372
Code cleanup: replace chained null-checks with safe-calls
2017-07-26 15:18:22 +03:00
Dmitry Jemerov
f370d74609
Correctly detect stdlib in Gradle projects; move detection out of EDT
...
To detect whether a module has an stdlib in its dependencies, look at
source root modules and not at base module.
2017-07-24 19:53:52 +02:00
Mikhail Glukhikh
951e8cd91a
Code cleanup: unnecessary local variable applied
2017-07-21 18:58:48 +03:00
Alexander Udalov
5128b8a409
Add default implementation for Annotations.findAnnotation
2017-07-20 13:27:34 +03:00
Alexander Udalov
def3f73fdd
Use AnnotationDescriptor.fqName instead of type
...
Also use the annotationClass extension property instead of
TypeUtils.getClassDescriptor(annotation.type)
2017-07-20 13:26:13 +03:00
Alexander Udalov
541b9dab52
Introduce optimized BuiltInAnnotationDescriptor for built-in annotations
...
It's built on a FQ name and avoids resolution of the annotation class
descriptor as much as possible
2017-07-20 13:26:13 +03:00
Alexander Udalov
f39106f75c
Do not use parameter descriptors in AnnotationDescriptorImpl
2017-07-20 13:26:13 +03:00
Alexander Udalov
eb205f620c
Do not use parameter descriptors in most annotation implementations
...
Except AnnotationDescriptorImpl, which is refactored in the subsequent
commit.
Note that we no longer check the presence of parameters with the
corresponding names in the annotation class in
LazyJavaAnnotationDescriptor, this is why test data changed
2017-07-20 13:25:39 +03:00
Alexander Udalov
cc7ed2ba54
Change map key type in AnnotationDescriptor.getAllValueArguments
...
Turns out, only the parameter's name is needed at all usages of this
method. Such a map is both easier to use (no need to call
ValueParameterDescriptor.getName) and easier to construct (no need to
resolve annotation class, its constructor, its parameters). In this
commit, only usages have changed but the implementations are still using
the old logic, this is going to be refactored in subsequent commits
2017-07-20 13:25:39 +03:00
Alexander Udalov
41ea0e8ef8
Introduce AnnotationDescriptor.fqName
...
Could be used instead of ".annotationClass.fqName" to avoid the unneeded
resolution of the annotation class descriptor
2017-07-20 13:25:38 +03:00
Alexander Udalov
1d64b61a8f
J2K AnnotationDescriptor, refactor implementations
2017-07-20 13:25:38 +03:00
Alexander Udalov
7ec67505c5
Optimize Annotations.isEmpty in some implementations
2017-07-20 13:25:38 +03:00
Alexander Udalov
9ee4b39e1b
Provide default implementation for Annotations.findExternalAnnotation
2017-07-20 13:25:38 +03:00