package Ġorg . elm . lang . core . psi . elements Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġorg . elm . lang . core . psi . Elm Atom Tag Ċ import Ġorg . elm . lang . core . psi . Elm Field Access Target Tag Ċ import Ġorg . elm . lang . core . psi . Elm Function Call Target Tag Ċ import Ġorg . elm . lang . core . psi . Elm Psi Element Impl Ċ import Ġorg . elm . lang . core . psi . Elm Types . LOWER _ CASE _ IDENTIFIER Ċ Ċ /** Ċ Ġ* ĠAccess ing Ġa Ġfield Ġon Ġa Ġrecord . Ċ Ġ* Ċ Ġ* ĠEX AMPLES : ĠThe Ġfollowing Ġexpressions Ġeach Ġaccess Ġa Ġrecord Ġfield Ġcalled Ġ` name `: Ċ Ġ* Ġ``` Ċ Ġ* Ġuser . name Ċ Ġ* Ġmodel . currentUser . name Ċ Ġ* Ġ( default User Ġ" Ge orge "). name Ċ Ġ* Ġ{ Ġuser Ġ= Ġ{ Ġname Ġ= Ġ" Ge orge " Ġ} Ġ}. name Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ class ĠEl m Field Access Expr ( node : ĠAST Node ) Ġ: ĠEl m Psi Element Impl ( node ), ĠEl m Atom Tag , ĠEl m Function Call Target Tag , ĠEl m Field Access Target Tag Ġ{ ĊĊĠĠĠ Ġ/** ĠAn Ġexpression Ġwhich Ġevaluates Ġto Ġa Ġrecord Ġvalue Ġwhose Ġfield Ġwe Ġwant Ġto Ġaccess Ġ*/ ĊĠĠĠ Ġval Ġtarget Expr : ĠEl m Field Access Target Tag ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfind NotNull Child By Class ( Elm Field Access Target Tag :: class . java ) ĊĊĠĠĠ Ġ/** ĠThe Ġname Ġof Ġthe Ġrecord Ġfield Ġto Ġread . ĠThis Ġwill Ġbe Ġnon - null Ġin Ġa Ġwell - formed Ġprogram Ġ*/ ĊĠĠĠ Ġval Ġlower Case Identifier : ĠPsi Element ? ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfind Child ByType ( LOWER _ CASE _ IDENTIFIER ) Ċ }