cairo_lang_sierra/extensions/modules/
unconditional_jump.rs1use crate::extensions::lib_func::{
2 BranchSignature, LibfuncSignature, SierraApChange, SignatureSpecializationContext,
3};
4use crate::extensions::{NoGenericArgsGenericLibfunc, SpecializationError};
5
6#[derive(Default)]
7pub struct UnconditionalJumpLibfunc {}
8impl NoGenericArgsGenericLibfunc for UnconditionalJumpLibfunc {
9 const STR_ID: &'static str = "jump";
10
11 fn specialize_signature(
12 &self,
13 _context: &dyn SignatureSpecializationContext,
14 ) -> Result<LibfuncSignature, SpecializationError> {
15 Ok(LibfuncSignature {
16 param_signatures: vec![],
17 branch_signatures: vec![BranchSignature {
18 vars: vec![],
19 ap_change: SierraApChange::Known { new_vars_only: true },
20 }],
21 fallthrough: None,
22 })
23 }
24}