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.
§ahash
Use ahash
instead of rustc_hash
for AHashMap
and AHashSet
.
Modules§
- This module reexports items from
swc_visit
with some swc-specific traits. - serializer
Deprecated - The SourceMap tracks all the source code used within a single crate.
- This module defines types which are thread safe if
cfg!(feature = "concurrent")
is true.
Macros§
Structs§
- An archived
BytePos
- An archived
CharPos
- An archived
MultiSpan
- An archived
SourceFile
- An archived
SourceFileAndBytePos
- An archived
Span
- A byte offset. Keep this small (currently 32-bits), as AST contains a lot of them.
- 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.
- A struct to represent lines of a source file.
- Used to create a
.map
file. - A source code location used for error reporting.
- A source code location used as the result of
lookup_char_pos_adj
- A mark is a unique id associated with a macro expansion.
- A collection of spans. Spans have two orthogonal attributes:
- A single source in the SourceMap.
- The interner for spans.
- Spans represent a region of code, used for error reporting.
- A SyntaxContext represents a chain of macro expansions (represented by marks).
Enums§
- An archived
FileName
- An archived
SpanLinesError
- An archived
SpanSnippetError
Constants§
- Dummy span, both position and length are zero, syntax context is zero as well.
Statics§
- Storage for span hygiene data.
Traits§
- A trait for ast nodes.
- Derive with
#[derive(EqIgnoreSpan)]
. - An abstraction over the fs operations used by the Parser.
- Derive
- Derive with
#[derive(TypeEq)]
.
Type Aliases§
Attribute Macros§
- Alias for
#[derive(Spanned, Fold, Clone, Debug, PartialEq)]
for a struct and#[derive(Spanned, Fold, Clone, Debug, PartialEq, FromVariant)]
for an enum. - Derives
serde::Serialize
andserde::Deserialize
.
Derive Macros§
- Derives
serde::Deserialize
which is aware oftag
based deserialization. - Derives
swc_common::EqIgnoreSpan
. - Derives [
From
] for all variants. This only supports an enum where every variant has a single field. - Derives [
swc_common::Spanned
]. See [swc_common::Spanned
] for documentation. - Derives
swc_common::TypeEq
.