6535278bd3
Prior to this commit code completion for .kts files was supported only partially. Script has an implicit receiver - base class representing a script itself, the point where its basic API resides. The knowledge of this receiver was missing. There are at least two context where this knowledge is crucial: 1. Code highlighting (worked fine) 2. Code completion (failed) `FirScriptConfiguratorExtension` is responsible for filling `FirScriptBuilder` with base script class (in addition to other properties). See usages of [1] in its implementation. The thing is that resolution during the completion works a bit different. Instead of converting the entire `KtFile` it's interested in `KtScript` only. See usages of [2]. `RawFirBuilder.Visitor.visitScript` is where implicit receivers were missing. Code completion and inspections applied to `.kts` files already have `FirScript` and don't require its full reconstruction with expensive `FirScriptConfiguratorExtension`. `RawFirBuilder.Visitor` was modified to support sometimes already existing `FirElement`. ---------------------------------------------------------------- [1]: ScriptCompilationConfiguration.baseClass [2]: RawFirBuilder.Visitor.convertScript