Struct clarity_repl::clarity::analysis::type_checker::TypeChecker
source · [−]pub struct TypeChecker<'a, 'b> {
pub type_map: TypeMap,
pub cost_track: LimitedCostTracker,
/* private fields */
}
Fields
type_map: TypeMap
cost_track: LimitedCostTracker
Implementations
sourceimpl<'a, 'b> TypeChecker<'a, 'b>
impl<'a, 'b> TypeChecker<'a, 'b>
pub fn track_return_type(
&mut self,
return_type: TypeSignature
) -> CheckResult<()>
pub fn run(
&mut self,
contract_analysis: &mut ContractAnalysis
) -> CheckResult<()>
pub fn type_check_expects(
&mut self,
expr: &SymbolicExpression,
context: &TypingContext<'_>,
expected_type: &TypeSignature
) -> TypeResult
pub fn type_check(
&mut self,
expr: &SymbolicExpression,
context: &TypingContext<'_>
) -> TypeResult
Trait Implementations
sourceimpl AnalysisPass for TypeChecker<'_, '_>
impl AnalysisPass for TypeChecker<'_, '_>
fn run_pass(
contract_analysis: &mut ContractAnalysis,
analysis_db: &mut AnalysisDatabase<'_>
) -> CheckResult<()>
sourceimpl CostTracker for TypeChecker<'_, '_>
impl CostTracker for TypeChecker<'_, '_>
fn compute_cost(
&mut self,
cost_function: ClarityCostFunction,
input: &[u64]
) -> Result<ExecutionCost, CostErrors>
fn add_cost(&mut self, cost: ExecutionCost) -> Result<(), CostErrors>
fn add_memory(&mut self, memory: u64) -> Result<(), CostErrors>
fn drop_memory(&mut self, memory: u64)
fn reset_memory(&mut self)
sourcefn short_circuit_contract_call(
&mut self,
contract: &QualifiedContractIdentifier,
function: &ClarityName,
input: &[u64]
) -> Result<bool, CostErrors>
fn short_circuit_contract_call(
&mut self,
contract: &QualifiedContractIdentifier,
function: &ClarityName,
input: &[u64]
) -> Result<bool, CostErrors>
Check if the given contract-call should be short-circuited.
If so: this charges the cost to the CostTracker, and return true
If not: return false Read more
Auto Trait Implementations
impl<'a, 'b> !RefUnwindSafe for TypeChecker<'a, 'b>
impl<'a, 'b> !Send for TypeChecker<'a, 'b>
impl<'a, 'b> !Sync for TypeChecker<'a, 'b>
impl<'a, 'b> Unpin for TypeChecker<'a, 'b>where
'b: 'a,
impl<'a, 'b> !UnwindSafe for TypeChecker<'a, 'b>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more