Commit Graph

4865 Commits

Author SHA1 Message Date
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
Dmitriy Novozhilov a7e6667648 [FIR] Properly deserialize annotations of properties in interfaces 2021-03-02 19:11:24 +03:00
Dmitriy Novozhilov da0fd7cc15 [FIR2IR] Approximate non-denotable types when converting ConeType to IrType 2021-03-02 19:11:21 +03:00
Dmitriy Novozhilov c271f953d7 [FIR] Introduce ConeTypeApproximator 2021-03-02 19:11:20 +03:00
Dmitriy Novozhilov 1fac1fc5d3 [FIR] Add proper rendering of FirJavaTypeRef 2021-03-02 19:11:19 +03:00
Dmitriy Novozhilov af79265f42 [FIR] Fix creating overrides for functions with name same as renamed in JVM builtins 2021-03-02 19:11:15 +03:00
Dmitriy Novozhilov 523d37b0f5 [Test] Implement handler which dumps overrides tree of specified classes 2021-03-02 19:11:14 +03:00
Dmitriy Novozhilov 4299794de2 Move SmartPrinter to :core:compiler.common 2021-03-02 19:11:10 +03:00
Tianyu Geng 17617ffd3f IDE FIR: fix resolving vararg parameter type
For a vararg parameter type, there corresponding FIR element has a fake
source of kind ArrayTypeFromVarargParameter. As a result,
`getOrBuildFir` returns the whole `FirValueParameter` for the parameter
type reference. Therefore, we need some special handling for this case
in order to resolve the proper `KtSymbol`.
2021-03-02 12:46:55 +01:00
Anton Bannykh 87f3ca3f36 IR: make isExternal immutable 2021-03-02 14:30:18 +03:00
Ilya Kirillov 48761648d5 FIR IDE: correctly copy containingClassAttr when reanalysing declaration 2021-03-02 09:16:05 +01:00
Ilya Kirillov 70c98d34d2 FIR IDE: add test which check that every declaration is visited single time during diagnostic collection 2021-03-02 09:16:05 +01:00
Ilya Kirillov 0b921ed9d8 FIR IDE: fix collecting diagnostics multiple times for the same declaration
^KT-45199 fixed
2021-03-02 09:16:05 +01:00
Mikhael Bogdanov 989fea3399 Remove version requirements for -Xjvm-default=enable (1.2.40) and JvmFieldInInterface(1.2.70) 2021-03-01 16:20:20 +01:00
Mikhael Bogdanov 49aa36b70d Generate local delegated properties in interface in jvm-default all modes 2021-03-01 16:20:20 +01:00
Mikhael Bogdanov ad8eddac99 Add test for private suspend and JVM defaults 2021-03-01 16:20:19 +01:00
Mikhael Bogdanov 8764bb09f2 Generate synthetic annotation method in interface if -Xjvm-default is on 2021-03-01 16:20:19 +01:00
Mikhail Glukhikh a101d12c78 Simplify PositioningStrategy in FIR diagnostic DSL 2021-03-01 16:57:56 +03:00
Mikhail Glukhikh 6fee46316e FIR: fix MANY_COMPANION_OBJECTS positioning 2021-03-01 16:57:55 +03:00
Tianyu Geng 724ca1d3ee FIR: introduce diagnostic NESTED_CLASS_NOT_ALLOWED 2021-03-01 16:57:54 +03:00
Jinseong Jeon c5cabce2d5 FIR: check visibility properly for CANNOT_CHANGE_ACCESS_PRIVILEGE 2021-03-01 16:57:51 +03:00
Vasily Levchenko d2c9116b51 [fir][test] ignore native tree 2021-02-26 15:32:43 +01:00
Mikhail Glukhikh b138b166e3 FIR: use EQUALS & TO_STRING from OperatorNameConventions 2021-02-26 13:50:26 +03:00
Jinseong Jeon e6cfd5d06f FIR: move data class synthetic members' names 2021-02-26 13:50:25 +03:00
Jinseong Jeon 856838f82c FIR: refactor delegate unwrapping
Not implemented override checker will use those to pretend to make
delegeted members (before checking similarly pretended fake overrides)
2021-02-26 13:50:24 +03:00
Mikhail Glukhikh 2bf3abcb29 FIR: cache accessor symbols in JavaClassUseSiteMemberScope 2021-02-26 12:27:07 +03:00
Mikhail Glukhikh 750a39a053 JavaClassUseSiteMemberScope: optimize createOverridePropertyIfExists
Avoid calculating getter & setter twice
2021-02-26 12:27:01 +03:00
Alexander Udalov acc2256de9 IR: support smart cast values in RangeContainsLowering
#KT-44878 Fixed
2021-02-25 21:00:09 +01:00