Ilya Kirillov
d8a3dacdc5
FIR: return back supertypeRefs list recreation
2021-03-09 15:41:42 +01:00
Jinseong Jeon
6427117a35
FIR CFG: correct edge label from a node that returns Nothing
...
If it's not within a try/catch/finally, that should be an uncaught
exception path.
^KT-45327 Fixed
2021-03-09 14:44:42 +03:00
Jinseong Jeon
d8fb54c6bd
Reproduce KT-45327: false positive MUST_INITIALIZED_OR_BE_ABSTRACT after conditional exitProcess
2021-03-09 14:44:42 +03:00
Alexander Udalov
628d75c7cd
JVM: fix EnclosingMethod information for SAMs in inline lambdas
...
Pass parentContext to SamWrapperCodegen from the outside instead of
using the one from parentCodegen. The difference is that in case of an
inline lambda, we're creating an InlineLambdaContext whose parent is a
ClosureContext, but the codegen for that lambda has that latter
ClosureContext as its context. So the getNonInlineOuterContext call in
SamWrapperCodegen.generateInnerClassInformation wasn't able to identify
that this is a context of a lambda that needs to be skipped, and
generated it as EnclosingMethod, which caused Java reflection to fail
because once that lambda was inlined, it was removed and thus didn't
make it to runtime.
#KT-44827 Fixed
2021-03-09 11:43:11 +01:00
Mads Ager
7dbb0c7d20
[IR] Make IrGetObjectValue copyable to avoid duplicate IR nodes.
...
Fixes KT-45170
2021-03-09 09:48:16 +03:00
Mikhail Glukhikh
037505d9f2
FIR IDE: regenerate diagnostics
2021-03-06 09:22:35 +03:00
Mikhail Glukhikh
7eb9b1188f
FIR: implement helpers for diagnostic suppression on elements children
2021-03-06 09:22:35 +03:00
Mikhail Glukhikh
15c3269e38
FIR: don't report error on inline nested classes
2021-03-06 09:22:35 +03:00
Mikhail Glukhikh
1e4d7ff690
Fix LightTreePositioningStrategies.DECLARATION_NAME
2021-03-06 09:22:35 +03:00
eugenpolytechnic
f6e564ffa6
FIR: introduce inline classes checks
2021-03-06 09:22:34 +03:00
Ilya Gorbunov
9cc8f44390
Support mod and floorDiv extensions in constant evaluator
...
Ignore evaluation tests for floorDiv and mod with FIR for now.
2021-03-05 23:46:57 +03:00
Ilya Gorbunov
58e6f775bb
Rename test of rem operator evaluation
2021-03-05 23:46:57 +03:00
Mads Ager
e5631addf3
[IR] Move annotations from original to new constructor declarations.
...
LocalDeclarationsLowering did not move annotations when creating
a new constructor declaration, thereby losing the annotations.
Fixes KT-45298
2021-03-05 12:24:38 -08:00
Mads Ager
965c118521
[JVM IR] Make upper bounds check recursive for ieee Equals.
...
Fixes KT-44402
2021-03-05 12:22:54 -08:00
Alexander Udalov
566f97ae3e
JVM IR: remove dependency of 'backend.jvm' on 'psi2ir', 'ir.serialization.jvm'
...
Add a new module 'backend.jvm.entrypoint' which depends on psi2ir and
contains code that runs psi2ir + JVM IR backend with serialization
implementations.
Hopefully this will allow to compile these modules in parallel and
reduce the build time.
2021-03-05 20:46:33 +01:00
Alexander Udalov
bec4d1903b
IR: move PsiFileEntry to ir.tree, rename to PsiIrFileEntry
2021-03-05 20:46:33 +01:00
Alexander Udalov
f332192de8
IR: remove SourceManager, make PsiSourceManager a singleton
2021-03-05 20:46:33 +01:00
Mikhael Bogdanov
8ff0b1e243
Reports warning on super calls in public-api inline functions
2021-03-05 18:45:07 +00:00
Andrei Klunnyi
a0b901b23a
Revert "[FIR]: sealed hierarchy processor for IDE"
...
This reverts commit e6ccdff2
2021-03-05 16:37:47 +01:00
Andrei Klunnyi
e6ccdff2f7
[FIR]: sealed hierarchy processor for IDE
...
From now on sealed declarations get resolved with the help of
FirIdeSealedHierarchyProcessor. This change entails correct IDE side
check for sealed when exhaustiveness.
2021-03-05 10:20:19 +00:00
Dmitriy Novozhilov
aa829c2321
[FIR2IR] Fix using default values of annotation arguments
2021-03-05 13:00:12 +03:00
Dmitriy Novozhilov
bd7689d381
[FIR] Properly compute default arguments of java annotations
2021-03-05 13:00:11 +03:00
Dmitriy Novozhilov
8324f499cd
[FIR] Fix serializing annotation metadata on setters value parameters
2021-03-05 13:00:11 +03:00
Jinseong Jeon
8368812432
Minor cleanup: avoid vague util names
2021-03-05 10:06:22 +03:00
Jinseong Jeon
8b24f4b5c6
Minor cleanup: place modifier strategies close to each other
2021-03-05 10:06:22 +03:00
Jinseong Jeon
1ba943eb4a
Minor cleanup: prefer actual body with return statement
2021-03-05 10:06:22 +03:00
Jinseong Jeon
9badbfc30d
FIR checker: simplify isExpect|isExternal checks
...
Those resolve information are different from modality/visibility, which
could have conflicting modifiers.
2021-03-04 17:56:30 +03:00
Jinseong Jeon
774ba58062
FIR checker: pluralize top-level/member function/property checkers
2021-03-04 17:56:30 +03:00
Jinseong Jeon
d348e58183
FIR: rename util to retrieve primary constructor
2021-03-04 17:56:30 +03:00
Jinseong Jeon
1090eca086
RAW FIR: record property accessors' own modality properly
2021-03-04 17:56:30 +03:00
Jinseong Jeon
e009b71f88
FIR checker: report uninitialized member/extension properties
2021-03-04 17:56:29 +03:00
Jinseong Jeon
e8028e7825
FIR checker: report nullable/non-class LHS of class literals
2021-03-04 17:09:52 +03:00
Dmitriy Novozhilov
a6d1d47918
[FIR] Fix clearing info about DF variable after reassignment
2021-03-04 17:09:17 +03:00
Dmitriy Novozhilov
f8adce8b96
[FIR] Cleanup data flow analysis of safe calls
2021-03-04 17:09:17 +03:00
Mikhail Glukhikh
48001dbbb2
FirConstPropertyChecker: add some TODOs
2021-03-04 16:13:50 +03:00
Mikhail Glukhikh
6470b713d5
FIR: set isConst on primary constructor properties
2021-03-04 16:13:50 +03:00
Mikhail Glukhikh
d7a6fc80b0
FIR: don't report CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT on variables
2021-03-04 16:13:50 +03:00
Br0mm
dd3bc1a964
FIR: Introduce CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT diagnostic
2021-03-04 16:13:50 +03:00
Tianyu Geng
89ce629352
FIR: report VARARG_OUTSIDE_PARENTHESES
2021-03-03 20:23:59 +03:00
Mikhail Glukhikh
b7cb39fdd1
Drop/inline unused members of FirTowerDataContextsForClassParts
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
b2b502338a
FIR: move lambda / reference specific contexts to general context parts
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
eca1256d7e
FIR: refactor property & initializer resolve
2021-03-03 17:15:26 +03:00
Mikhail Glukhikh
130e3552ea
Unite different tower contexts in FirTowerDataContextsForClassParts
2021-03-03 17:15:26 +03:00
Jinseong Jeon
5923cbd76f
FIR: remove unnecessary override in PreliminaryLoopVisitor
2021-03-03 12:27:12 +03:00
Jinseong Jeon
f1fa290d49
FIR checker: report val reassignment
2021-03-03 12:27:11 +03:00
Mikhail Glukhikh
45ba035431
Drop obsolete TODO during FIR building
2021-03-03 08:55:48 +03:00
Mads Ager
8e9dfc23b6
FIR: Take targeted annotations into account for metadata
...
Getter/setter targeted annotations were not correctly reflected
in the kotlin metadata which made them not work with
kotlin-reflect.
2021-03-03 08:48:28 +03:00
Dmitriy Novozhilov
d45709993e
[FIR] Support reading annotations of properties from interfaces in different jvm default modes
2021-03-02 19:11:28 +03:00
Dmitriy Novozhilov
714c2a8f93
[FIR] Bind return expression to function symbol instead of function itself
2021-03-02 19:11:27 +03:00
Dmitriy Novozhilov
245bc7c8e2
[FIR2IR] Fix interpreting constants from const properties from other module
2021-03-02 19:11:26 +03:00