/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* Ġ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 Ġkw asm . validation . instruction Ċ Ċ import Ġkw asm . ast . instruction . Numeric Constant Instruction Ċ import Ġkw asm . ast . type . ValueType Ċ import Ġkw asm . validation . Function Body Validation Visitor Ċ import Ġkw asm . validation . Validation Context Ċ Ċ /** Ċ Ġ* ĠValid ates Ġ[ Numeric Constant Instruction ] Ġnodes . Ċ Ġ* Ċ Ġ* ĠFrom Ġ[ the Ġdocs ]( https :// web assembly . github . io / spec / core / valid / instructions . html # valid - const ): Ċ Ġ* Ċ Ġ* Ġ``` Ċ Ġ* ĠĠ Ġt . const Ġc Ċ Ġ* Ġ``` Ċ Ġ* Ċ Ġ* Ġ* ĠThe Ġinstruction Ġis Ġvalid Ġwith Ġtype Ġ` [] Ġ=> Ġ\[ t ] `. Ċ Ġ*/ Ċ object ĠNumeric Constant Instruction Validator Ġ: ĊĠĠĠ ĠFunction Body Validation Visitor < Numeric Constant Instruction <* >> Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġvisit ( ĊĠĠĠĠĠĠĠ Ġnode : ĠNumeric Constant Instruction <* >, ĊĠĠĠĠĠĠĠ Ġcontext : ĠValidation Context . Function Body ĊĠĠĠ Ġ): ĠValidation Context . Function Body Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġoutput Type Ġ= Ġwhen Ġ( node ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNumeric Constant Instruction . I 3 2 Ġ-> ĠValueType . I 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNumeric Constant Instruction . I 6 4 Ġ-> ĠValueType . I 6 4 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNumeric Constant Instruction . F 3 2 Ġ-> ĠValueType . F 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠNumeric Constant Instruction . F 6 4 Ġ-> ĠValueType . F 6 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcontext . push Stack ( output Type ) ĊĠĠĠ Ġ} Ċ } Ċ