Module: l0_analysis
Source: compiler/stage1_py/l0_analysis.py Language: Python
Symbols
Namespace l0_analysis
Class l0_analysis::VarRefResolution
Enumeration of variable reference resolution targets.
Member Data l0_analysis.VarRefResolution.LOCAL
Member Data l0_analysis.VarRefResolution.MODULE
Class l0_analysis::AnalysisResult
Full front-end analysis result for an entry module.
Member Data l0_analysis.AnalysisResult.cu
Member Data l0_analysis.AnalysisResult.context
1
| CompilationContext context
|
Member Data l0_analysis.AnalysisResult.module_envs
Member Data l0_analysis.AnalysisResult.func_types
Member Data l0_analysis.AnalysisResult.struct_infos
Member Data l0_analysis.AnalysisResult.enum_infos
Member Data l0_analysis.AnalysisResult.func_envs
Member Data l0_analysis.AnalysisResult.let_types
Member Data l0_analysis.AnalysisResult.expr_types
Member Data l0_analysis.AnalysisResult.var_ref_resolution
1
| Dict var_ref_resolution
|
Member Data l0_analysis.AnalysisResult.intrinsic_targets
Member Data l0_analysis.AnalysisResult.diagnostics
Function l0_analysis.AnalysisResult.has_errors
1
| bool l0_analysis.AnalysisResult.has_errors(self)
|
Check if any ‘error’ diagnostics were reported.
Returns: True if at least one error exists, False otherwise.
Function l0_analysis.AnalysisResult.has_warnings
1
| bool l0_analysis.AnalysisResult.has_warnings(self)
|
Check if any ‘warning’ diagnostics were reported.
Returns: True if at least one warning exists, False otherwise.
Function l0_analysis.AnalysisResult.is_arc_type
1
| bool l0_analysis.AnalysisResult.is_arc_type(self, Type ty)
|
Check if a type requires Automatic Reference Counting (ARC).
Currently, only the ‘string’ builtin type requires ARC.
Parameters:
Returns: True if the type is managed by ARC, False otherwise.
Function l0_analysis.AnalysisResult.has_arc_data
1
| bool l0_analysis.AnalysisResult.has_arc_data(self, Type typ)
|
Check if a type transitively contains ARC-managed data.
This is used to determine if a value of this type requires retain/release orchestration during assignment or when going out of scope.
Parameters:
Returns: True if the type or any of its components are managed by ARC, False otherwise.