Analysis passes used to drive various transformations.
General-purpose AST manipulation utilities. Everything in here works strictly on the AST, with no reliance on HIR or TyCtxt information.
Macro collapsing - the opposite of macro expansion.
Command management and overall refactoring state.
Helper for checking if a node or one of its descendants has a particular mark.
Frontend logic for parsing and expanding ASTs. This code largely mimics the behavior of
Interactive mode, for running
This module implements commands for manipulating the current set of marked nodes.
AST pattern matching implementation.
Mappings between old and new
Helper functions for picking a node by source location.
Simple plugin loading infrastructure.
Debug command for printing the span of every major AST node.
Functions for building AST representations of higher-level values.
Module for rewriting source text to reflect changes in the AST.
A simple scripting language for marking a set of nodes.
This module contains some AST folds for fixing up span information. There are a few sources of bogus spans, which cause major confusion during rewriting.
AST transformation implementations. Most
Helper definitions for constructing a mapping between
Miscellaneous utility functions.
Driver context. Contains all available analysis results as of the current compiler phase.