Commit Graph

437 Commits

Author SHA1 Message Date
Mikhail Glukhikh 29114fe7b5 FIR: leave 'isSuspend' in functional & resolved type references only 2020-04-20 17:05:38 +03:00
Jinseong Jeon 88f81b9b71 FIR: record 'suspend' function modifier in type references 2020-04-20 17:05:28 +03:00
Dmitriy Novozhilov 276754260a [FIR] Add replaceCalleeReference to all FirResolvable
Also improve tree generator: now it generates abstract overrides
  for `replace` functions and correctly generates replace for fields
  with overriden type
2020-04-17 12:37:28 +03:00
Dmitriy Novozhilov fa1e5f9593 [FIR] Add transformations for delegated constructor call 2020-04-17 12:37:28 +03:00
Mikhail Glukhikh d906c814cf [FIR] Fix lookup tag creation for values() & valueOf() 2020-04-15 19:32:53 +03:00
Georgy Bronnikov 7ea4ac9e9a [FIR] Regenerate FIR tree 2020-04-15 16:26:44 +03:00
Georgy Bronnikov a1a2da3c0f Revert "IR: put resolution of unbound type parameter symbols behind a language version flag"
This reverts commit 9634e6fba3.
2020-04-15 15:58:44 +03:00
Georgy Bronnikov 9634e6fba3 IR: put resolution of unbound type parameter symbols behind a language version flag 2020-04-15 15:51:20 +03:00
Dmitriy Novozhilov d718b596bc [FIR] Add transform declaration and companion to regular class 2020-04-15 11:13:00 +03:00
Dmitriy Novozhilov 17c6122987 [FIR] Make STATUS resolve phase as required for body resolve 2020-04-15 11:12:59 +03:00
Dmitriy Novozhilov 452fb3e723 [FIR] Add stage for resolve contract desription 2020-04-15 11:12:59 +03:00
Dmitriy Novozhilov cef6cd765c [FIR] Make ConeEffectDeclaration an abstract class 2020-04-15 11:12:58 +03:00
Dmitriy Novozhilov eef9b87047 [FIR] List for unresolved effects to resolved contract node 2020-04-15 11:12:57 +03:00
Dmitriy Novozhilov 4e1bf5f1e2 [FIR] Add extracting contracts in raw fir builder and light tree builder 2020-04-15 11:12:57 +03:00
Dmitriy Novozhilov 25cee12421 [FIR] Add contracts to FIR renderer 2020-04-15 11:12:57 +03:00
Dmitriy Novozhilov 50627f2c83 [FIR] Add contract renderer 2020-04-15 11:12:57 +03:00
Dmitriy Novozhilov a89e0123c7 [FIR] Add fir node for raw contract description 2020-04-15 11:12:56 +03:00
simon.ogorodnik 6d3dccab83 [FIR] Fix obsolete transforms & visit consistency 2020-04-14 20:05:47 +03:00
simon.ogorodnik c2ea0676e4 [FIR] Split functions & constructors processing 2020-04-13 20:26:17 +03:00
simon.ogorodnik d55c6550bb [FIR] Add substitution to classifiers processing 2020-04-13 20:26:16 +03:00
simon.ogorodnik cb00a4c136 [FIR] Update type parameter use-sites to use type parameter refs 2020-04-13 20:26:15 +03:00
simon.ogorodnik 7c56209cef [FIR] Introduce type parameter ref in generated tree 2020-04-13 20:26:15 +03:00
Mikhail Glukhikh cd5a4900e6 [FIR] Support dispatch & extension receiver in component calls 2020-04-09 15:22:56 +03:00
Mikhail Glukhikh 32748ea741 [FIR] Change char constant rendering to prevent encoding inconsistencies 2020-04-06 16:41:58 +03:00
Mikhail Glukhikh f3f7bf70f6 [FIR] Set delegate field receiver properly 2020-04-03 13:29:55 +03:00
Mikhail Glukhikh 036b6c63f6 [FIR] During resolve, set correctly property reference type in delegate 2020-04-03 13:18:47 +03:00
Jinseong Jeon 94749855b9 FIR: fix visibility extension for fake override. 2020-04-03 13:03:50 +03:00
Dmitriy Novozhilov 16b5b2dcef [FIR] Add symbol to FirAnonymousInitializer 2020-04-03 10:08:24 +03:00
Dmitriy Novozhilov 1177a56815 [FIR] Don't resolve annotations twice 2020-04-03 10:08:20 +03:00
Dmitriy Novozhilov 28738971bc [FIR] Add transformAnnotations for fir nodes 2020-04-03 10:08:19 +03:00
Dmitriy Novozhilov 8cb6e8f8af [FIR] Add control flow graph for class initialization 2020-04-03 10:08:17 +03:00
Dmitriy Novozhilov 74d86d82c6 [FIR] Add control flow graph to FirAnonymousInitializer 2020-04-03 10:08:16 +03:00
Dmitriy Novozhilov 8d3ee4f304 [FIR] Add cfg reference to classes 2020-04-03 10:08:16 +03:00
Jinseong Jeon 44c34ab8c3 [FIR2IR] Don't create fake overrides for private property accessors 2020-04-02 12:43:06 +03:00
Alexander Udalov 34e9e899f8 FIR: move FirModifierList to module 'fir:checkers'
To remove dependency of a large module 'fir:tree' on 'psi', allowing
them to compile in parallel.
2020-04-01 12:09:41 +02:00
Jinseong Jeon 078cf02c8a FIR: Provide dispatch receiver for 'field' according to property type 2020-03-30 16:57:53 +03:00
Alexander Udalov b6fdc96994 Reverse dependency 'psi' <-> 'frontend.common'
Move ParseUtils to 'psi', and ImportPath to 'frontend.common'.

Now 'psi' depends on 'frontend.common', and that allows to remove
dependency of 'fir:tree:tree-generator' on 'psi', allowing the former to
compile in parallel with the old frontend code.
2020-03-28 21:30:07 +01:00
Mikhail Glukhikh d8bc29e6c6 [FIR] Eliminate obsolete NO_SUPERTYPE diagnostic from builder 2020-03-27 18:24:50 +03:00
Mikhail Glukhikh cec0f58544 [FIR] Introduce & use toFirLightSourceElement 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh 6a5acc024a [FIR] Rename PSI version of toFirSourceElement 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh b27152f903 Replace some FIR syntax errors with more proper diagnostics 2020-03-27 16:46:59 +03:00
Mikhail Glukhikh 2f63c8a46a [FIR] Enhance diagnostic DSL to be able to use concrete factories
Before this commit, things like DiagnosticFactory0<KtDeclaration>
were effectively unusable.
2020-03-27 16:46:58 +03:00
FenstonSingel b7d8e879a6 [FIR] Support 4 diagnostics for pairs of modifiers
In particular, this commit includes:
* Attempt to abstract access to FirSourceElement via FirModifier
* Add more visit functions to DeclarationCheckersDiagnosticComponent
* Add messages+factories for 4 modifier-related errors and warnings
* Introduce FirModifierChecker
2020-03-27 12:34:29 +03:00
Dmitriy Novozhilov 3acb64c536 [FIR] Add flexible default upper bound for java type parameters 2020-03-27 10:17:12 +03:00
Dmitriy Novozhilov 75e2596b34 [FIR] Update imports in generated tree 2020-03-25 18:07:27 +03:00
Dmitriy Novozhilov 86e7faf639 [FIR] Add start offset and end offset to FirSourceElement 2020-03-25 11:35:43 +03:00
Dmitriy Novozhilov 2c37627b15 [FIR] Add unified diagnostics for psi and light tree 2020-03-25 11:35:43 +03:00
Dmitriy Novozhilov 1a3fef5fa1 [FIR] Switch names of FirDiagnostic and ConeDiagnostic 2020-03-25 11:35:43 +03:00
simon.ogorodnik 27136ef8be [FIR] Support unsigned integer literals 2020-03-24 18:58:18 +03:00
Nick abcd6bd528 [FIR] Support diagnostic SUPER_IS_NOT_AN_EXPRESSION 2020-03-23 15:14:06 +03:00