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_visit with some swc-specific traits.
plugin
serializerDeprecated
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§

impl_stable_hash_via_hash

Structs§

ArchivedBytePos
An archived BytePos
ArchivedCharPos
An archived CharPos
ArchivedMultiSpan
An archived MultiSpan
ArchivedSourceFile
An archived SourceFile
ArchivedSourceFileAndBytePos
An archived SourceFileAndBytePos
ArchivedSpan
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.
FileLines
A struct to represent lines of a source file.
FilePathMapping
Globals
LineCol
Used to create a .map file.
Loc
A source code location used for error reporting.
LocWithOpt
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.
MultiSpan
A collection of spans. Spans have two orthogonal attributes:
SourceFile
A single source in the SourceMap.
SourceFileAndBytePos
SourceFileAndLine
SourceMap
The interner for spans.
Span
Spans represent a region of code, used for error reporting.
SyntaxContext
A SyntaxContext represents a chain of macro expansions (represented by marks).

Enums§

ArchivedFileName
An archived FileName
ArchivedSpanLinesError
An archived SpanLinesError
ArchivedSpanSnippetError
An archived SpanSnippetError
FileName
SpanLinesError
SpanSnippetError

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.
EqIgnoreSpan
Derive with #[derive(EqIgnoreSpan)].
FileLoader
An abstraction over the fs operations used by the Parser.
SourceMapper
Spanned
Derive
TypeEq
Derive with #[derive(TypeEq)].

Type Aliases§

SourceMapperDyn

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::Serialize and serde::Deserialize.

Derive Macros§

DeserializeEnum
Derives serde::Deserialize which is aware of tag based deserialization.
EqIgnoreSpan
Derives swc_common::EqIgnoreSpan.
FromVariant
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.