/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 6 - 2 0 1 9 ĠRe ece ĠH . ĠD un n Ċ Ġ* Ċ Ġ* Ġ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 Ġuk . co . re ec ed un n . intellij . plugin . xpath . psi . impl . xpath Ċ Ċ import Ġcom . intellij . ext api . psi . AST Wrapper Psi Element Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġuk . co . re ec ed un n . intellij . plugin . xd m . functions . op . q name _ presentation Ċ import Ġuk . co . re ec ed un n . intellij . plugin . xd m . types . X dm ItemType Ċ import Ġuk . co . re ec ed un n . intellij . plugin . xd m . types . Xs Any Type Ċ import Ġuk . co . re ec ed un n . intellij . plugin . xd m . types . Xs QName Value Ċ import Ġuk . co . re ec ed un n . intellij . plugin . xpath . ast . xpath . XPath TypeName Ċ Ċ open Ġclass ĠXPath TypeName Psi Impl ( node : ĠAST Node ) Ġ: ĠAST Wrapper Psi Element ( node ), ĠXPath TypeName Ġ{ ĊĠĠĠ Ġ// Ġregion ĠXPath TypeName ĊĊĠĠĠ Ġ// ĠTODO : ĠProvide Ġa Ġway Ġof Ġvalidating Ġthat Ġthe Ġtype Ġis Ġin Ġthe Ġin - scope Ġschema Ġtypes Ġ[ XP ST 0 0 0 8 ]. ĊĠĠĠ Ġoverride Ġval Ġtype : ĠX s QName Value ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfirst Child Ġas ĠX s QName Value ĊĊĠĠĠ Ġ// Ġend region ĊĠĠĠ Ġ// Ġregion ĠX dm Sequence Type ĊĊĠĠĠ Ġoverride Ġval ĠtypeName : ĠString ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġq name _ presentation ( type ) Ġ?: Ġ"" ĊĊĠĠĠ Ġoverride Ġval Ġitem Type : ĠX dm ItemType ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis ĊĊĠĠĠ Ġoverride Ġval Ġlower Bound : ĠInt ? Ġ= Ġ 1 ĊĊĠĠĠ Ġ// ĠNOTE : Ġtype Ġmay Ġbe Ġa Ġlist Ġtype Ġ( e . g . Ġxs : ID REF S ), Ġso Ġthe Ġupper Ġbound Ġcannot Ġbe Ġrestricted ĊĠĠĠ Ġ// Ġwithout Ġexpand ing Ġthe ĠQName . ĊĠĠĠ Ġoverride Ġval Ġupper Bound : ĠInt ? Ġ= ĠInt . MAX _ VALUE ĊĊĠĠĠ Ġ// Ġend region ĊĠĠĠ Ġ// Ġregion ĠX dm ItemType ĊĊĠĠĠ Ġoverride Ġval Ġtype Class : ĠClass < *> Ġ= ĠX s Any Type :: class . java ĊĊĠĠĠ Ġ// Ġend region Ċ } Ċ