Commit Graph

103 Commits

Author SHA1 Message Date
Dmitriy Novozhilov e7f8c8e155 [TEST] Regenerate tests after previous commit 2019-12-12 16:11:45 +03:00
Mark Punzalan 692a83f7bb [FIR] Add FirCheckNotNullCall converted to CHECK_NOT_NULL intrinsic
function call.
2019-12-11 16:54:15 +03:00
Dmitriy Novozhilov 00112d4227 [FIR] Copy receiver of delegateProvider in fir building
There was a problem that receiver of `delegateProvider` and `expression` field
  of `FirWrappedDelegateExpression` was the same object, so after some changes in
  FirCallCompletionResultsWriterTransformer (where call was partially completed and then
  copied) there was a problem with resolve of `delegateProvider`, because reference of it's
  receiver had resolved reference, but type arguments were unsubstituted (see
  `testCommonCaseForInference`).

Maybe there is a better solution. E.g. we can transform type arguments in completion, so we don't need coping of function call at all
2019-12-10 12:25:42 +03:00
Dmitriy Novozhilov de77bd526b [FIR] Change default visibility for sealed class constructors from private to public 2019-12-05 17:47:15 +03:00
Dmitriy Novozhilov d840671620 [FIR] Don't create delegating super constructor call to kotlin.Enum for enums 2019-12-05 17:47:14 +03:00
Dmitriy Novozhilov a0d8e5bde7 [FIR] Don't create delegating constructor call to kotlin.Annotation 2019-12-05 17:47:14 +03:00
Simon Ogorodnik dbf0742c00 [FIR] Fix self-type for enum 2019-11-28 17:23:05 +03:00
Yan Zhulanow 606cad1059 Pill: Add fir/lightTree module 2019-11-28 20:02:41 +09:00
Denis Zharkov f659dc0bea FIR: Add synthetic values/valueOf methods to Java classes 2019-11-27 11:20:52 +03:00
Dmitriy Novozhilov 841ba6ea11 [FIR] Add generating of rawBuilder tests for light tree 2019-11-25 14:44:45 +03:00
Dmitriy Novozhilov 43e621530f [FIR] Add type parameters to FirQualifierExpression
It is needed for resolving qualifiers with type arguments
  like `Array<String>::class`
2019-11-25 14:44:44 +03:00
Denis Zharkov e03162f2dd FIR: Rename ConeClassTypeImpl -> ConeClassLikeTypeImpl 2019-11-20 17:55:23 +03:00
Dmitriy Novozhilov 35dd1cf75a [FIR] Fix binding return expression to function 2019-11-19 10:43:46 +03:00
Dmitriy Novozhilov e910653d6f [FIR] Add pretty rendering of functional types 2019-11-08 12:12:39 +03:00
Dmitriy Novozhilov cadc2dfe4d [FIR] Fix generating fir for invoke calls 2019-11-08 12:12:38 +03:00
Mikhail Glukhikh 48938a20a7 Raw FIR: add synthesized Enum.valueOf() function 2019-11-08 09:58:02 +03:00
Mikhail Glukhikh 581504aac5 Raw FIR: add synthesized Enum.values() function #KT-24076 Fixed 2019-11-07 09:29:00 +03:00
Mikhail Glukhikh 60e6d2e521 Resolve local declaration statuses & types inside bodies in FirBodyResolveTransformer 2019-11-06 13:19:10 +03:00
Dmitriy Novozhilov 1b44566e6f [FIR] Fix compilation error in lightTree module
There was a extra comma that I missed
2019-11-01 11:06:31 +03:00
Dmitriy Novozhilov 7503449e8d [FIR] Add kind to diagnostics reported by RawFirBuilder 2019-11-01 10:25:35 +03:00
Dmitriy Novozhilov 8b5f568a15 [FIR] Introduce FirDiagnostic in FIR instead of errorReason 2019-11-01 10:25:34 +03:00
Dmitriy Novozhilov ad9bf62b2f [FIR] Remove adding annotations from bounds to type parameter in lightTree2Fir 2019-10-30 18:49:11 +03:00
Dmitriy Novozhilov d2b895d8c2 [FIR] Add @ExtensionFunction to lambdas with receivers 2019-10-30 11:03:15 +03:00
Mikhail Glukhikh e1c889e871 Make FirClass a kind of FirClassLikeDeclaration, introduce FirRegularClass/AnonymousObject symbols 2019-10-29 16:27:41 +03:00
Dmitriy Novozhilov 0d15ff1ddd [FIR] Introduce FirSourceElement instead of FirElement as source in fir nodes 2019-10-29 13:03:13 +03:00
Denis Zharkov 1564e72b59 FIR: Rename FirResolvedCallableReference -> FirResolvedNamedReference
^KT-32725 In Progress
2019-10-28 17:07:18 +03:00
Denis Zharkov cdb2bb2b45 FIR: Prepare tree for callable references resolution
^KT-32725 In Progress
2019-10-28 17:04:44 +03:00
Dmitriy Novozhilov b8bc449bc3 [FIR] Fix generating of redundant empty else branch in light tree fir generator 2019-10-21 10:44:30 +03:00
Dmitriy Novozhilov f19a878948 [FIR] Add exhaustive checker for when expressions
Also remove generating default else branch introduced in 38fa0122 and 54eb4cf9
2019-10-17 16:20:59 +03:00
Dmitriy Novozhilov 59fd47bfd0 [FIR] Add special node for sealed classes 2019-10-17 16:20:59 +03:00
Dmitriy Novozhilov 2ec305b34e [FIR] Don't generate replace and transform in implementations with kind = Interface 2019-10-17 16:20:58 +03:00
Dmitriy Novozhilov cb981919f9 [FIR] Replace FIR tree with generated implementation 2019-10-10 17:53:30 +03:00
Mikhail Glukhikh 26e8202771 FIR: add 'isInner' parameter to constructors
This is helpful because inner class constructors are resolved in a bit
different way (like non-static vs static)
2019-10-04 18:59:10 +03:00
Nikolay Krasko 5deaca9ace Fix building tests for fir:lightTree in 192 branch 2019-09-05 14:35:17 +03:00
Dmitriy Novozhilov 54eb4cf928 [FIR] Add synthetic else branch to when if it's missing to LightTreeFirBuilder 2019-09-02 11:12:35 +03:00
Mikhail Glukhikh 13d14df8ae FIR: set dispatch receiver for data class generated functions 2019-08-30 11:47:31 +03:00
Mikhail Glukhikh 8633a33108 FIR: add new qualified access implementation (FirThisReceiverExpression) 2019-08-30 11:47:30 +03:00
Dmitriy Novozhilov 5846db4eab [FIR] Add symbol to FirFunction and all it's inheritors 2019-08-22 14:14:55 +03:00
Dmitriy Novozhilov 317e3edba8 [FIR] Add default upper bound to type parameter in fir deserializer 2019-08-22 10:55:07 +03:00
Ilya Chernikov 315a9d66a0 Refactor more tasks to lazy API 2019-08-21 20:20:08 +02:00
Simon Ogorodnik 7c24ad39ea Remove fir:lightTree test on kotlinx.coroutines as it caused problems in IDEA 2019-08-02 17:33:29 +03:00
Ivan Cilcic 00f880a5a0 Make all necessary refactoring after merge
1) Removed all unnecessary sessions
2) Added delegation converter
3) Moved property accessor initialization to apply block instead of constructor
4) Removed unnecessary AnotationContainer class
2019-08-01 15:14:29 +03:00
Ivan Cilcic f3a7db2428 Add auto test in gradle (light tree)
Additionally removed benchmarks from auto test because they require manual setting.
Instruction was also added.
2019-08-01 15:14:29 +03:00
Ivan Cilcic 2ca7978544 Remove duplicate code from convertIsExpresion and convertBinaryWithType 2019-08-01 15:14:29 +03:00
Ivan Cilcic d03b6cc014 Remove extra test methods (light tree) 2019-08-01 15:14:29 +03:00
Ivan Cilcic 250d86b692 Rename "MyKotlinParser" to "KotlinLightParser" 2019-08-01 15:14:28 +03:00
Ivan Cilcic 2e05fe9976 Remove extra method toFirExpression 2019-08-01 15:14:28 +03:00
Ivan Cilcic f3299c4636 Delete extra files with util methods (raw FIR) 2019-08-01 15:14:28 +03:00
Ivan Cilcic 01daa90f5c Extract bangbang and bindLabel methods (raw FIR) 2019-08-01 15:14:28 +03:00
Ivan Cilcic c5547a2229 Extract some information to separate Context class 2019-08-01 15:14:28 +03:00