/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 0 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . fir . analysis . check ers . expression Ċ Ċ import Ġorg . jetbrains . kotlin . fir . analysis . check ers . context . Checker Context Ċ import Ġorg . jetbrains . kotlin . diagnostics . Diagnostic Reporter Ċ import Ġorg . jetbrains . kotlin . fir . analysis . diagnostics . F ir Errors Ċ import Ġorg . jetbrains . kotlin . diagnostics . report On Ċ import Ġorg . jetbrains . kotlin . fir . expressions . F ir Qualified Access Expression Ċ import Ġorg . jetbrains . kotlin . fir . types . F ir Star Projection Ċ import Ġorg . jetbrains . kotlin . fir . types . F ir Type Projection With Variance Ċ import Ġorg . jetbrains . kotlin . types . Variance Ċ Ċ object ĠF ir Projection s On Non ClassType Argument Checker Ġ: ĠF ir Qualified Access Expression Checker () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcheck ( expression : ĠF ir Qualified Access Expression , Ġcontext : ĠCheck er Context , Ġreporter : ĠDiagnostic Reporter ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfor Ġ( it Ġin Ġexpression . type Arguments ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠF ir Star Projection Ġ-> Ġreporter . report On ( it . source , ĠF ir Errors . PRO JECTION _ ON _ NON _ CLASS _ TYPE _ ARGUMENT , Ġcontext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠF ir Type Projection With Variance Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . variance Ġ!= ĠVari ance . IN VARIANT ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreporter . report On ( it . source , ĠF ir Errors . PRO JECTION _ ON _ NON _ CLASS _ TYPE _ ARGUMENT , Ġcontext ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ