/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 6 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . java . model . elements Ċ Ċ import Ġcom . intellij . psi . Psi Type Parameter Ċ import Ġorg . jetbrains . kotlin . java . model .* Ċ import Ġorg . jetbrains . kotlin . java . model . internal . getType WithType Parameters Ċ import Ġorg . jetbrains . kotlin . java . model . types . to Je Type Ċ import Ġjavax . lang . model . element . Element Ċ import Ġjavax . lang . model . element . Element Kind Ċ import Ġjavax . lang . model . element . Element Visitor Ċ import Ġjavax . lang . model . element . Type Parameter Element Ċ Ċ class ĠJe Type Parameter Element ( ĊĠĠĠĠĠĠĠ Ġpsi : ĠPsi Type Parameter , ĊĠĠĠĠĠĠĠ Ġval Ġparent : ĠJe Element ? Ċ ) Ġ: ĠJe Abstract Element < Psi Type Parameter >( psi ), ĠType Parameter Element , ĠJe Annotation Owner , ĠJe Modifier List Owner Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Simple Name () Ġ= ĠJe Name ( psi . name ) ĊĊĠĠĠ Ġoverride Ġfun Ġget En closing Element () Ġ= Ġparent ĊĊĠĠĠ Ġoverride Ġfun Ġget Kind () Ġ= ĠElement Kind . TYPE _ PARAMETER ĊĊĠĠĠ Ġoverride Ġfun Ġas Type () Ġ= Ġpsi . getType WithType Parameters (). to Je Type ( psi . manager ) ĊĊĠĠĠ Ġoverride Ġfun Ġ< R Ġ: ĠAny ?, ĠP Ġ: ĠAny ?> Ġaccept ( v : ĠElement Visitor < R , ĠP >, Ġp : ĠP ) Ġ= Ġv . visit Type Parameter ( this , Ġp ) ĊĊĠĠĠ Ġoverride Ġfun Ġget En closed Elements () Ġ= Ġempty List < Element >() ĊĠĠĠĠĊĠĠĠ Ġoverride Ġfun Ġget Bounds () Ġ= Ġpsi . super Types . map Ġ{ Ġit . to Je Type ( psi . manager ) Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Generic Element () Ġ= Ġparent ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġ=== Ġother ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠ Ġif Ġ( other ?. java Class Ġ!= Ġjava Class ) Ġreturn Ġfalse ĊĊĠĠĠĠĠĠĠ Ġreturn Ġpsi Ġ== Ġ( other Ġas ĠJe Type Parameter Element ). psi ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode () Ġ= Ġpsi . hashCode () ĊĊĠĠĠ Ġoverride Ġfun ĠtoString () Ġ= Ġpsi . name Ġ?: Ġ" T " Ċ }