///|
pub struct LoweringContext {
internal_abi : InternalAbi
priv environment_field_resolver : ((@native.EnvironmentField) -> Array[Int32]?)?
}
///|
pub fn LoweringContext::new(internal_abi : InternalAbi) -> LoweringContext {
{ internal_abi, environment_field_resolver: None, }
}
///|
pub fn LoweringContext::with_environment_field_resolver(
self : LoweringContext,
resolve : (@native.EnvironmentField) -> Array[Int32]?,
) -> LoweringContext {
{ ..self, environment_field_resolver: Some(resolve), }
}
///|
pub fn LoweringContext::environment_field_offsets(
self : LoweringContext,
field : @native.EnvironmentField,
) -> Array[Int32]? {
match self.environment_field_resolver {
Some(resolve) => resolve(field)
None => None
}
}