Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Denis.Zharkov
f3e28c3767
FIR: Prepare ConeAttribute infrastructure for non-singleton attrs
2022-04-06 16:05:25 +00:00
Dmitriy Novozhilov
52b72a7dac
[FIR] Implement Int -> Long conversions for literals and operators over them
...
^KT-38895
^KT-50996 Fixed
^KT-51000 Fixed
^KT-51003 Fixed
^KT-51018 Fixed
2022-02-07 13:36:36 +03:00
Dmitriy Novozhilov
b980f5ab32
[FIR] Introduce new kind of integer literal types for constant operator calls
2022-02-07 13:36:35 +03:00
Dmitriy Novozhilov
10c38ba47c
[FIR] Reorganize cone type utilities
...
Make some overrides of members of Cone types final
2022-02-07 13:36:34 +03:00
Dmitriy Novozhilov
0bd3e8f418
[FIR] Rename ConeClassErrorType to ConeErrorType, drop ConeKotlinErrorType alias
2022-02-07 13:36:33 +03:00
Dmitriy Novozhilov
9c6292db6f
[FIR] Split cone types declarations into multiple files
2022-02-07 13:36:33 +03:00
Mikhail Glukhikh
27d4c745cb
ConeSimpleKotlinType: introduce & use unwrapDefinitelyNotNull
2022-02-03 19:12:17 +03:00
Mikhail Glukhikh
81ff9b820a
FIR: make ConeSimpleKotlinType the only original for definitely not-null
2022-02-03 19:12:16 +03:00
Irene Dea
3c4989b672
Address JDK8/JDK6 issues with computeIfAbsent
2022-01-08 15:26:44 +03:00
Irene Dea
62bde2d686
Move AttributeArray to compiler.common so frontend extension can share it
2022-01-08 15:25:06 +03:00
Vyacheslav Gerasimov
f7a9065b75
Build: Use intellij maven repo instead of downloaded IDEA
...
#KTI-82
2021-12-16 21:48:23 +03:00
Simon Ogorodnik
9e8727e6a8
FIR Minor: Reformat
2021-12-15 22:23:14 +03:00
Simon Ogorodnik
bb13583862
FIR: Rename stub type for builder inference
2021-12-15 22:23:13 +03:00
Simon Ogorodnik
df9da371cb
FIR: Fix synthetic type variables to independent stub types
2021-12-15 22:23:11 +03:00
Simon Ogorodnik
3fadf1cb46
FIR: Avoid creating new stub type constructors on nullability replacing
2021-12-15 22:22:59 +03:00
Simon Ogorodnik
196be93d42
FIR: Add separate type constructor to stub types
2021-12-15 22:22:54 +03:00
Mikhail Glukhikh
2ba2453062
ConeFlexibleType: statically require to have simple bounds
2021-12-06 18:07:19 +03:00
Denis.Zharkov
e26abbbbb0
FIR: Implement ConeTypeVariableType::equals/hashCode manually
...
`typeAttributes` are not considered as a part of equality for other type kinds
2021-11-26 19:39:44 +03:00
Dmitriy Novozhilov
8cdddbfd9d
[FIR] Implement checkers for FIR parcelize plugin
...
There is one of checks left unimplemented (FirParcelizePropertyChecker.checkParcelableClassProperty)
because it requires huge commonization of detecting which type can be
serialized and which not, which is not prioritized job for now
2021-11-23 15:01:31 +03:00
Ivan Kochurkin
291bc74676
[FIR] Add CANNOT_CHECK_FOR_ERASED
2021-11-12 15:20:43 +03:00
Dmitriy Novozhilov
bee44c6e0f
[FIR] Split :compiler:fir:resolve module into three different modules
...
Those modules are:
- :compiler:fir:providers, which contains Fir and Symbol providers,
scopes, and different utilities used by them
- :compiler:fir:semantics, which contains different abstractions and
entities which are used in resolution and in checkers
- :compiler:fir:resolve, which contains all stuff related to resolution
and inference
There are two pros of this change:
1. It may increase gradle build, because it allows to compile :fir:resolve
and :fir:checkers modules in parallel
2. Logic of working FIR (scopes, providers, DFA logic system, etc) is
now separated from logic of resolution phases, so for example checkers,
which are depend on scopes physically will not be able to run resolve
in any way
2021-10-18 11:10:47 +03:00
Mark Punzalan
4f0b52b653
FIR: Transform annotations on type arguments during body resolve.
2021-10-12 18:56:32 +03:00
Dmitriy Novozhilov
38877ba842
[FIR] Implement extension for providing additional type attributes
2021-10-12 17:26:32 +03:00
Dmitriy Novozhilov
26fa772846
[FIR] Add ability to generate members and nested classifiers for existing classes
2021-10-12 17:26:30 +03:00
Ilya Kirillov
cdde765ad9
FIR: precise lookupTag parameter of ConeTypeVariableType as it always accepts ConeTypeVariableTypeConstructor
2021-09-30 01:45:55 +03:00
Tianyu Geng
14452661cc
FIR IDE: makes HL ref shortener tolerate missing type arg in type refs
2021-09-29 22:24:25 +02:00
Tianyu Geng
951812f130
FIR checker: record whether type mismatch is due to nullability
...
This is useful for downstream quickfixes.
2021-09-17 01:59:01 +03:00
Dmitriy Novozhilov
37b427c656
[FIR] Combine type attributes in typealias expansion
...
^KT-48651 Fixed
2021-09-15 17:11:31 +03:00
Dmitriy Novozhilov
5c2a3bb78e
[FIR] Move duplicating names and classIds to StandardClassIds
2021-09-15 17:11:29 +03:00
Denis.Zharkov
dc79d8641b
Change rendering for definitely non-nullable types from T!! to T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:14 +03:00
Mark Punzalan
16eabf0ff1
FIR: Add ConeDiagnosticWithCandidates and
...
ConeDiagnosticWithSingleCandidate to ConeDiagnostic type hierarchy.
2021-08-31 14:59:06 +03:00
Denis.Zharkov
112af9b145
FIR: Rework bare types support
...
^KT-48305 Fixed
2021-08-30 16:24:44 +03:00
Dmitriy Novozhilov
0924216ed2
[FIR] Distinguish stub types for builder inference and for subtyping
...
^KT-48110 Fixed
2021-08-26 10:08:52 +03:00
Mikhail Glukhikh
19ab0ab2f8
FIR: approximate intersections in public position properly
...
#KT-48166 Fixed
2021-08-23 14:18:36 +03:00
Denis.Zharkov
753ba99b04
FIR: Support enhanced types when checking if Java type is primitive
2021-08-17 21:38:01 +03:00
Dmitriy Novozhilov
a6edd852ff
[FIR] Report NON_EXHAUSTIVE_WHEN_STATEMENT/NO_ELSE_IN_WHEN for when's on logical types
...
^KT-47709 In Progress
2021-07-20 13:33:44 +03:00
Andrey Zinovyev
de3f31cf78
[FIR] Partial implementation of DEPRECATION(_ERROR) diagnostics
...
No support for inheritance deprecations
and deprecations in qualifier's parts
2021-07-07 16:19:28 +03:00
Mikhail Glukhikh
bd39e457a7
FIR: make ArrayMapOwner.arrayMap really protected
2021-06-11 22:03:32 +03:00
Mikhail Glukhikh
0e63484738
Fix OptIn marker usages in code according to new limitation
2021-06-08 11:37:35 +03:00
Denis.Zharkov
c420957eac
FIR: Report INFERENCE_NO_INFORMATION_FOR_PARAMETER diagnostic
2021-06-07 15:25:45 +03:00
Ivan Kochurkin
ca970f0a8b
[FIR] Add ConeKotlinTypeConflictingProjection, return it from substituteArgument instead of ConeStarProjection in appropriate cases, remove plus operator from ProjectionKind
2021-06-03 18:24:30 +03:00
Mikhail Glukhikh
632a9d66d1
FIR: introduce isPrimitive / isPrimitiveOrNullablePrimitive helpers
2021-05-13 16:13:42 +03:00
Mark Punzalan
9cf5ac1fbd
FIR: Render "?" on nullable function types.
2021-04-26 15:11:37 +03:00
Dmitriy Novozhilov
564de2790f
[FIR] Resolve array literals in independent context
2021-04-16 11:12:56 +03:00
Dmitriy Novozhilov
7c6a9aa963
[FIR] Store cachedExpandedType in WeakPair instead of usual Pair
...
WeakPair is a renamed OneElementWeakMap
2021-04-15 10:30:29 +03:00
Mikhail Glukhikh
fa4d664a18
FIR initializer: don't report type mismatch in SomeInt = Int case
2021-04-13 21:36:34 +03:00
Mikhail Glukhikh
e2cc0510de
Rewrite FirDeclarationDataRegistry.data to avoid type parameter problems
2021-04-09 07:56:35 +03:00
Igor Yakovlev
d05ef3a635
[FIR] Move standard class id's into common module
2021-04-07 11:25:21 +02:00
Ivan Kylchik
30bd39aabf
[FIR] Allow to render function type with custom cone type renderer
2021-03-29 18:11:14 +03:00