package Ġorg . elm . lang . core . psi . elements Ċ Ċ import Ġcom . intellij . lang . AST Node Ċ import Ġcom . intellij . psi . Psi Element Ċ import Ġcom . intellij . psi . stubs . I Stub ElementType Ċ import Ġorg . elm . lang . core . psi .* Ċ import Ġorg . elm . lang . core . psi . Elm Types . UPPER _ CASE _ IDENTIFIER Ċ import Ġorg . elm . lang . core . stubs . Elm Union Variant Stub Ċ Ċ /** Ċ Ġ* ĠOne Ġof Ġthe Ġcases Ġin Ġa Ġunion Ġtype Ġdeclaration Ċ Ġ* Ċ Ġ* Ġe . g . Ġ` Just Ġa ` Ġand Ġ` Nothing ` Ġin : Ċ Ġ* Ġ``` Ċ Ġ* Ġtype ĠMaybe Ġa Ċ Ġ* ĠĠĠĠ Ġ= ĠJust Ġa Ċ Ġ* ĠĠĠĠ Ġ| ĠNothing Ċ Ġ* Ġ``` Ċ Ġ*/ Ċ class ĠEl m Union Variant Ġ: ĠEl m Stub bed Named Element Impl < Elm Union Variant Stub >, ĠEl m Ex posable Tag Ġ{ ĊĊĠĠĠ Ġconstructor ( node : ĠAST Node ) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper ( node , ĠIdentifier Case . UPPER ) ĊĊĠĠĠ Ġconstructor ( stub : ĠEl m Union Variant Stub , Ġstub Type : ĠI Stub ElementType < *, Ġ* >) Ġ: ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper ( stub , Ġstub Type , ĠIdentifier Case . UPPER ) ĊĊĊĠĠĠ Ġ/** Ġthe Ġvariant Ġname Ġ*/ ĊĠĠĠ Ġval Ġupper Case Identifier : ĠPsi Element ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġfind NotNull Child ByType ( UPPER _ CASE _ IDENTIFIER ) ĊĊĠĠĠ Ġ/** ĠAll Ġparameters Ġof Ġthe Ġvariant , Ġif Ġany . Ġ*/ ĊĠĠĠ Ġval Ġall Parameters : ĠList < Elm Union Variant Parameter Tag > ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġstub Direct Children OfType () Ċ } Ċ