Nikolay Lunyak
a0982341ee
[FIR] Update parser test data
2021-09-11 22:05:28 +03:00
pyos
23420ecf7a
IR: do not infer array element types for non-annotation constants
...
While annotations restrict the set of allowed types to a few final
built-ins, in arbitrary constants we can have array elements that are
some subtype of the array's element type.
#KT-48671 Fixed
2021-09-10 21:55:15 +02:00
Mikhail Glukhikh
fc6403679a
Rename !USE_EXPERIMENTAL test directive to !OPT_IN
2021-09-10 16:29:16 +03:00
Mikhail Glukhikh
3febabe977
Use OPT_IN instead of EXPERIMENTAL in diagnostic names
2021-09-10 16:29:13 +03:00
Tianyu Geng
05fbed68e2
FIR checker: report PROPERTY_AS_OPERATOR
2021-09-10 07:07:43 +03:00
Tianyu Geng
4915d8dda3
FIR checker: support DUPLICATE_LABEL_IN_WHEN
...
Changes from FE1.0:
1. As discussed previously, no expression evaluation happens during this
check.
2. FE1.0 doesn't check redundant object comparisons.
2021-09-10 07:07:42 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
fa12e72551
[FIR] Add REPEATABLE_CONTAINER_* diagnostics
...
REPEATABLE_CONTAINER_MUST_HAVE_VALUE_ARRAY
REPEATABLE_CONTAINER_HAS_NON_DEFAULT_PARAMETER
REPEATABLE_CONTAINER_HAS_SHORTER_RETENTION
REPEATABLE_CONTAINER_TARGET_SET_NOT_A_SUBSET
REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
6fa1c0353c
Use deprecation type for some REPEATABLE_* diagnostics
2021-09-10 00:49:06 +03:00
Ivan Kochurkin
f414a91c66
[FIR] Implement FirInterfaceDefaultMethodCallChecker
...
Add diagnostics: INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET,
INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER,
DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET
2021-09-10 00:49:04 +03:00
Ivan Kochurkin
97bc079634
[FIR] Add REPEATED_ANNOTATION_WITH_CONTAINER, NON_SOURCE_REPEATED_ANNOTATION
...
REPEATED_ANNOTATION_TARGET6
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
2baed77598
[FIR] Add JVM_SYNTHETIC_ON_DELEGATE diagnostic
...
Extract JVM names to common JvmNames
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
3725c58794
[FIR] Add INAPPLICABLE_JVM_FIELD, INAPPLICABLE_JVM_FIELD_WARNING
2021-09-10 00:49:02 +03:00
Ivan Kochurkin
d4746903c8
[FIR] Rename getOuterClass to getContainingDeclaration, fix if for local classes
...
Simplify checking of WRONG_NUMBER_OF_TYPE_ARGUMENTS
2021-09-10 00:49:01 +03:00
Ivan Kochurkin
816e8f487c
[FIR] Add JVM diagnostics about external declaration
2021-09-10 00:49:00 +03:00
Ivan Kochurkin
cfd2835254
[FIR] Add JVM Default diagnostics
2021-09-10 00:48:59 +03:00
Mikhail Glukhikh
f397553e94
PSI2IR: don't generate annotations on init block (related to KT-48687)
2021-09-09 22:14:48 +03:00
Mikhail Glukhikh
457a6f4e9d
IR: copy anonymous initializer annotations properly #KT-48687 Fixed
2021-09-09 22:14:48 +03:00
Nikolay Lunyak
1a3f47badd
[FIR] Make FirJvmStaticChecker more consistent with the legacy version
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
2a2c92d8b3
[FIR] Add support for JVM_STATIC_ON_EXTERNAL_IN_INTERFACE diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
7006426304
[FIR] Add support for JVM_STATIC_ON_CONST_OR_JVM_FIELD diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
f3d61c199b
[FIR] Add support for JVM_STATIC_ON_NON_PUBLIC_MEMBER diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
c2e5583780
[FIR] Add support for JVM_STATIC_NOT_IN_OBJECT_OR_COMPANION diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
276bfd9305
[FIR] Add support for OVERRIDE_CANNOT_BE_STATIC diagnostic
2021-09-09 20:00:38 +03:00
Nikolay Lunyak
5607be3920
[FIR] Add support for INAPPLICABLE_JVM_NAME diagnostic
2021-09-09 20:00:36 +03:00
Nikolay Lunyak
5ebad97cd5
[FIR] Add support for ILLEGAL_JVM_NAME diagnostic
2021-09-09 19:58:16 +03:00
Jinseong Jeon
c2964f688e
FIR LC: don't include annotations w/o use-site targets to property accessors
2021-09-09 16:07:09 +02:00
Alexander Udalov
64b911ea5e
JVM IR: do not optimize casts for primitives in TypeOperatorLowering
...
#KT-48659 Fixed
2021-09-09 15:06:57 +02:00
Dmitry Gridin
862e87b1ba
JavaElementFinder: support repeatable annotation container
...
^KTIJ-19318
2021-09-09 11:17:35 +00:00
Igor Laevsky
00f61978b8
WASM: Enable exception handling tests
2021-09-08 19:56:38 +03:00
Igor Laevsky
d99473fe4d
WASM: Canonicalize catches without finally blocks
2021-09-08 19:56:35 +03:00
Igor Laevsky
a246ec636e
WASM: Stupidify unit handling
...
Now every IR instruction returns an actual Unit instance.
All Unit's are actual objects passed around except for function boundaries.
2021-09-08 19:56:29 +03:00
Svyatoslav Kuzmich
b79719d6f5
[Wasm] Fix unit issues
...
- Materialize unit when its value is actually needed.
- Special-case Unit_getInstance return type at codegen. It should be a
proper Unit object instead of a "void"
2021-09-08 19:56:26 +03:00
Mikhail Glukhikh
20ddaa9ebf
Remove redundant upcast in JvmPropertiesLowering
...
#KT-48621 Fixed
2021-09-08 18:04:36 +03:00
Leonid Startsev
6f954462d6
Implement proper contract for generated java.lang.Annotation.hashCode()
...
#KT-48606 Fixed
2021-09-08 14:41:25 +00:00
pyos
94402ba488
FE: prefer enhancements for errors over enhancements for warnings
2021-09-08 16:54:17 +03:00
pyos
8f699248f1
FE: force flexibility on unannotated ?
...
TODO: unify this code with FIR
#KT-48515 Fixed
2021-09-08 16:54:17 +03:00
pyos
afa1d18cc2
FE: in NullMarked scope, enhance T! to at least T
...
#KT-44436 Fixed
2021-09-08 16:54:17 +03:00
pyos
f793afbfea
FE: do not enhance ? into ? extends @NotNull Object in JSR-305
...
This is already done in jspecify and makes more sense anyway.
2021-09-08 16:54:17 +03:00
Dmitry Gridin
724194dec0
[ULC] fix testData in the plugin (related to repeatable annotation)
2021-09-08 19:50:40 +07:00
Victor Petukhov
810aee60db
Get nested builder inference sessions properly, across delegated inference sessions too
...
^KT-48445 Fixed
2021-09-08 13:10:50 +03:00
Victor Petukhov
1d9ffebad6
Create resolution context for delegated property resolve as well
...
^KT-48445 Fixed
2021-09-08 13:10:46 +03:00
Victor Petukhov
ce02cd4729
Enable suspend conversions by default in 1.6
...
^KT-48618 Fixed
2021-09-08 13:09:20 +03:00
Victor Petukhov
86d8468b8b
Introduce a compiler X-flag to use the builder inference by default for all calls
...
^KT-48622 Fixed
2021-09-08 13:09:19 +03:00
Dmitry Petrov
df700117c3
Minor: update testData
2021-09-08 09:05:36 +03:00
Alexander Udalov
7e43000d9b
JVM: do not lose default parameter values during enhancement
...
The change in signatureEnhancement.kt in 432f581cb2 was incorrect.
Contrary to its name, the removed method `hasDefaultValueInAnnotation`
checked not only if the enhancement annotation has default value (which
is what the removed feature was about), but also if the parameter itself
declares default value. This was mistakenly substituted by just `false`
on line 234. The correct change is to use the `declaresDefaultValue`
flag of the original parameter.
It's kind of weird though that in case there's a nullability annotation
on the whole package (like in KT-48316) type enhancement is being done
on everything, including annotation constructors, whose parameter types
can't have any enhancement information. Maybe this should be improved
independently.
#KT-48316 Fixed
2021-09-07 19:05:48 +02:00
Dmitry Petrov
e28d4a1877
JVM_IR allow remapped variables in inplace arguments transformation
2021-09-07 19:46:03 +03:00
Dmitry Gridin
11e71e4e27
[ULC] support repeatable annotation and container
...
^KTIJ-19318
2021-09-07 12:47:24 +00:00
Dmitriy Novozhilov
661d89c67f
[FIR] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:46 +03:00
Dmitriy Novozhilov
9f4abd8ff7
[FE 1.0] Fix diagnostic message rendering for OVERRIDE_DEPRECATION
2021-09-07 14:11:45 +03:00