Ilya Kirillov
a76c5d66eb
FIR: introduce FirDeclarationBuilder as a base class for all FIR declaration builders
2021-04-21 21:16:58 +03:00
Ilya Kirillov
da6c5e13d5
FIR IDE: add completion support to classes and to type aliases
2021-04-21 21:16:56 +03:00
Mikhail Glukhikh
e0c8a6658b
FIR: handle annotations on non-containers more precisely
2021-04-21 13:22:10 +03:00
Ilya Chernikov
34694cbec5
FIR: get rid of transformSingle in the generated code
...
further reduce of the callstack depth
2021-04-13 16:18:40 +02:00
Ilya Chernikov
9d557c8b79
FIR: reduce visitor/transformer indirection
...
performance: do not route transform calls via
visitors, reduce call stack depth on transformations
2021-04-13 16:18:40 +02:00
Ilya Chernikov
dfd5e80ce9
FIR: Get rid of CompositeTransformResult
2021-04-13 16:18:39 +02:00
Nikolay Krasko
14ead33db6
Add teamcity problems when generating files instead of exception
2021-04-08 18:51:10 +03:00
Abduqodiri Qurbonzoda
40d1849f33
Migrate compiler, idea and others to new case conversion api
2021-04-08 03:22:02 +03:00
Dmitriy Novozhilov
3ef87d0265
[FIR] Add effective visibility to resolved status
...
This commit includes:
- introduce FirResolvedDeclarationStatus.effectiveVisibility
- replace FirEffectiveVisibility with EffectiveVisibility
- move calculation of effective visibility from FirEffectiveVisibilityResolver
(which is deleted) to FirStatusResolver and FirDeserializer
2021-04-06 12:30:46 +03:00
Dmitriy Novozhilov
66668b2294
[FIR] Support resolve of local typealiases
2021-04-06 12:30:42 +03:00
Dmitriy Novozhilov
5ebd24eac5
[FIR] Save inline status of lambda after resolution
2021-04-06 12:30:34 +03:00
Tianyu Geng
ae902e6fe5
FIR: fix source of callee reference in delegated constructor call
...
Previously the callee reference of a delegated constructor call is
always the same as the call itself. This violates the contract that no
two FIR elements can have identical sources. In addition, this sets the
entire call expression as the source of the callee expression.
This change instead sets the proper constructor ref as the callee.
Also fixed EXPLICIT_DELEGATION_CALL_REQUIRED type. It should be an error
instead of a warning.
2021-03-29 12:45:27 +03:00
Ilya Kirillov
010f1cb634
FIR IDE: build KtJavaFieldSymbol only for Java fields
2021-03-22 11:27:22 +01:00
Mikhail Glukhikh
06a80c0b34
FIR tree generator: merge fields from parents properly
2021-03-15 15:33:38 +03:00
Mikhail Glukhikh
7f7a964b2e
FIR: annotate 'replaceSource' with '@FirImplementationDetail'
2021-03-15 15:33:38 +03:00
Mikhail Glukhikh
c641fa739b
FIR: provide 'replaceSource' only for FirQualifiedAccess inheritors
2021-03-15 15:33:38 +03:00
Alexander Likhachev
faf9600ff0
[Build] Fix configuration cache issues (part 2)
...
* Make WriteCopyrightToFile task compatible with configuration cache
* Configure shadowJar task in compatible with configuration cache way
* Configure compileJava9Java task in compatible with configuration cache way
* Make :js:js.tests buildscript compatible with configuration cache
Relates to #KT-44611
2021-03-11 14:12:33 +03:00
Dmitriy Novozhilov
1fac1fc5d3
[FIR] Add proper rendering of FirJavaTypeRef
2021-03-02 19:11:19 +03:00
Dmitriy Novozhilov
4299794de2
Move SmartPrinter to :core:compiler.common
2021-03-02 19:11:10 +03:00
Mikhail Glukhikh
742f1e0069
FIR: add replaceSource to all FIR tree nodes
2021-02-19 18:24:45 +03:00
Mikhail Glukhikh
8bab208322
FIR2IR: use information about callable reference adaptation from resolve
2021-02-15 17:08:08 +03:00
Dmitriy Novozhilov
0e31551797
[FIR] Generate _ instead of value for unused setters in FIR builders
2021-02-12 14:50:45 +03:00
Roman Golyshev
88e7d1e5ee
FIR: Attach candidate symbol to the ErrorNamedReference
...
This allows to restore the referenced candidate in cases when there are
no ambiguity
Also, change rendering of named references to be more accurate, so the
diagnostics tests pass: if reference is FirErrorNamedReference, it is
more important than if it has a not-null `candidateSymbol`
2021-02-12 10:53:15 +00:00
Alexander Udalov
3dfd2a95fa
Minor, do not output "Not changed" for generated FIR checkers on each build
2021-02-10 12:04:40 +01:00
Ilya Kirillov
5cefad1ab3
FIR: use GeneratorsFileUtil for checkers-component-generator
2021-02-09 17:15:38 +01:00
Ilya Kirillov
b92dce9be4
FIR: introduce DSL to generate diagnostics list
...
this is needed to generate diagnostic list for IDE
2021-02-09 17:14:22 +01:00
Dmitriy Novozhilov
ad677046a8
[FIR] Replace isExhaustive flag with ExhaustivenessStatus object
2021-02-09 16:04:40 +03:00
Dmitriy Novozhilov
11ab37160e
[FIR] Save info that when was used as expression
2021-02-09 16:04:39 +03:00
Mikhail Glukhikh
d4b0688690
FIR: introduce delegate field initializers
...
Before this commit we initialized delegate fields in primary constructor,
that could provoke NPE in case delegate is used in initializer of
some property backing field.
Now we initialize delegate fields directly instead.
2021-02-08 14:28:27 +03:00
Dmitriy Novozhilov
771600077c
[Test] Fail if there are changes in generated fir tree files in teamcity build
2021-02-01 10:18:37 +03:00
Igor Yakovlev
2e4daee1d4
[FIR] Fix invalid diagnostic fir node sites and improved invalid type parameters count diagnostic report
2021-01-21 15:20:30 +03:00
Simon Ogorodnik
b7d3469819
[FIR] Remove transform/accept from FirResolvedTypeRef.delegateTypeRef
2021-01-21 15:20:30 +03:00
Igor Yakovlev
243f85a4d6
[FIR IDE] Add base support for FIR incomplete types resolve
2021-01-21 15:20:30 +03:00
Svyatoslav Kuzmich
cf228bebc3
Use static year range in copyright of generated FIR and tests
...
Dynamically calculating a year is problematic, especially in cases like
FIR where generation happens in every build. When you are working on a
last year's commit, each build creates a bunch of uncommited
changes of updating the year in copyrights.
2021-01-19 17:17:31 +03:00
Stanislav Erokhin
d24331955e
Rename FirConstKind to ConstantValueKind and move it to compiler.common
2021-01-14 12:12:25 +01:00
Mikhail Glukhikh
d663f204e5
FIR Java: make method annotations lazy
2020-12-28 12:06:51 +03:00
Mikhail Glukhikh
8c8f81330a
FIR Java: make value parameter annotations lazy
2020-12-25 14:07:16 +03:00
Mikhail Glukhikh
91834ccf46
Use FirNamedFunctionSymbol in FirSimpleFunction & its inheritors
2020-12-09 19:53:19 +03:00
Denis Zharkov
387fd895a6
FIR: Drop unused FirComposedSuperTypeRef
2020-11-16 15:50:39 +03:00
Vyacheslav Gerasimov
3feff16a77
Cleanup 193 compatibility fixes
2020-11-11 14:28:54 +03:00
Denis Zharkov
ecb89a66be
FIR: Copy attributes when copying declaration
...
Otherwise they share FirDeclarationAttributes instance that might lead
to problems when modifying only one of them
2020-10-28 11:43:25 +03:00
Denis Zharkov
995b1aa1eb
FIR: Add FirCallableMemberDeclaration::dispatchReceiverType
2020-10-28 11:43:25 +03:00
Dmitriy Novozhilov
e07f63d26c
[FIR] Move declaration attributes to declaration builders
2020-10-16 15:24:56 +03:00
Ilya Kirillov
971e551bae
FIR IDE: implement lazy delegate initializers
2020-10-14 22:11:00 +03:00
Ilya Kirillov
81d4371685
FIR IDE: generate lazy initializers for properties
2020-10-14 22:10:59 +03:00
Ilya Kirillov
7c1170722f
FIR: add FirLazyExpression node
2020-10-14 22:10:58 +03:00
Ilya Kirillov
4fae9cbdb0
FIR: introduce FirLazyBlock node
2020-10-14 22:10:55 +03:00
Jinseong Jeon
8c88670185
FIR: copy constructor for typealias'ed inner/nested class
2020-10-08 16:33:13 +03:00
Dmitriy Novozhilov
53a7d69ca6
[FIR] Make FirPropertyAccessor inherits FirCallableMemberDeclaration
2020-09-29 10:17:43 +03:00
Dmitriy Novozhilov
a8e81e9ad1
[FIR] Add special node for implicit invoke calls
2020-09-23 14:05:11 +03:00