Dmitriy Novozhilov
43e7f54fae
[FIR] Add string representation for ConeKotlinType
...
`ConeKotlinType.render` moved from `tree` module to `types` module
2019-07-30 16:28:15 +03:00
Dmitriy Novozhilov
6c26fc1943
[FIR] Don't render Any? upper bounds of type parameters
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
d3670d4f5f
[FIR] Add Any? as default bound for all type parameters
2019-07-30 16:28:14 +03:00
Dmitriy Novozhilov
8a21785883
[FIR] Add Any? builtin typeref
2019-07-30 16:28:14 +03:00
Mikhail Glukhikh
d32e5065c5
FIR: implementation of delegateProvider in delegate resolve
2019-07-25 09:46:42 +03:00
Mikhail Glukhikh
213f951da3
FIR: partial implementation of delegate resolve #KT-32217 Fixed
2019-07-25 09:46:34 +03:00
Nikolay Krasko
c14f842aa0
Fix dependency between idea core environment and jdom
2019-07-17 23:50:32 +03:00
Mikhail Glukhikh
592cf4f4e8
Make FirNamedReferenceWithCandidate not resolved, fix receiver completion
...
Counting it as resolved provokes a lot of difficult to discover errors
2019-07-17 10:45:06 +03:00
Mikhail Glukhikh
c35d7eab70
Refactor FIR symbols to make them and their FIR element types more clear
...
This commit also fixes work with Java synthetic properties
2019-07-11 12:37:32 +03:00
Mikhail Glukhikh
046c82ab60
FIR: remove unused utility function
2019-06-24 18:51:13 +03:00
Simon Ogorodnik
0e60af95bf
Optimization: make every FIR node extend FirPureAbstractElement
2019-06-24 18:51:12 +03:00
Mikhail Glukhikh
ac730a693a
FIR: don't count implicit built-in type as a kind of implicit type
...
Before this commit, implicit Unit type for function with body and
without type, implicit Boolean type for conditions etc. were 'implicit'
types and resolved types together.
Sometimes this could lead to hard-to-find issues in FIR resolve, because
'implicit' types are usually handled there as 'necessary to resolve'
which is wrong for such effectively-resolved types.
2019-06-24 10:13:26 +03:00
Denis Zharkov
bf0781d790
FIR: Implement fast path for classes subtyping
2019-06-20 15:42:42 +03:00
Mikhail Glukhikh
c8003518a5
FIR: set super type reference properly
2019-06-20 15:26:40 +03:00
Mikhail Glukhikh
65d14ff097
FIR: do not try to calculate annotation call type
...
Annotation type is used instead
2019-06-20 15:26:40 +03:00
Mikhail Glukhikh
16ead49967
FIR: implement backing field references via 'field' synthetic variable
2019-06-20 15:26:39 +03:00
Mikhail Glukhikh
b3c21d6e14
Optimize FirClassSymbol.hashCode()
2019-06-19 22:54:14 +03:00
Mikhail Glukhikh
688c2cf74f
Optimization: make FIR expression an abstract class
...
NB: this commit does significant fir:tree refactoring.
It provides some boost due to faster abstract class dispatching in JVM.
2019-06-19 22:52:44 +03:00
Mikhail Glukhikh
f6f879302f
Optimization: make FirFunctionCall an abstract class
2019-06-19 22:52:13 +03:00
Mikhail Glukhikh
d85ad650d5
Optimization: make FirWrappedArgumentExpression an abstract class
2019-06-19 22:52:04 +03:00
Mikhail Glukhikh
b71de954ff
Forbid manipulations with FirWrappedArgumentExpression type reference
...
The type of this expression is bound to the type of wrapped expression,
so it's better not to change it directly.
2019-06-19 22:51:26 +03:00
Simon Ogorodnik
95409b35ca
[FIR] Use abstract classes for FIR scopes
2019-06-18 11:14:56 +03:00
Simon Ogorodnik
810fa9c171
[FIR] Make session & symbolProvider abstract classes
2019-06-18 11:14:55 +03:00
Simon Ogorodnik
5a06027c53
[FIR] Avoid instanceof List in transformInplace
2019-06-18 11:14:54 +03:00
Vyacheslav Gerasimov
5a39c637c2
Build: Fix intellij dependency leak from ir tree module
2019-06-13 21:03:55 +03:00
Mikhail Glukhikh
309708f433
Do not visit FirBlock type twice
2019-06-10 11:03:10 +03:00
Simon Ogorodnik
146a53f18c
Change lookup tags from interfaces to abstract classes
2019-06-10 11:03:09 +03:00
Mikhail Glukhikh
a10deb5f69
Remove classId from FirClassSymbol equals / hashCode
2019-06-10 11:03:09 +03:00
Mikhail Glukhikh
2db8409d85
FIR: introduce & resolve spread named arguments #KT-31575 Fixed
2019-05-28 10:20:42 +03:00
Mikhail Glukhikh
5c96fa0844
Raw FIR: set enum entry types to kotlin.Enum to avoid their resolve
2019-05-28 10:17:23 +03:00
Mikhail Glukhikh
6589fbbfbb
Raw FIR: set val setter to null instead of default one
2019-05-28 10:17:22 +03:00
Simon Ogorodnik
cef108a5ae
FIR: implement qualifier resolver
2019-05-28 10:17:05 +03:00
Mikhail Glukhikh
f3960c9482
Preliminary implementation of parts & facade in FIR-based compiler
2019-05-23 14:02:11 +03:00
Simon Ogorodnik
6c313895df
[FIR] Do not enhance java fields to firProperty
2019-05-23 14:02:09 +03:00
Simon Ogorodnik
aa96837758
[FIR] Introduce unchecked not-null cast as internal operation for !!, ?:
2019-05-23 14:02:08 +03:00
Simon Ogorodnik
77817cb750
Raw FIR: copy class type-parameters into constructors properly
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
9cef9e4056
Remove isMarkedNullable from FirResolvedTypeRef
2019-04-30 18:45:54 +03:00
Simon Ogorodnik
dc4ccf8d23
FIR resolve: make receiver completion run independent from outer call
2019-04-30 18:45:49 +03:00
Mikhail Glukhikh
7d793f6750
FIR resolve: add handling of companions as objects
2019-04-30 18:45:43 +03:00
Simon Ogorodnik
4cb8faf666
FIR: uniquify scopes to avoid ambiguity on diamond inheritance
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
8d4cbd84e3
FIR resolve: support synthetics discrimination
2019-04-30 18:45:39 +03:00
Simon Ogorodnik
32e941cb53
FIR: keep names for error references
2019-04-30 18:45:38 +03:00
Mikhail Glukhikh
8b718c6822
FIR body resolve: support subject type calculation
2019-04-30 18:45:38 +03:00
Simon Ogorodnik
95011b1076
Return "FIR resolve: support variable assignments" with full completion
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
c6aff9380b
FIR: support resolving to objects
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
b38f3a1272
Replace ConeFunctionType with ConeClassType
2019-04-30 18:45:36 +03:00
Simon Ogorodnik
1dae135840
Expand ConeTypeContext, implement FIR type inference & related checkers
2019-04-30 18:45:35 +03:00
Simon Ogorodnik
1cd25da7af
FIR scope processors: add function to check is stop on ProcessorAction
2019-04-30 18:45:34 +03:00
Mikhail Zarechenskiy
57ad0aa8fb
Missing fix for project compilation against bootstrap compiler
2019-04-26 06:28:13 +03:00
nikita.movshin
deb416484c
Update copyright. Fix 2 lines comments after rebase
...
Change the copyright from "JetBrains s.r.o." to
"JetBrains s.r.o. and Kotlin Project contributors"
2019-04-23 20:15:03 +03:00