vldf
95e0ba3d5c
[FIR] Add ArrayEqualityOpCanBeReplacedWithEquals checker
2020-07-31 16:28:37 +03:00
Ilmir Usmanov
fa8c6deb18
Support restricted suspend lambdas in JVM_IR
...
#KT-40135 Fixed
2020-07-30 20:40:37 +02:00
Ilmir Usmanov
2c205410fa
Check whether the field is indeed being initialized
...
in checkFieldInExactlyOnceLambdaInitialization
#KT-40691 Fixed
2020-07-30 19:04:54 +02:00
Dmitry Petrov
46fccae7d1
PSI2IR: KT-40499 Fix delegated property desugaring
...
No type arguments were provided for property reference inside delegated
property accessors.
2020-07-30 13:18:36 +03:00
Jinseong Jeon
bff36e0199
FIR2IR: convert annotations on FirTypeRef
2020-07-30 11:25:36 +03:00
Alexander Gorshenev
9a717e9ecf
Don't copy default value parameters for fake overrides
2020-07-29 22:15:10 +03:00
Dmitry Petrov
dae358c792
JVM: KT-40664 disable optimization for 'ULong in range of UInt' case
2020-07-29 20:33:17 +03:00
Dmitry Petrov
f2493d0950
JVM: KT-40665 more exact check for intrinsified range 'contains'
2020-07-29 20:33:17 +03:00
Alexander Udalov
687d13a320
IR: cleanup expression implementations
...
Remove unused constructors with descriptors, minimize usages of
secondary constructors and make some properties non-lateinit, fix some
inspections.
2020-07-28 20:05:58 +02:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
Dmitry Petrov
980b91d082
JVM: generate 'Deprecated' on method as runtime-visible annotation
...
We generate @java.lang.Deprecated annotation on methods of $DefaultImpls
classes in compatibility mode. This annotation has RUNTIME retention and
should be visible.
Also, get rid of representing annotations as Class'es (yes we know that
these annotations are in compiler CLASSPATH, but we should not rely on
such classes and associated information).
2020-07-28 18:19:20 +03:00
Dmitry Petrov
4fdccb3b35
JVM_IR: don't generate repeated ElementType values in @Target
2020-07-28 18:19:20 +03:00
vldf
d7b3a86f5e
[FIR] Add "can be val" extended checker
2020-07-28 14:17:38 +03:00
Jinseong Jeon
da6e96f4f1
FIR2IR: don't declare dispatch receiver for local functions
2020-07-28 13:43:10 +03:00
Jinseong Jeon
5a3367e09c
FIR: initial support of suspend conversion for function reference
2020-07-28 13:37:05 +03:00
Alexander Udalov
df324d5a08
IR: pull up common accept/transform implementations to interfaces
...
To avoid duplicating them among the main, persisting, lazy, and
fir2ir-lazy implementations.
Also reformat a bit, and avoid storing descriptor in a field in some
places.
2020-07-28 12:05:24 +02:00
Alexander Udalov
0d605a6b7f
IR: create IrBlockBody via IrFactory
2020-07-28 12:05:24 +02:00
Alexander Udalov
9ad4a754ce
IR: create IrExpressionBody via IrFactory
2020-07-28 12:05:24 +02:00
Alexander Udalov
f359f36ed9
IR: add IrFactory to IrDeclaration, use in deep copy
2020-07-28 12:05:23 +02:00
Alexander Udalov
8c41ba8ee4
IR: use IrFactory in fir2ir
2020-07-28 12:05:23 +02:00
Alexander Udalov
db4cbe7103
IR: use IrFactory in SymbolTable
2020-07-28 12:05:23 +02:00
vldf
eadd3f00f2
[FIR] Add CanBeReplacedWithOperatorAssignmentChecker
2020-07-28 10:13:28 +03:00
Dmitriy Dolovov
3d9093583f
Metadata: 'non-stable parameter names' flag for callables
...
^KT-34602
2020-07-27 23:11:30 +07:00
Victor Petukhov
cca64b8fab
NI: use the inferred type to check of nullable array for vararg
...
^KT-40555 Fixed
2020-07-27 18:24:31 +03:00
Mikhail Glukhikh
0ded1d7006
FirBasedSignatureComposer: generate better error messages
2020-07-24 19:47:28 +03:00
Mikhail Glukhikh
40256aa43d
Fir2IrLazyClass: generate enum values() / valueOf() properly
2020-07-24 19:47:28 +03:00
Mikhail Glukhikh
8bae0f2d0c
[FIR2IR] Handle local visibility around signature composer properly
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
828524bde4
[FIR2IR] Fix conversion of default vararg arguments for annotations
2020-07-24 19:47:27 +03:00
Mikhail Glukhikh
240baa64a5
Fir2IrConverter: initialize call generator earlier to avoid lateinit err
2020-07-24 19:47:26 +03:00
Mikhail Glukhikh
2b52988f1b
[FIR TEST] Add failing BB test with Deprecated annotation
2020-07-24 19:47:19 +03:00
Denis Zharkov
df1719c64c
Fix incorrect mixed named/positioned arguments in project code
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Denis Zharkov
dc6efa5a61
Fix incorrect handling of mixed named/positional arguments
...
^KT-40404 Fixed
2020-07-24 13:36:52 +03:00
Denis Zharkov
de02b31ad7
FIR: Use phasedFir in resolve
...
^KT-40376 Fixed
2020-07-24 12:32:29 +03:00
Jinseong Jeon
7872b21914
FIR: handle object invoke via type alias
2020-07-23 09:34:42 +03:00
Dmitry Petrov
1272162a7f
JVM_IR: generate "safe" names for functions in init blocks
2020-07-22 19:49:48 +03:00
Jinseong Jeon
e1abaa9b51
FIR: special visibility handling for monitor{Enter|Exit}
2020-07-22 12:16:32 +03:00
Jinseong Jeon
85f692ab40
FIR2IR: use DescriptorWithContainerSource if container source is available
...
The use of DescriptorWithContainerSource is the key to trigger the
proper generation of stub facade class as parent.
2020-07-22 12:16:32 +03:00
Pavel Kirpichenkov
1ef17c6f3a
Drop isErrorTypeAllowed flag from type system context
...
The flag was used exclusively during calculation of common super type.
This change relies on assumption, that common super type is
NOT calculated in IR type system context.
2020-07-22 11:41:42 +03:00
Pavel Kirpichenkov
710659324c
[NI] Fix common supertype of types with error supertypes
...
Enable check for error supertypes during CST calculation in classic type system context.
Cyclic upper bound + known type parameters of superclasses may create non-error types
with error supertypes. Such types don't have common constructors with other normal types
and cause assertion errors during intersection.
^KT-36951 Fixed
2020-07-22 11:41:42 +03:00
Denis Zharkov
41bd013796
Fix incorrect usages of @NotNull type parameters in project sources
...
^KT-36770 In progress
2020-07-22 10:16:14 +03:00
Denis Zharkov
037ff2fa52
Fix incorrect handling of @NotNull type parameters
...
^KT-36770 In progress
^KT-40114 Relates
^KT-28785 Relates
2020-07-22 10:16:14 +03:00
Dmitry Petrov
d93885e71c
Add tests for deprecated properties
2020-07-21 22:25:44 +03:00
Vyacheslav Gerasimov
a4457ba7ac
Build: Setup dependency on dist for :compiler:fir:analysis-tests:test
2020-07-21 17:24:59 +03:00
Ivan Kylchik
8b9fb6a6cd
[FIR] Remove FirOperatorCall node from fir tree
2020-07-21 13:54:19 +03:00
Ivan Kylchik
3c01a39846
[FIR] Update test data after introducing new fir nodes
2020-07-21 13:54:17 +03:00
Ivan Kylchik
d77d733244
[FIR] Complement fir rendering with newly created nodes
2020-07-21 13:54:17 +03:00
Ivan Kylchik
9a119a6757
[FIR] Replace all necessary usages of operator call with new ones
...
#KT-38333 Fixed
2020-07-21 13:54:16 +03:00
Ivan Kylchik
def47bdd9d
[FIR] Add new equalityOperatorCall node in control flow graph
2020-07-21 13:54:15 +03:00
Ivan Kylchik
d23e9940ec
[FIR] Change fir builder to use newly created nodes
2020-07-21 13:54:15 +03:00
Ivan Kylchik
708c8b8ef3
[FIR] Create additional nodes to replace operator call in some places
...
1. FirAssignmentOperatorStatement - represent assignment operations
such as =, +=, -=, /=, %=
2. FirEqualityOperatorCall - represent boolean operations such as ==,
!=, ===, !==
#KT-38333 In Progress
2020-07-21 13:54:14 +03:00