/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠF ab ian ĠM ast en bro ek Ċ Ġ* Ċ Ġ* Ġ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 Ġnodes Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġio . github . tr uffle php . nodes Ċ Ċ import Ġcom . oracle . tr uffle . api . Compiler Directives . Compilation Final Ċ import Ġcom . oracle . tr uffle . api . dsl . Import Static Ċ import Ġcom . oracle . tr uffle . api . dsl . Type System Reference Ċ import Ġcom . oracle . tr uffle . api . instrumentation . Instrument able Node Ċ import Ġcom . oracle . tr uffle . api . nodes . Node Ċ import Ġcom . oracle . tr uffle . api . source . Source Section Ċ Ċ /** Ċ Ġ* ĠThe Ġabstract Ġbase Ġnode Ġof Ġall ĠPHP Ġlanguage Ġnodes . Ċ Ġ*/ Ċ @ Type System Reference ( PHP Types :: class ) Ċ @ Import Static ( PHP Gu ards :: class ) Ċ abstract Ġclass ĠPHP Node Ġ: ĠNode (), ĠInstrument able Node Ġ{ ĊĠĠĠ Ġ@ Compilation Final ĊĠĠĠ Ġprivate Ġvar Ġsource Section : ĠSource Section ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġget Source Section (): ĠSource Section ? Ġ= Ġsource Section ĊĊĠĠĠ Ġfun Ġclear Source Section () Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . source Section Ġ= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġassign Source Section ( source Section : ĠSource Section ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . source Section Ġ= Ġsource Section ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġis Instrument able (): ĠBoolean Ġ= Ġsource Section Ġ!= Ġnull Ċ } Ċ