Dmitriy Novozhilov
2a73aaba4d
[TEST-GEN] Move all generation data to TestGroup.TestClass
2020-12-16 19:52:19 +03:00
Dmitriy Novozhilov
c51ea6b142
[TEST-GEN] Create abstract TestGenerator and move current generator logic to TestGeneratorImpl
2020-12-16 19:52:19 +03:00
Dmitriy Novozhilov
d45fb4dfd8
[TEST-GEN] Extract logic of generating test methods into separate abstraction MethodGenerator
2020-12-16 19:52:19 +03:00
Dmitriy Novozhilov
2acbe96f15
[TEST-GEN] Convert Test Generation DSL classes from java to kotlin
2020-12-16 19:52:19 +03:00
Dmitriy Novozhilov
31bccb4fb0
[TEST-GEN] Rename .java to .kt
2020-12-16 19:52:18 +03:00
Dmitriy Novozhilov
580d2ed693
[TEST-GEN] Add some comments to TestGenerationDSL
2020-12-16 19:52:18 +03:00
Mikhail Glukhikh
0e43eaa662
Don't call possibleGetterNamesByPropertyName without a reason
2020-12-16 19:50:13 +03:00
Dmitriy Novozhilov
44948aa9a2
[FE] Properly report diagnostics about type arguments of implicit invoke
...
#KT-40396 Fixed
2020-12-16 17:57:58 +03:00
Dmitriy Novozhilov
329066a4f3
[Parser] Fix parsing of unfinished dot access in string template
...
Problem appeared in cases like this: "{someVar.}"
#KT-34440 Fixed
2020-12-16 17:57:56 +03:00
Dmitry Petrov
8999fd88b1
JVM_IR KT-43401 KT-43518 fix ACC_STRICT and ACC_SYNCHRONIZED flags
2020-12-16 14:10:36 +03:00
Dmitry Petrov
7ed3860c70
JVM_IR KT-43043 fix nullability annotations for inline class members
2020-12-16 13:43:29 +03:00
Andrei Klunnyi
2b3fc330ad
KTIJ-664 [SealedClassInheritorsProvider]: test fixes
2020-12-16 11:35:27 +01:00
Igor Yakovlev
c2bf124d86
[FIR IDE] File symbol scope and symbol test
2020-12-16 12:29:54 +03:00
Igor Yakovlev
2f4842b271
[FIR IDE] Add KtFileScope to support KtFileSymbol
2020-12-16 12:29:54 +03:00
Igor Yakovlev
2fa5ab6e31
[FIR IDE] LC Remove difficult caching from FirLightClassBase
2020-12-16 12:29:54 +03:00
Igor Yakovlev
f282b721bc
[FIR IDE] LC Fix test data
2020-12-16 12:29:53 +03:00
Igor Yakovlev
f5d8ae0550
[FIR IDE] LC add caching to light facades
2020-12-16 12:29:53 +03:00
Igor Yakovlev
da54dbba8e
[FIR IDE] LC Add callable declarations to KtFileSymbol
2020-12-16 12:29:53 +03:00
Igor Yakovlev
fb63b74b37
[FIR IDE] LC Add KtFileSymbol and fix facade annotations
2020-12-16 12:29:53 +03:00
Igor Yakovlev
46071c1925
[FIR IDE] LC fix annotations with special sites and nullability
2020-12-16 12:29:53 +03:00
Igor Yakovlev
2e7866ca86
[FIR IDE] LC Fix annotations and modifiers for class members
2020-12-16 12:29:52 +03:00
Igor Yakovlev
3019f439fb
[FIR IDE] LC More accurate processing for JvmSynthetic and JvmHidden annotations
2020-12-16 12:29:52 +03:00
Igor Yakovlev
3895ad375c
[FIR IDE] LC add jvmstatic method into companion object
2020-12-16 12:29:52 +03:00
Victor Petukhov
d32d0a65f0
Revert "Report warning on @JvmStatic in private companion objects"
...
This reverts commit 9669ab14
2020-12-16 10:24:18 +03:00
Victor Petukhov
94deddef7f
Revert "Minor: cover negative cases with test +m"
...
This reverts commit 04a4f9cd
2020-12-16 10:24:12 +03:00
Ilya Kirillov
5a9ff3471a
FIR IDE: fix function targets on context element copy
2020-12-15 22:16:04 +01:00
Ilya Kirillov
67fc1bcb3d
FIR IDE: add debug error message when not possible to find fir declarartion by psi
2020-12-15 22:16:03 +01:00
Ilya Kirillov
940ec06f5b
FIR IDE: precalculate completion context on dependent analysis session creation
2020-12-15 22:16:02 +01:00
Ilya Kirillov
40b1a4df5a
FIR IDE: temp mute failing find usages test
2020-12-15 22:16:01 +01:00
Ilya Kirillov
2d5b23b650
FIR IDE: separate KtExpressionTypeProvider into components
2020-12-15 22:16:00 +01:00
Ilya Kirillov
2101816f03
FIR IDE: add expected type calculation for function calls
...
does not work in case of incomplete call expression :(
2020-12-15 22:16:00 +01:00
Ilya Kirillov
7be8d69870
FIR IDE: add completion weighers tests for return/if/while
2020-12-15 22:15:59 +01:00
Ilya Kirillov
b16ebe2dc4
FIR IDE: consider if & while conditions expected type as boolean
2020-12-15 22:15:57 +01:00
Ilya Kirillov
c2d83353e8
FIR IDE: introduce builtin types container
2020-12-15 22:15:57 +01:00
Ilya Kirillov
835577383b
FIR IDE: introduce expected type provider for return expressions
2020-12-15 22:15:56 +01:00
Ilya Kirillov
299f36183c
FIR IDE: add tests for completion weighers from old testdata
2020-12-15 22:15:53 +01:00
Ilya Kirillov
19fff2b1e7
FIR IDE: implement expected type weigher for completion
2020-12-15 22:15:52 +01:00
Ilya Kirillov
c61d4b5f9c
FIR IDE: introduce return statement target provider
2020-12-15 22:15:51 +01:00
Ilya Kirillov
a0ed14eafe
FIR: use real source element for return statement
...
fix fir
2020-12-15 22:15:51 +01:00
Andrei Klunnyi
3af0257b38
KTIJ-664 [SealedClassInheritorsProvider]: IDE-specific implementation
2020-12-15 18:43:00 +01:00
Andrei Klunnyi
f02b73103b
KTIJ-650 [Code completion]: no "sealed" for classes with modifiers
...
annotation, data, enum, inner, open - classes supplied with these
modifiers cannot be sealed.
Commit fixes code completion - "sealed" is no longer suggested in
the mentioned case.
2020-12-15 18:43:00 +01:00
Andrei Klunnyi
fe64b13140
KTIJ-650 [Code completion]: support for "sealed interface"
...
^KTIJ-650 fixed
2020-12-15 18:10:23 +01:00
Svyatoslav Kuzmich
602ed42b99
[Wasm] Move intrinsic generators to generators/wasm
...
Reason: avoid kotlin-stdlib-gen dependency on kotlinStdlib() via wasm.ir
2020-12-15 19:44:19 +03:00
Jinseong Jeon
efeabac2c5
FIR: do not force coercion-to-Unit for nullable lambda return type
...
3d7d87ac should have been implemented as aafe41c did.
2020-12-15 17:52:49 +03:00
Jinseong Jeon
6239301f4e
FIR: no constraint for coerced-to-Unit last expression of lambda
2020-12-15 17:52:49 +03:00
Jinseong Jeon
4ab0897d7d
FIR: pass the explicit expected type to block type
...
This helps avoid adding redundant return Unit into block.
2020-12-15 17:52:48 +03:00
Jinseong Jeon
0ea6b32c01
NI: allow lower bound of flexible type for coercion-to-Unit
...
Example from
box/inference/coercionToUnitForLambdaReturnTypeWithFlexibleConstraint
// FILE: TestJ.java
public class TestJ {
public static <T> In<T> materialize() { return null; }
}
// FILE: test.kt
class In<in T>
fun <T> inferred(e: In<T>?, l: () -> T): T = l()
fun box() {
inferred(TestJ.materialize<Unit>(), { null })
}
`materialize` has flexible type, both for `In<T>` and `T`.
When analyzing `{ null }`, collected type constraints include:
ft<Unit?, Unit> <: T (from ft<In<ft<Unit, Unit?>>, In<ft<Unit, Unit?>>?>)
By allowing the lower bound of flexible type, FIR resolution can visit
`{ null }` with the expected type Unit, which will lead to proper
coercion to Unit at the end.
2020-12-15 17:52:48 +03:00
Dmitry Petrov
b0f6461fa9
JVM_IR KT-42020 special IdSignature for some fake override members
2020-12-15 12:56:45 +03:00
Jinseong Jeon
12cfba9ca9
FIR BB: remove stale test ignoring tags in old language versions
...
Since bf06d381 (move old Java nullability assertion tests...),
these tests aren't used by (Fir|Ir)BlackBoxCodegenTest anymore.
2020-12-15 11:52:50 +03:00
Jinseong Jeon
f7ade2b0b8
FIR2IR: introduce implicit casts for extension receivers
2020-12-15 11:52:49 +03:00