Commit Graph

37295 Commits

Author SHA1 Message Date
Ivan Kochurkin a816bd9a33 [FIR] Add JVM_INLINE_WITHOUT_VALUE_CLASS, VALUE_CLASS_WITHOUT_JVM_INLINE_ANNOTATION 2021-09-13 20:49:00 +03:00
Ivan Kochurkin 7e7066d75e [FIR] Add FUNCTION_DELEGATE_MEMBER_NAME_CLASH 2021-09-13 20:48:59 +03:00
Ivan Kochurkin a5caa14255 [FIR] Add SPREAD_ON_SIGNATURE_POLYMORPHIC_CALL 2021-09-13 20:48:59 +03:00
Ivan Kochurkin 5760a94ab4 [FIR] Add CONCURRENT_HASH_MAP_CONTAINS_OPERATOR 2021-09-13 20:48:58 +03:00
Ivan Kochurkin 0ffd6ccb34 [FIR] Add SUSPENSION_POINT_INSIDE_CRITICAL_SECTION 2021-09-13 20:48:57 +03:00
Ivan Kochurkin e97933a9e5 [FIR] Add POSITIONED_VALUE_ARGUMENT_FOR_JAVA_ANNOTATION 2021-09-13 20:48:55 +03:00
Ivan Kochurkin dd46c36b24 [FIR] Add SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC 2021-09-13 20:48:54 +03:00
Ivan Kochurkin 07edb15138 [FIR] Expand typealias for correct approximation of types (particularly Int and Long) 2021-09-13 14:28:26 +00:00
Dmitriy Novozhilov d390f881c8 [FE 1.0] Record USED_AS_EXPRESSION for unreachable CFG nodes
^KT-48708 Fixed
2021-09-13 16:22:50 +03:00
Dmitry Gridin 72752473bf [light classes] KtLightClassForSourceDeclaration: update equals and hashCode to fix PluginException
^KTIJ-19042 Fixed
^EA-357501 Fixed
2021-09-13 11:43:22 +00:00
Dmitriy Novozhilov feeeb16377 [FIR] Fix consistency tests 2021-09-13 13:53:15 +03:00
Dmitriy Novozhilov 765b389875 [FIR] Mute failing test due to KT-48675 2021-09-13 13:53:14 +03:00
Dmitriy Novozhilov d1db9b17e5 [FIR] Add workaround for KT-48675 2021-09-13 13:53:13 +03:00
Dmitriy Novozhilov 5769d42248 [FIR] Fix all usages of annotations due to new FirAnnotation hierarchy 2021-09-13 13:53:12 +03:00
Dmitriy Novozhilov 2e7564a21e [FIR] Properly create FirAnnotation and FirAnnotationCall in all places 2021-09-13 13:53:12 +03:00
Dmitriy Novozhilov 31a7d8d5a4 [FIR] Split FirAnnotation into FirAnnotation and FirAnnotationCall
FirAnnotation represents simple annotation placed on some element.
  This element contains only annotation type ref and simple argument
  mapping

FirAnnotationCall is a element for call of annotation (`@Ann(args)`)
  which was written in user code. FirAnnotationCall is a resolvable call
2021-09-13 13:53:11 +03:00
Dmitriy Novozhilov 52e339593e [FIR] Infer name of FIR elements in generator from property name 2021-09-13 13:53:10 +03:00
Dmitriy Novozhilov 4b662a42a1 [FIR] Rename FirAnnotationCall to FirAnnotation 2021-09-13 13:53:09 +03:00
Dmitriy Novozhilov a7353d5a02 [FIR] Remove redundant deprecated annotation 2021-09-13 13:53:08 +03:00
Dmitriy Novozhilov 728df8127c [FIR] Unify FirResolvedArgumentList with FirPartiallyResolvedArgumentList
Effectively FirPartiallyResolvedArgumentList was resolved argument list
  for error calls, so not all arguments had proper value parameter. So
  FirPartiallyResolvedArgumentList now inherits FirResolvedArgumentList
  and renamed to FirResolvedArgumentListForErrorCall
2021-09-13 13:53:08 +03:00
Dmitriy Novozhilov 8904d6fde9 [FIR] Remove BodyBuildingMode.STUBS from RawFirBuilder 2021-09-13 13:53:07 +03:00
Dmitriy Novozhilov 116a1c1e46 [FIR] Remove stubMode flag from RawFirBuilder and LightTree2Fir converter 2021-09-13 13:53:05 +03:00
Roman Artemev a2e4ebd820 [JS IC] Support //RECOMPILE directive in js box tests
- change test runner to production mode when sources are being compiled
 into klib and then klib is being translated into js, not directly from
 kt to js
 - fix IC cache format
 - support IC tests
2021-09-13 13:44:55 +03:00
Roman Artemev 6b2fee7143 [JS IC] Add holder class for incremental codegen cache 2021-09-13 13:44:54 +03:00
Roman Artemev 08aa909569 [JS IC] Add API to save/restore binary AST into IR codegen cache
- Add EMPTY stubs for cache accessors
2021-09-13 13:44:49 +03:00
Roman Artemev 3b53c97c2c [JS IR] Fix test data 'kt -> ir -> klib -> ir -> js' aka prod mode
- fix order in dts tests
 - unmute fixed test in prod mode
 - mute filing expect-actual link test in prod mode
2021-09-13 13:44:46 +03:00
Ilmir Usmanov ca72ba5538 Minor. Regenerate tests 2021-09-13 04:51:10 +03:00
pyos 0f2937bae5 JVM_IR: use nullability when boxing/unboxing inline class types
Given inline class V(Any?), a coercion from (Object, V) to (Object, V?)
is boxing.

In theory, the same issue in the old backend can be fixed by making
`KotlinTypeMapper.mapUnderlyingTypeOfInlineClassType` use
`computeExpandedTypeForInlineClass`, but for some reason this breaks a
lot of stuff.

 #KT-48430 Fixed
2021-09-13 04:51:08 +03:00
Dmitriy Novozhilov 70e8d23d6b Fix new warnings in project code 2021-09-12 16:19:33 +03:00
Dmitriy Novozhilov 7a7672b0de [FE 1.0] Fix reporting of non exhaustive when statement for whens with subject
^KT-48653 Fixed
2021-09-12 16:04:18 +03:00
Nikolay Lunyak f6ae6af741 [FIR] Add test data 2021-09-11 22:05:43 +03:00
Nikolay Lunyak 4e56ba2fa4 [FIR] Forbid backing fields for delegated properties 2021-09-11 22:05:43 +03:00
Nikolay Lunyak e4473ad94c [FIR2IR] Add Fir2IrSpecificBytecodeListing tests support 2021-09-11 22:05:42 +03:00
Nikolay Lunyak 6b532ccd0d [FIR] Allow lateinit FirBackingField's 2021-09-11 22:05:41 +03:00
Nikolay Lunyak 871aebd423 [FIR] Make FirBackingField initializer optional 2021-09-11 22:05:41 +03:00
Nikolay Lunyak 3a3ef161d1 [FIR] Add a REDUNDANT_EXPLICIT_BACKING_FIELD warning 2021-09-11 22:05:40 +03:00
Nikolay Lunyak 66beecfb18 [FIR] Improve backing field diagnostics positioning 2021-09-11 22:05:40 +03:00
Nikolay Lunyak 2aafe84eef [FIR] Forbid explicit backing fields in extension properties 2021-09-11 22:05:39 +03:00
Nikolay Lunyak d5ddd3cee3 [FIR] Fix backingField usage in FirVolatileAnnotationChecker 2021-09-11 22:05:39 +03:00
Nikolay Lunyak e571de5942 [FIR] Fix dumpKotlinLike 2021-09-11 22:05:38 +03:00
Nikolay Lunyak 79ceaf03bf [FIR] Add ir support 2021-09-11 22:05:38 +03:00
Nikolay Lunyak 8b918e12b2 [FIR] Simplify FirPropertyFieldDeclarationChecker 2021-09-11 22:05:37 +03:00
Nikolay Lunyak 30e52186eb [FIR] Make default accessors always present 2021-09-11 22:05:37 +03:00
Nikolay Lunyak cc0d63117a [FIR] Add property type narrowing 2021-09-11 22:05:36 +03:00
Nikolay Lunyak 56b2a984ce [FIR] Quick fix FirModifierChecker 2021-09-11 22:05:35 +03:00
Nikolay Lunyak 25124cca3d [FIR] Add an interface/abstract checker for the backing field 2021-09-11 22:05:35 +03:00
Nikolay Lunyak aefd6c30ad [FIR] Merge FirPropertyFieldDeclarationSymbol into FirBackingFieldSymbol 2021-09-11 22:05:34 +03:00
Nikolay Lunyak 1291f9e460 [FIR] Add missing getters generation 2021-09-11 22:05:34 +03:00
Nikolay Lunyak b72488b4c2 [FIR] Add replaceGetter & replaceSetter 2021-09-11 22:05:33 +03:00
Nikolay Lunyak 47abdf2de1 [FIR] Add a modifiers diagnostic for the backing field 2021-09-11 22:05:33 +03:00