Mikhail Glukhikh
e8682fa9b9
Use diagnoseDescriptorNotFound() in findClassDescriptor
2017-09-28 18:43:39 +03:00
Mikhail Glukhikh
5c0bc266b3
Do not use unsafe getClassDescriptor() inside resolveToDescriptor
...
Introduce getClassDescriptorIfAny / findClassDescriptorIfAny instead
May fix KT-18740 / EA-76201
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
adf0b25c0b
LazyDeclarationResolver.kt: convert to Kotlin
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
04157c4137
LazyDeclarationResolver.java --> kt
2017-09-28 18:43:38 +03:00
Mikhail Glukhikh
5687fe6e39
Introduce ModuleDescriptor.findImplementingDescriptor() via facets
...
This function is now used instead of allImplementingCompatibleModules,
thus allowing it to be deleted together with allImplementingModules
So #KT-17369 Fixed
So #KT-17374 Fixed
May fix also some other MPP issues
2017-09-28 15:15:02 +03:00
Denis Zharkov
265794e712
Add necessary ResolutionScope::recordLookup implementations
2017-09-28 14:01:30 +03:00
Denis Zharkov
580a7e3e4d
Drop location parameter from ResolutionScope::definitelyDoesNotContainName
...
definitelyDoesNotContainName is called too eagerly sometimes and it leads
to obviously redundant lookups
The idea is to put responsibility for calling recordLookup to resolution
itself
2017-09-28 14:01:30 +03:00
Denis Zharkov
c018a76aaa
Use the same default import scopes for all files in module
2017-09-28 14:01:30 +03:00
Denis Zharkov
3322ed6e04
Implement LazyImportResolver::definitelyDoesNotContainName
2017-09-28 14:01:30 +03:00
Denis Zharkov
69f3b01e98
Introduce ImportingScope::computeImportedNames
2017-09-28 14:01:30 +03:00
Denis Zharkov
cd3edfc5b2
Introduce MemberScope::classifierNames and some implementations
...
It aims to help with further optimizations
2017-09-28 14:01:30 +03:00
Denis Zharkov
1b255b4ed0
Implement LazyPackageMemberScope::getFunctions/VariableNames
...
It's necessary for future optimizations
Although current implementation is rather conservative,
it should be enough for current needs
2017-09-28 14:01:30 +03:00
Denis Zharkov
fb80e19b88
Filter out inapplicable local scopes in call resolution
...
The idea is that resolution has an approximate complexity
close to (n + n*m) * 3
Where n is a number of scopes, m is a number of receivers
and 3-constant is used because each of these combinations
runs through 3 processors for functions.
And while call resolver seems to be a hot spot, it should be
useful to decreate the value of n
2017-09-28 14:01:30 +03:00
Mikhail Zarechenskiy
8a545f05de
Provide quick fix for migration of single elements in named arguments
...
See more in KT-20171
2017-09-26 14:49:43 +03:00
Mikhail Zarechenskiy
69e3dd89f6
Split diagnostic factory for the ease of code evolution and tooling
2017-09-26 14:49:42 +03:00
Nikolay Krasko
d51f54693f
Exist if no identifier found (EA-91332)
2017-09-25 20:41:53 +03:00
Mikhail Glukhikh
e8b95b971d
Make parentheses necessary for '(x op return y) op z' #KT-16808 Fixed
2017-09-25 18:16:42 +03:00
Mikhail Zarechenskiy
32531b3afc
Allow to have all parameters with default values in actual annotation
...
#KT-19656 In Progress
2017-09-25 16:19:05 +03:00
Alexey Sedunov
0beadddb7f
Copy: Improve file copying
...
- Do not copy individual declarations if entire file is selected
(keeping original content with comments, formatting, etc.)
- Update package directive when original file packages matches
its directory
#KT-20092 Fixed
#KT-18196 Fixed
2017-09-25 14:40:17 +03:00
Alexander Udalov
2281ac842a
Prohibit super constructor call for 'expect' class
...
#KT-15490 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
8ae7343557
Prohibit 'expect' lateinit member properties
...
#KT-20319 Fixed
2017-09-25 11:58:20 +03:00
Alexander Udalov
1f992ed845
Improve error on 'expect' delegated property
...
#KT-15054 Fixed
#KT-15055 Fixed
2017-09-25 11:58:20 +03:00
Mikhail Glukhikh
f348ee9381
Fix a pair of multi-platform messages #KT-20327 Fixed
2017-09-25 11:47:05 +03:00
Ilya Chernikov
d039d191f2
Fix tests in the new build infrastructure
2017-09-19 23:58:30 +02:00
Alexander Podkhalyuzin
3f8170d369
Clean idea files generated on the gradle import, add them to .gitignore
2017-09-19 23:58:27 +02:00
Ilya Chernikov
27968c8e13
Set proper jvmTarget for projects
2017-09-19 21:37:27 +02:00
Ilya Chernikov
deda50dbbb
Continue switching projects to improved dsl: sourceSets and test running
2017-09-19 21:37:26 +02:00
Ilya Chernikov
aa4fdaa713
Implement publishing in the build
2017-09-19 21:37:13 +02:00
Ilya Chernikov
61dfb75e0e
Implement Gradle Kotlin DSL build
2017-09-19 21:37:06 +02:00
Valentin Kipyatkov
454c5229f9
Ability to disable caches reset on ProcessCanceledException via internal action
2017-09-19 16:52:20 +03:00
Stanislav Erokhin
e8d42e4dde
Increase stub version because we add new soft-keywords: expect and actual
2017-09-18 16:37:36 +03:00
Mikhail Glukhikh
9b0f15137f
Expect/actual: introduce DEPRECATED_MODIFIER instead of ..._FOR_TARGET
2017-09-18 16:19:41 +03:00
Mikhail Glukhikh
721889600f
Expect/actual: fix some error messages
2017-09-18 16:09:18 +03:00
Mikhail Glukhikh
e12de11ce9
Fix add modifier for replacement case, add expect/actual order tests
2017-09-16 19:47:43 +03:00
Mikhail Glukhikh
2c521727c3
Add header/impl/expect/actual into modifiers order list
2017-09-16 19:47:42 +03:00
Mikhail Glukhikh
a18e9436a1
Migration to expect/actual: change diagnostics rendering
2017-09-16 19:47:40 +03:00
Stanislav Erokhin
7982f3489e
Rename compiler key -Xno-check-impl to -Xno-check-actual
2017-09-16 19:47:39 +03:00
Mikhail Glukhikh
d3082b0e62
Migration to expect/actual: change some comments in compiler
2017-09-15 18:30:32 +03:00
Mikhail Glukhikh
fcc84d00c3
Migration: make header/impl/expect/actual contradictory to each other
2017-09-15 18:30:25 +03:00
Mikhail Glukhikh
fc4ff3b760
Migration to expect/actual: renames in DeclarationResolver
2017-09-15 18:30:18 +03:00
Mikhail Glukhikh
afdd647df1
Migration to expect/actual: renames in DeclarationsChecker
2017-09-15 18:30:11 +03:00
Mikhail Glukhikh
c5c6050baa
Migration to expect/actual: renames in ExpectedActualDeclarationChecker
2017-09-15 18:30:04 +03:00
Stanislav Erokhin
8d8f683042
Fix header/impl in LazyClassDescriptor.toString
2017-09-15 18:29:50 +03:00
Stanislav Erokhin
2b186909d4
Migrate diagnostic names for header/impl
2017-09-15 18:29:29 +03:00
Mikhail Glukhikh
e896a1f5ea
Migration: add check for illegal expect on nested in non-expect class
2017-09-15 18:28:21 +03:00
Mikhail Glukhikh
205272f51b
Migration: add expect/actual to hasExpected... / hasActualModifier
2017-09-15 18:27:53 +03:00
Mikhail Glukhikh
0640d5618c
Migration: make modifiers HEADER & IMPL deprecated
2017-09-15 18:27:47 +03:00
Mikhail Glukhikh
2d0ac0011a
Migration to expect/actual: ExpectedActualDeclarationChecker
2017-09-15 18:26:23 +03:00
Mikhail Glukhikh
c4fd1a8e5c
Migration to expect/actual: ModifierCheckerCore
2017-09-15 18:26:16 +03:00
Mikhail Glukhikh
810d62bbaf
Add expect & actual to MODIFIERS_TO_REPLACE table
2017-09-15 18:26:02 +03:00