package Ġio . vex el abs . bit builder . llvm . ir . instructions . traits Ċ Ċ import Ġio . vex el abs . bit builder . llvm . internal . contracts . Contains Reference Ċ import Ġio . vex el abs . bit builder . llvm . ir . Value Ċ import Ġorg . byte deco . llvm . LLVM . LLVM Value Ref Ċ import Ġorg . byte deco . llvm . global . LLVM Ċ Ċ public Ġinterface ĠFunc let Pad Ġ: ĠContains Reference < LLVM Value Ref > Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġargument Ġcount Ġfor Ġthe Ġcall ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġclass Ġdoes Ġnot Ġderive Ġfrom Ġllvm :: Call Base Ġand Ġthus , Ġit Ġmust ĊĠĠĠĠ Ġ* Ġdeclare Ġthis Ġfunction Ġon Ġits Ġown Ġinstead Ġof Ġinherit ing Ġit Ġfrom ĠCall Base ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠLLVM . LLVM GetNum Arg Oper ands ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġget Argument Count (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLLVM . LLVM GetNum Arg Oper ands ( ref ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGet Ġthe Ġoperand Ġfor Ġthe Ġfunc let ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠLLVM . LLVM Get Arg Operand ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġget Operand ( index : ĠInt ): ĠValue ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġop Ġ= ĠLLVM . LLVM Get Arg Operand ( ref , Ġindex ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġop ?. let Ġ{ ĠValue ( it ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSet Ġthe Ġoperand Ġfor Ġthe Ġfunc let ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ see ĠLLVM . LLVM Set Arg Operand ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġpublic Ġfun Ġset Operand ( index : ĠInt , Ġvalue : ĠValue ) Ġ{ ĊĠĠĠĠĠĠĠ ĠLLVM . LLVM Set Arg Operand ( ref , Ġindex , Ġvalue . ref ) ĊĠĠĠ Ġ} Ċ } Ċ