package Ġcom . jetbrains . snake charm . ins pe ctions Ċ Ċ import Ġcom . intellij . code Inspection . Local Inspection Tool Session Ċ import Ġcom . intellij . code Inspection . Problems Holder Ċ import Ġcom . jetbrains . python . psi . Py Keyword Argument Ċ import Ġcom . jetbrains . snake charm . Sn ak em ake Bundle Ċ import Ġcom . jetbrains . snake charm . lang . Sn ak em ake Language Dialect Ċ import Ġcom . jetbrains . snake charm . lang . psi . SMK Rule Parameter List Statement Ċ Ċ class ĠSn ak em ake Position al Args After Keyword Args Inspection Ġ: ĠSn ak em ake Inspection () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġbuild Visitor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġholder : ĠPro blems Holder , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis On The Fly : ĠBoolean , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsession : ĠLocal Inspection Tool Session ĊĠĠĠ Ġ) Ġ= Ġobject Ġ: ĠSn ak em ake Inspection Visitor ( holder , Ġsession ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġvisit SMK Rule Parameter List Statement ( st : ĠSM K Rule Parameter List Statement ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( st . containing File . language Ġ!= ĠSn ak em ake Language Dialect ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġencountered Keyword Argument Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarguments Ġ= Ġst . argument List ?. arguments Ġ?: Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( argument Ġin Ġarguments ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! en counter ed Keyword Argument Ġ&& Ġargument Ġis ĠPy Keyword Argument ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġencountered Keyword Argument Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( en counter ed Keyword Argument Ġ&& Ġargument Ġ! is ĠPy Keyword Argument ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister Problem ( argument , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSn ak em ake Bundle . message (" IN SP . NAME . positional . args . after . keyword . args ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget DisplayName (): ĠString Ġ= ĠSn ak em ake Bundle . message (" IN SP . NAME . positional . args . after . keyword . args ") Ċ } Ċ