/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 1 7 . Ġtang zx ( love . tang zx @ qq . com ) Ċ Ġ* Ċ Ġ* Ġ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 Ġcom . tang . intellij . lua . stubs Ċ Ċ 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 . util . io . String Ref Ċ import Ġcom . tang . intellij . lua . comment . psi . Lua Doc Table Def Ċ import Ġcom . tang . intellij . lua . comment . psi . impl . Lua Doc Table Def Impl Ċ import Ġcom . tang . intellij . lua . psi . Lua ElementType Ċ import Ġcom . tang . intellij . lua . ty . get Doc Table TypeName Ċ Ċ class ĠLua Doc Table Def Type Ġ: ĠLua Stub ElementType < Lua Doc Table Def Stub , ĠLua Doc Table Def >(" DOC _ TABLE _ DEF ") Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcreate Psi ( stub : ĠLua Doc Table Def Stub ): ĠLua Doc Table Def Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLua Doc Table Def Impl ( stub , Ġthis ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġserialize ( stub : ĠLua Doc Table Def Stub , Ġstream : ĠStub OutputStream ) Ġ{ ĊĠĠĠĠĠĠĠ Ġstream . write Name ( stub . className ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdeserialize ( stream : ĠStub InputStream , Ġparent : ĠStub Element < *> ): ĠLua Doc Table Def Stub Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠString Ref . toString ( stream . read Name ()) ĊĠĠĠĠĠĠĠ Ġreturn ĠLua Doc Table Def Stub Impl ( name , Ġparent ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Stub ( table Def : ĠLua Doc Table Def , Ġparent Stub : ĠStub Element < *> ): ĠLua Doc Table Def Stub Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLua Doc Table Def Stub Impl ( get Doc Table TypeName ( table Def ), Ġparent Stub ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġindex Stub ( stub : ĠLua Doc Table Def Stub , Ġsink : ĠIndex Sink ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// sink . occ urrence ( Stub Keys . CLASS , Ġstub . className ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠLua Doc Table Def Stub Ġ: ĠStub Element < Lua Doc Table Def > Ġ{ ĊĠĠĠ Ġval ĠclassName : ĠString Ċ } Ċ Ċ class ĠLua Doc Table Def Stub Impl ( ĊĠĠĠĠĠĠĠ Ġoverride Ġval ĠclassName : ĠString , ĊĠĠĠĠĠĠĠ Ġparent : ĠStub Element < *> Ċ ) Ġ: ĠLua Doc Stub Base < Lua Doc Table Def >( parent , ĠLua ElementType . DOC _ TABLE _ DEF ), ĠLua Doc Table Def Stub Ġ{ Ċ Ċ }