package Ġcom . ale c strong . sql . psi . core Ċ Ċ import Ġcom . ale c strong . sql . psi . core . psi . Schema Contributor Ċ import Ġcom . ale c strong . sql . psi . core . psi . Schema Contributor Index Ċ import Ġcom . ale c strong . sql . psi . core . psi . Schema Contributor Stub Ċ import Ġcom . ale c strong . sql . psi . core . psi . Schema Contributor Stub Impl Ċ import Ġcom . ale c strong . sql . psi . core . psi . Sql Types Ċ import Ġcom . intellij . lang . Language Ċ import Ġcom . intellij . lang . Light er AST Ċ import Ġcom . intellij . lang . Light er AST Node Ċ import Ġcom . intellij . psi . impl . source . tree . Light Tree Util Ċ import Ġcom . intellij . psi . stubs . IL ight Stub ElementType Ċ import Ġcom . intellij . psi . stubs . Index Sink Ċ import Ġcom . intellij . psi . stubs . Stub Element Ċ import Ġcom . intellij . psi . stubs . Stub InputStream Ċ import Ġcom . intellij . psi . stubs . Stub OutputStream Ċ import Ġcom . intellij . psi . tree . I ElementType Ċ Ċ class ĠSql ElementType ( name : ĠString ) Ġ: ĠI ElementType ( name , Ġnull ) Ġ{ ĊĠ Ġoverride Ġfun Ġget Language (): ĠLanguage Ġ= Ġ_ language ĊĊĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠNot Ġmy Ġfavour ite Ġhack Ġof Ġall Ġtime Ġbut Ġthe Ġlanguage Ġcan 't Ġbe Ġstatic Ġsince Ġits Ġprovided Ġat ĊĠĠĠĠ Ġ* Ġ" runtime ". ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġ_ language : ĠLanguage Ġ= ĠLanguage . ANY ĊĠ Ġ} Ċ } Ċ Ċ internal Ġabstract Ġclass ĠSql Schema Contributor ElementType < Schema Type Ġ: ĠSchema Contributor >( ĊĠ Ġprivate Ġval Ġname : ĠString , ĊĠ Ġ/** ĊĠĠ Ġ* ĠThis Ġshould Ġbe Ġthe Ġsame Ġclass Ġused Ġwhen Ġinter facing Ġwith Ġ[ com . ale c strong . sql . psi . core . psi . Schema ] ĊĠĠ Ġ*/ ĊĠ Ġprivate Ġval Ġschema Class : ĠClass < Schema Type > Ċ ) Ġ: ĠI Light Stub ElementType < Schema Contributor Stub , ĠSchema Contributor >( name , Ġnull ) Ġ{ ĊĠ Ġ/** ĊĠĠ Ġ* ĠThis Ġshould Ġbe Ġthe Ġtoken Ġtype Ġfor Ġthe Ġunique Ġname , Ġfor Ġexample Ġ[ Sql Types . INDEX _ NAME ] Ġfor ĊĠĠ Ġ* ĠCREATE _ INDEX Ġor ĠDROP _ INDEX ĊĠĠ Ġ*/ ĊĠ Ġabstract Ġfun Ġname Type (): ĠI ElementType ĊĊĠ Ġoverride Ġfun Ġget Language () Ġ= ĠSql ElementType ._ language ĊĊĠ Ġoverride Ġfun Ġget External Id () Ġ= Ġ" sql de light .$ name " ĊĊĠ Ġoverride Ġfun Ġserialize ( stub : ĠSchema Contributor Stub , Ġstub OutputStream : ĠStub OutputStream ) Ġ{ ĊĠĠĠ Ġstub OutputStream . write Name ( stub . name ()) ĊĠĠĠ Ġstub OutputStream . writeInt ( stub . getText Offset ()) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġdeserialize ( ĊĠĠĠ Ġstub Stream : ĠStub InputStream , ĊĠĠĠ Ġparent Stub : ĠStub Element < *> ? ĊĠ Ġ): ĠSchema Contributor Stub Ġ{ ĊĠĠĠ Ġreturn ĠSchema Contributor Stub Impl ( parent Stub , Ġthis , Ġstub Stream . read Name String () !! , ĊĠĠĠĠĠĠĠ Ġstub Stream . readInt ()) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Stub ( ĊĠĠĠ Ġcontributor : ĠSchema Contributor , ĊĠĠĠ Ġparent Stub : ĠStub Element < *> ? ĊĠ Ġ): ĠSchema Contributor Stub Ġ{ ĊĠĠĠ Ġreturn ĠSchema Contributor Stub Impl ( parent Stub , Ġthis , Ġcontributor . name (), Ġcontributor . text Offset ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġindex Stub ( stub : ĠSchema Contributor Stub , Ġsink : ĠIndex Sink ) Ġ{ ĊĠĠĠ Ġsink . occ urrence ( Schema Contributor Index . KEY , Ġschema Class . name ) ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcreate Stub ( ĊĠĠĠ Ġtree : ĠLight er AST , ĊĠĠĠ Ġnode : ĠLight er AST Node , ĊĠĠĠ Ġparent Stub : ĠStub Element < *> ĊĠ Ġ): ĠSchema Contributor Stub Ġ{ ĊĠĠĠ Ġval Ġname Ġ= ĠLight Tree Util . firstChild OfType ( tree , Ġnode , Ġname Type ()). toString () ĊĠĠĠ Ġreturn ĠSchema Contributor Stub Impl ( parent Stub , Ġthis , Ġname , Ġnode . start Offset ) ĊĠ Ġ} Ċ } Ċ