/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . lang . core . psi . ext Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . psi . stubs . I Stub ElementType Ċ import Ġorg . rust . lang . core . psi . Rs BaseType Ċ import Ġorg . rust . lang . core . psi . Rs Poly bound Ċ import Ġorg . rust . lang . core . psi . Rs Type Parameter Ċ import Ġorg . rust . lang . core . stubs . Rs Type Parameter Stub Ċ import Ġorg . rust . lang . core . types . Rs Psi Type Impl Util Ċ import Ġorg . rust . lang . core . types . ty . Ty Ċ Ċ val ĠR sType Parameter . bounds : ĠList < Rs Poly bound > Ġget () Ġ{ ĊĠĠĠ Ġval Ġowner Ġ= Ġparent ?. parent Ġas ? ĠRs Generic Declaration ĊĠĠĠ Ġval Ġwhere Bounds Ġ= ĊĠĠĠĠĠĠĠ Ġowner ?. where Clause ?. where Pred List . or Empty () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ( it . type Reference ?. type Element Ġas ? ĠRs BaseType )?. path ?. reference ?. resolve () Ġ== Ġthis Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . type Param Bounds ?. poly bound List . or Empty () Ġ} ĊĊĠĠĠ Ġreturn Ġtype Param Bounds ?. poly bound List . or Empty () Ġ+ Ġwhere Bounds Ċ } Ċ Ċ abstract Ġclass ĠR sType Parameter Impl Mixin Ġ: ĠRs Stub bed Named Element Impl < Rs Type Parameter Stub >, ĠR sType Parameter Ġ{ ĊĠĠĠ Ġconstructor ( node : ĠAST Node ) Ġ: Ġsuper ( node ) ĊĠĠĠ Ġconstructor ( stub : ĠR sType Parameter Stub , Ġnode Type : ĠI Stub ElementType < *, Ġ* >) Ġ: Ġsuper ( stub , Ġnode Type ) ĊĊĠĠĠ Ġoverride Ġval Ġdeclared Type : ĠTy Ġget () Ġ= ĠRs Psi Type Impl Util . declared Type ( this ) Ċ } Ċ