Crate swc_common
Available on crate features
__ecma and __utils only.Expand description
Utilities for the swc project
§Cargo features
§tty-emitter
Adds default implementation of Emitter. Enabling this feature will add tty-related dependencies.
§sourcemap
Adds methods to generate web sourcemap.
§plugin-base
Base mode for plugins, which can be enabled by plugin-mode or plugin-rt.
This mode creates a trait which can be used to override swc_common itself.
§plugin-rt
Creates an implementation for the plugin trait. This implements simply
invokes thread-locals declared in swc_common.
§plugin-mode
Allows replacing operations related to thread-local variables with a trait.
Modules§
- cache
- comments
- errors
- input
- iter
- pass
- This module reexports items from
swc_visitwith some swc-specific traits. - plugin
- serializer
- source_
map - The SourceMap tracks all the source code used within a single crate.
- sync
- This module defines types which are thread safe if
cfg!(feature = "concurrent")is true. - util
Macros§
Structs§
- Archived
Byte Pos - An archived
BytePos - Archived
Char Pos - An archived
CharPos - Archived
Multi Span - An archived
MultiSpan - Archived
Source File - An archived
SourceFile - Archived
Source File AndByte Pos - An archived
SourceFileAndBytePos - Archived
Span - An archived
Span - BytePos
- A byte offset. Keep this small (currently 32-bits), as AST contains a lot of them.
- CharPos
- A character offset. Because of multibyte utf8 characters, a byte offset is not equivalent to a character offset. The SourceMap will convert BytePos values to CharPos values as necessary.
- File
Lines - A struct to represent lines of a source file.
- File
Path Mapping - Globals
- LineCol
- Used to create a
.mapfile. - Loc
- A source code location used for error reporting.
- LocWith
Opt - A source code location used as the result of
lookup_char_pos_adj - Mark
- A mark is a unique id associated with a macro expansion.
- Multi
Span - A collection of spans. Spans have two orthogonal attributes:
- Source
File - A single source in the SourceMap.
- Source
File AndByte Pos - Source
File AndLine - Source
Map - The interner for spans.
- Span
- Spans represent a region of code, used for error reporting.
- Syntax
Context - A SyntaxContext represents a chain of macro expansions (represented by marks).
Enums§
- Archived
File Name - An archived
FileName - Archived
Span Lines Error - An archived
SpanLinesError - Archived
Span Snippet Error - An archived
SpanSnippetError - File
Name - Span
Lines Error - Span
Snippet Error
Constants§
- DUMMY_
SP - Dummy span, both position and length are zero, syntax context is zero as well.
- NO_
EXPANSION
Statics§
- GLOBALS
- Storage for span hygiene data.
Traits§
- AstNode
- A trait for ast nodes.
- EqIgnore
Span - Derive with
#[derive(EqIgnoreSpan)]. - File
Loader - An abstraction over the fs operations used by the Parser.
- Source
Mapper - Spanned
- Derive
- TypeEq
- Derive with
#[derive(TypeEq)].
Type Aliases§
Attribute Macros§
- ast_
node - Alias for
#[derive(Spanned, Fold, Clone, Debug, PartialEq)]for a struct and#[derive(Spanned, Fold, Clone, Debug, PartialEq, FromVariant)]for an enum. - ast_
serde - Derives
serde::Serializeandserde::Deserialize.
Derive Macros§
- Decode
- Deserialize
Enum - Derives
serde::Deserializewhich is aware oftagbased deserialization. - Encode
- EqIgnore
Span - Derives
swc_common::EqIgnoreSpan. - From
Variant - Derives [
From] for all variants. This only supports an enum where every variant has a single field. - Spanned
- Derives [
swc_common::Spanned]. See [swc_common::Spanned] for documentation. - TypeEq
- Derives
swc_common::TypeEq.