1pub mod arena;
5pub(crate) mod artifact_f64;
6pub mod asi;
7pub mod ast;
8pub mod authority;
9pub mod backtrace;
10pub mod capability_derivation;
11pub mod codegen;
12pub mod compile;
13mod compile_capabilities;
14pub mod compiler_error;
15pub mod compiler_limits;
16pub mod diagnostics;
17pub mod did_you_mean;
18pub mod doc_comment;
19pub mod lexer;
20pub(crate) mod literal_units;
21pub mod lower_patterns;
22pub mod mangle;
23pub mod package_declaration;
24pub mod packages;
25pub mod parser;
26pub mod rendering;
27pub mod runtime;
28pub mod shape;
29pub mod source;
30mod source_validation;
31pub mod span;
32pub mod stdlib;
33pub mod token;
34pub mod tree_height;
35pub mod type_info;
36mod type_rendering;
37pub mod type_size;
38mod type_walk;
39pub mod typechecker;
40pub mod typed_ast;
41pub mod types;
42
43pub use asi::Asi;
44pub use ast::{
45 AccessorKind, ArrayLiteralElement, ArrowBody, Ast, BinOp, Binding, BindingKind, CatchClause,
46 ChainPart, ClassMember, ClassModifiers, EnumInitializer, EnumMember, ExportedDecl, Expr,
47 ExprId, ExprKind, Ident, ImportKind, ImportSpecifier, IndexSignatureAnnotation,
48 InterfaceMember, ObjectLiteralField, ObjectLiteralMember, ObjectPatternField, ParamDecl,
49 PatternOrigin, PostfixOp, Stmt, StmtId, StmtKind, SwitchCase, SwitchDefault, TypeAnnotation,
50 TypeAnnotationField, TypeAnnotationKind, TypePredicateAnnotation, UnOp, Visibility,
51};
52pub use authority::{
53 AuthorityCallable, AuthorityCallableKind, AuthorityCheck, AuthorityEdge, AuthorityEffect,
54 AuthorityExposure, AuthorityMap, AuthorityPosition, AuthorityRoute, AuthorityRouteEffect,
55 AuthoritySpan, AuthorityWitnessStep,
56};
57pub use backtrace::{BacktraceMode, failure_message, render as render_backtrace};
58pub use capability_derivation::{DerivedCapability, derive_call_site_capability};
59pub use codegen::{SymbolTable, codegen};
60pub use compile::{
61 CompiledPackage, CompiledScript, PackageSourceModule, ParsedScript, PhaseTimings,
62 ScriptImports, compile_package, compile_package_with_transitive, compile_parsed_script_timed,
63 compile_script, compile_script_owned_by, parse_script, typecheck, typecheck_to_typed_ast,
64};
65pub use diagnostics::{Diagnostic, Severity};
66pub use doc_comment::{
67 DocCapability, DocCapabilityBinding, DocCapabilityBindingKind, DocCapabilityDiagnostic,
68 DocCapabilityLiteral, DocComment, DocParam, DocReturns, DocText, DocUnknownTag, RawDoc, doc,
69 parse_doc_comment,
70};
71pub use lexer::Lexer;
72pub use lower_patterns::lower as lower_patterns;
73pub use mangle::MangledName;
74pub use package_declaration::{
75 AccessorSig, ClassExtends, DefaultValue, Dispatch, EnumVariantValue, FieldSig, MethodSig,
76 NamespaceSymbol, PackageDeclaration, Param, PropertySig, RuntimeFunction, TypeKind, TypeSymbol,
77 ValueKind, ValueSymbol,
78};
79pub use parser::parse;
80pub use runtime::{RunResult, RuntimeConfig, dispatch_main_async, instantiate_program_async};
81pub use shape::Shape;
82pub use source::{ModulePath, SourceFile, Sources};
83pub use span::{FileId, LineIndex, Span};
84pub use stdlib::{OptionalPackage, Stdlib};
85pub use token::{Token, TokenKind};
86pub use type_info::{FieldInfo, TypeInfo, TypeInfoId, TypeInfoIndex, TypeInfoKind, TypeInfoTable};
87pub use typechecker::{capability_binding_type, capture, check, desugar, infer, infer_package};
88pub use typed_ast::{
89 CapturedVar, ClosureBody, EnumVariantPayload, ExportEntry, ExportKind, FieldNarrowingCheck,
90 FieldNarrowingTest, ForOfKind, GenericArgument, GlobalKind, InterfaceCarrier,
91 InterfaceNarrowingTest, Intrinsic, PostfixTarget, TypedArrayElement, TypedAst,
92 TypedCatchClause, TypedChainPart, TypedClassAccessor, TypedClassConstructor, TypedClassDecl,
93 TypedClassField, TypedClassMethod, TypedExpr, TypedExprKind, TypedFunction, TypedGlobal,
94 TypedInterfaceDecl, TypedInterfaceMember, TypedNumberEnumDecl, TypedNumberEnumMember,
95 TypedObjectFieldOrigin, TypedObjectFieldSource, TypedObjectLiteralField, TypedObjectMember,
96 TypedParam, TypedStmt, TypedStmtKind, TypedStringEnumDecl, TypedStringEnumMember,
97 TypedSwitchCase, TypedSwitchValue, TypedTypeAliasDecl, TypedTypeDecl, TypeofTagKind,
98};
99pub use types::{IndexSignature, ObjectField, Package, TupleType, Type, TypePredicate};