/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense ĠĊ Ġ* Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ package Ġorg . jetbrains . kotlin . fir . visitor s Ċ Ċ import Ġorg . jetbrains . kotlin . fir .* Ċ import Ġorg . jetbrains . kotlin . fir . declarations .* Ċ import Ġorg . jetbrains . kotlin . fir . declarations . impl .* Ċ import Ġorg . jetbrains . kotlin . fir . expressions .* Ċ import Ġorg . jetbrains . kotlin . fir . expressions . impl .* Ċ import Ġorg . jetbrains . kotlin . fir . types .* ĊĊ Ċ /** ĠThis Ġfile Ġgenerated Ġby Ġ: compiler : fir : tree : generate Visitor s . ĠDO ĠNOT ĠMODIFY ĠMAN U ALLY ! Ġ*/ Ċ abstract Ġclass ĠF ir Visitor < out ĠR , Ġin ĠD > Ġ{ ĊĠĠĠ Ġabstract Ġfun Ġvisit Element ( element : ĠF ir Element , Ġdata : ĠD ): ĠR ĊĊĠĠĠ Ġopen Ġfun Ġvisit Catch ( catch : ĠF ir Catch , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( catch , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Declaration ( declaration : ĠF ir Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Callable Member ( callable Member : ĠF ir Callable Member , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( callable Member , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Declaration With Body ( declaration With Body : ĠF ir Declaration With Body , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( declaration With Body , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Anonymous Initializer ( anonymous Initializer : ĠF ir Anonymous Initializer , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration With Body ( anonymous Initializer , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Function ( function : ĠF ir Function , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration With Body ( function , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Anonymous Function ( anonymous Function : ĠF ir Anonymous Function , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Function ( anonymous Function , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Constructor ( constructor : ĠF ir Constructor , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Function ( constructor , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Mod ifiable Function ( modifiable Function : ĠF ir Mod ifiable Function , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Function ( modifiable Function , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Named Function ( named Function : ĠF ir Named Function , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Function ( named Function , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Property Accessor ( property Accessor : ĠF ir Property Accessor , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Function ( property Accessor , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Error Declaration ( error Declaration : ĠF ir Error Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( error Declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Field ( field : ĠF ir Field , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( field , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Named Declaration ( named Declaration : ĠF ir Named Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( named Declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Member Declaration ( member Declaration : ĠF ir Member Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Named Declaration ( member Declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Class Like Declaration ( class Like Declaration : ĠF ir Class Like Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Member Declaration ( class Like Declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Regular Class ( regular Class : ĠF ir Regular Class , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Class Like Declaration ( regular Class , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Enum Entry ( enum Entry : ĠF ir Enum Entry , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Regular Class ( enum Entry , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Alias ( type Alias : ĠF ir Type Alias , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Class Like Declaration ( type Alias , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Parameter ( type Parameter : ĠF ir Type Parameter , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Named Declaration ( type Parameter , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Property ( property : ĠF ir Property , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( property , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Typed Declaration ( typed Declaration : ĠF ir Typed Declaration , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( typed Declaration , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Value Parameter ( value Parameter : ĠF ir Value Parameter , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( value Parameter , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Variable ( variable : ĠF ir Variable , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration ( variable , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Declaration Status ( declaration Status : ĠF ir Declaration Status , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( declaration Status , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Resolved Declaration Status ( resolved Declaration Status : ĠF ir Resolved Declaration Status , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Declaration Status ( resolved Declaration Status , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Import ( import : ĠF ir Import , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( import , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Resolved Import ( resolved Import : ĠF ir Resolved Import , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Import ( resolved Import , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Label ( label : ĠF ir Label , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( label , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Package Fragment ( package Fragment : ĠF ir Package Fragment , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( package Fragment , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit File ( file : ĠF ir File , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Package Fragment ( file , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Reference ( reference : ĠF ir Reference , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( reference , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Named Reference ( named Reference : ĠF ir Named Reference , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Reference ( named Reference , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Resolved Callable Reference ( resolved Callable Reference : ĠF ir Resolved Callable Reference , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Named Reference ( resolved Callable Reference , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Super Reference ( super Reference : ĠF ir Super Reference , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Reference ( super Reference , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit This Reference ( this Reference : ĠF ir This Reference , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Reference ( this Reference , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Statement ( statement : ĠF ir Statement , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( statement , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Class ( klass : ĠF ir Class , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Statement ( klass , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Anonymous Object ( anonymous Object : ĠF ir Anonymous Object , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Class ( anonymous Object , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Mod ifiable Class ( modifiable Class : ĠF ir Mod ifiable Class , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Class ( modifiable Class , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Expression ( expression : ĠF ir Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Statement ( expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Block ( block : ĠF ir Block , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( block , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Call ( call : ĠF ir Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Annotation Call ( annotation Call : ĠF ir Annotation Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( annotation Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Array Get Call ( array Get Call : ĠF ir Array Get Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( array Get Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit ArrayOf Call ( array Of Call : ĠF ir ArrayOf Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( array Of Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Array Set Call ( array Set Call : ĠF ir Array Set Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( array Set Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Component Call ( component Call : ĠF ir Component Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( component Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Deleg ated Constructor Call ( deleg ated Constructor Call : ĠF ir Deleg ated Constructor Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( deleg ated Constructor Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Function Call ( function Call : ĠF ir Function Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( function Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit GetClass Call ( getClass Call : ĠF ir GetClass Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( getClass Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Operator Call ( operator Call : ĠF ir Operator Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Call ( operator Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Operator Call ( type Operator Call : ĠF ir Type Operator Call , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Operator Call ( type Operator Call , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Class Reference Expression ( class Reference Expression : ĠF ir Class Reference Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( class Reference Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġ< T > Ġvisit Const Expression ( const Expression : ĠF ir Const Expression < T >, Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( const Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Error Expression ( error Expression : ĠF ir Error Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( error Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġ< E Ġ: ĠF ir Target Element > Ġvisit Jump ( jump : ĠF ir Jump < E >, Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( jump , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Break Expression ( break Expression : ĠF ir Break Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Jump ( break Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Continue Expression ( continue Expression : ĠF ir Continue Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Jump ( continue Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Return Expression ( return Expression : ĠF ir Return Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Jump ( return Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Named Argument Expression ( named Argument Expression : ĠF ir Named Argument Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( named Argument Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Throw Expression ( throw Expression : ĠF ir Throw Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( throw Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Try Expression ( try Expression : ĠF ir Try Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( try Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit When Expression ( when Expression : ĠF ir When Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Expression ( when Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Loop ( loop : ĠF ir Loop , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Statement ( loop , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Do While Loop ( do While Loop : ĠF ir Do While Loop , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Loop ( do While Loop , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit While Loop ( while Loop : ĠF ir While Loop , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Loop ( while Loop , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Qualified Access ( qualified Access : ĠF ir Qualified Access , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Statement ( qualified Access , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Assignment ( assignment : ĠF ir Assignment , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Qualified Access ( assignment , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Variable Assignment ( variable Assignment : ĠF ir Variable Assignment , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Assignment ( variable Assignment , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Mod ifiable Qualified Access ( modifiable Qualified Access : ĠF ir Mod ifiable Qualified Access , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Qualified Access ( modifiable Qualified Access , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Qualified Access Expression ( qualified Access Expression : ĠF ir Qualified Access Expression , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Qualified Access ( qualified Access Expression , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Callable Reference Access ( callable Reference Access : ĠF ir Callable Reference Access , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Qualified Access Expression ( callable Reference Access , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Target Element ( target Element : ĠF ir Target Element , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( target Element , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Labeled Element ( labeled Element : ĠF ir Labeled Element , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Target Element ( labeled Element , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Projection ( type Projection : ĠF ir Type Projection , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( type Projection , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Star Projection ( star Projection : ĠF ir Star Projection , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Projection ( star Projection , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Projection With Variance ( type Projection With Variance : ĠF ir Type Projection With Variance , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Projection ( type Projection With Variance , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Ref ( type Ref : ĠF ir Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Deleg ated Type Ref ( deleg ated Type Ref : ĠF ir Deleg ated Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref ( deleg ated Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit ErrorType Ref ( error Type Ref : ĠF ir ErrorType Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref ( error Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Implicit Type Ref ( implicit Type Ref : ĠF ir Implicit Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref ( implicit Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Type Ref With Null ability ( type Ref With Null ability : ĠF ir Type Ref With Null ability , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref ( type Ref With Null ability , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Dynamic Type Ref ( dynamic Type Ref : ĠF ir Dynamic Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref With Null ability ( dynamic Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit FunctionType Ref ( function Type Ref : ĠF ir FunctionType Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref With Null ability ( function Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Resolved Type Ref ( resolved Type Ref : ĠF ir Resolved Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref With Null ability ( resolved Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit Resolved FunctionType Ref ( resolved FunctionType Ref : ĠF ir Resolved FunctionType Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Resolved Type Ref ( resolved FunctionType Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit User Type Ref ( user Type Ref : ĠF ir User Type Ref , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Type Ref With Null ability ( user Type Ref , Ġdata ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġvisit When Branch ( when Branch : ĠF ir When Branch , Ġdata : ĠD ): ĠR Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġvisit Element ( when Branch , Ġdata ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ