#[cfg(not(any(target_pointer_width = "32", target_pointer_width = "64")))]
compile_error!("candid-core supports only 32- and 64-bit targets: portable u64 wire values must represent every usize exactly (usize must not exceed 64 bits), and the InteractiveV1 default limits require a usize of at least 32 bits");
mod artifact_id;
#[cfg(all(feature = "filesystem-compiler", not(target_os = "unknown")))]
mod bounded;
mod budget;
mod canonical;
#[cfg(feature = "compiler")]
mod compile;
mod diagnostics;
mod envelope;
mod limits;
mod model;
mod name_hash;
#[cfg(feature = "compiler")]
mod resolver;
#[cfg(feature = "compiler")]
mod source;
mod validate;
#[cfg(feature = "host-value")]
mod value;
pub use artifact_id::{artifact_id_with_context, artifact_id_with_limits, ArtifactKind};
#[cfg(feature = "compiler")]
pub use compile::{
compile_did, compile_did_with_context, compile_did_with_options, compile_with_resolver,
Compilation, CompileOptions,
};
#[cfg(feature = "filesystem-compiler")]
pub use compile::{compile_did_file, compile_did_file_with_context, compile_did_file_with_options};
#[cfg(feature = "compiler")]
pub use diagnostics::CompileError;
pub use diagnostics::{
Diagnostic, DiagnosticPhase, RelatedLocation, ResourceLimitInfo, Severity, SourceSpan,
};
pub use envelope::ContractEnvelope;
pub use limits::{
CancellationToken, Limits, LimitsConfig, LimitsConfigError, LimitsProfile, RuntimeContext,
LIMITS_CONFIG_VERSION,
};
pub use model::{
Actor, Contract, ContractDraft, ContractIdentities, ContractJsonError, ContractValidationError,
ContractViolation, Declaration, Field, MethodMode, PrimitiveType, ProducerInfo, RawContract,
ServiceMethod, TypeNode, TypeRef, CANONICALIZATION_PROFILE, CONTRACT_FORMAT, FORMAT_VERSION,
SEMANTICS_PROFILE,
};
#[cfg(feature = "compiler")]
pub use model::{
FieldLabelProvenance, RawSourceInfo, SourceActorInfo, SourceDeclaration, SourceFileInfo,
SourceFunctionArgumentDirection, SourceFunctionArgumentInfo, SourceImportInfo,
SourceImportKind, SourceInfo, SourceLabel, SourceMethodInfo, SourceOrigin, SOURCE_INFO_VERSION,
};
#[cfg(feature = "filesystem-compiler")]
pub use resolver::WorkspaceResolver;
#[cfg(feature = "compiler")]
pub use resolver::{MemoryResolver, ResolveError, ResolvedSource, SourceId, SourceResolver};
#[cfg(feature = "host-value")]
pub use value::{
validate_host_value, validate_host_value_with_context, ContractMethodRef, ContractTypeRef,
HostFieldValue, HostValue, HostValueJsonError, HostValueValidationError, HostValueViolation,
};
#[cfg(not(feature = "compiler"))]
mod compiler_surface_is_absent_without_its_feature {
}
#[cfg(all(feature = "compiler", not(feature = "filesystem-compiler")))]
mod filesystem_surface_is_absent_without_its_feature {
}
#[cfg(not(feature = "host-value"))]
mod host_value_surface_is_absent_without_its_feature {
}