about summary refs log tree commit diff
path: root/src/libsyntax/ext/source_util.rs
AgeCommit message (Collapse)AuthorLines
2019-07-27Break dependencies between `syntax_ext` and some other cratesVadim Petrochenkov-165/+0
Move `source_uitil` macros into `syntax_ext` Cleanup dependencies of `rustc_driver`
2019-07-23Make path::resolve a method on ExtCtxtJonas Schievink-4/+3
2019-07-23libsyntax: factor out file path resolvingJonas Schievink-27/+6
This allows the same logic used by `include_X!` macros to be used by `#[doc(include)]`.
2019-07-07syntax: Migrate built-in macros to the regular stability checkingVadim Petrochenkov-11/+1
2019-06-07parser: `self.span` -> `self.token.span`Vadim Petrochenkov-1/+1
2019-05-13Pass a `Symbol` to `check_name`, `emit_feature_err`, and related functions.Nicholas Nethercote-2/+2
2019-02-11Require a list of features to allow in `allow_internal_unstable`Oliver Scherer-1/+1
2019-02-07libsyntax => 2018Taiki Endo-21/+20
2018-12-30Improve error recovery for some built-in macrosVadim Petrochenkov-1/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-12-07use top level `fs` functions where appropriateAndy Russell-31/+23
This commit replaces many usages of `File::open` and reading or writing with `fs::read_to_string`, `fs::read` and `fs::write`. This reduces code complexity, and will improve performance for most reads, since the functions allocate the buffer to be the size of the file. I believe that this commit will not impact behavior in any way, so some matches will check the error kind in case the file was not valid UTF-8. Some of these cases may not actually care about the error.
2018-12-04adds DocTest filename variant, refactors doctest_offset out of source_map, ↵Matthew Russo-0/+1
fixes remaining test failures
2018-12-04new_source_file no longer enters duplicate files, expand_include_bytes ↵Matthew Russo-3/+6
includes the source if it can convert bytes to string
2018-11-06refactor: use shorthand fieldsteresy-1/+1
2018-09-26Remove OneVectorljedrz-4/+4
2018-08-23use String::new() instead of String::from(""), "".to_string(), "".to_owned() ↵Matthias Krüger-1/+1
or "".into()
2018-08-19mv codemap() source_map()Donato Sciarra-6/+6
2018-08-19mv filemap source_fileDonato Sciarra-3/+3
2018-08-13Move SmallVec and ThinVec out of libsyntaxljedrz-3/+3
2018-07-10Deny bare trait objects in in src/libsyntaxljedrz-9/+9
2018-06-27Remove the now redundant CodeMap::new_filemap_with_lines() method.Michael Woerister-3/+5
2018-03-02Replace Rc with Lrc for shared dataJohn Kåre Alsaker-2/+2
2018-01-26Do not capture stderr in the compiler. Instead just panic silently for fatal ↵John Kåre Alsaker-2/+3
errors
2017-12-24Make column macro output 1 based and document itest31-1/+1
2017-12-19Implement non-mod.rs mod statementsTaylor Cramer-1/+1
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-13/+15
2017-10-03Rename FileMap::path and change to an OptionPhilip Craig-1/+1
2017-09-30Don't use remapped path when loading modules and include filesPhilip Craig-1/+1
2017-08-30Make fields of `Span` privateVadim Petrochenkov-3/+3
2017-08-13Rollup merge of #43782 - nrc:include, r=GuillaumeGomezGuillaume Gomez-5/+6
Fix include! in doc tests By making the path relative to the current file. Fixes #43153 [breaking-change] - if you use `include!` inside a doc test, you'll need to change the path to be relative to the current file rather than relative to the working directory.
2017-08-10Some tidying up around include!Nick Cameron-5/+6
2017-08-10Add a feature gateest31-0/+10
@alexcrichton figured out a way how to do it :)
2017-05-19Rollup merge of #42006 - jseyfried:fix_include_regression, r=nrcMark Simulacrum-3/+3
Fix ICE on `include!(line!())` (regression) Fixes #41776. r? @nrc
2017-05-15Fix regression on `include!(line!())`.Jeffrey Seyfried-3/+3
2017-05-12Fix some clippy warnings in libsyntaxAndre Bogus-2/+2
This is mostly removing stray ampersands, needless returns and lifetimes.
2017-04-26Implement a file-path remapping feature in support of debuginfo and ↵Michael Woerister-2/+2
reproducible builds.
2017-03-29Merge `ExpnId` and `SyntaxContext`.Jeffrey Seyfried-1/+1
2016-11-22Clean up directory ownership semantics.Jeffrey Seyfried-2/+3
2016-11-21Use `Symbol` instead of `InternedString` in the AST, HIR, and various other ↵Jeffrey Seyfried-7/+5
places.
2016-11-20Move `syntax::util::interner` -> `syntax::symbol`, cleanup.Jeffrey Seyfried-7/+5
2016-11-11Change implementation of syntax::util::SmallVector to use ↵Mark-Simulacrum-1/+1
data_structures::SmallVec.
2016-10-29Move `CrateConfig` from `Crate` to `ParseSess`.Jeffrey Seyfried-9/+2
2016-10-14Avoid many CrateConfig clones.Nicholas Nethercote-1/+1
This commit changes `ExtCtx::cfg()` so it returns a `CrateConfig` reference instead of a clone. As a result, it also changes all of the `cfg()` callsites to explicitly clone... except one, because the commit also changes `macro_parser::parse()` to take `&CrateConfig`. This is good, because that function can be hot, and `CrateConfig` is expensive to clone. This change almost halves the number of heap allocations done by rustc for `html5ever` in rustc-benchmarks suite, which makes compilation 1.20x faster.
2016-09-13Move macro resolution into `librustc_resolve`.Jeffrey Seyfried-2/+2
2016-09-05Refactor `SyntaxEnv`.Jeffrey Seyfried-5/+3
2016-06-27Auto merge of #34424 - jseyfried:breaking_batch, r=Manishearthbors-11/+11
Batch up libsyntax breaking changes Batch of the following syntax-[breaking-change] changes: - #34213: Add a variant `Macro` to `TraitItemKind` - #34368: Merge the variant `QPath` of `PatKind` into the variant `PatKind::Path` - #34385: Move `syntax::ast::TokenTree` into a new module `syntax::tokenstream` - #33943: - Remove the type parameter from `visit::Visitor` - Remove `attr::WithAttrs` -- use `attr::HasAttrs` instead. - Change `fold_tt`/`fold_tts` to take token trees by value and avoid wrapping token trees in `Rc`. - Remove the field `ctxt` of `ast::Mac_` - Remove inherent method `attrs()` of types -- use the method `attrs` of `HasAttrs` instead. - #34316: - Remove `ast::Decl`/`ast::DeclKind` and add variants `Local` and `Item` to `StmtKind`. - Move the node id for statements from the `StmtKind` variants to a field of `Stmt` (making `Stmt` a struct instead of an alias for `Spanned<StmtKind>`) - Rename `ast::ExprKind::Again` to `Continue`. - #34339: Generalize and abstract `ThinAttributes` to `ThinVec<Attribute>` - Use `.into()` in convert between `Vec<Attribute>` and `ThinVec<Attribute>` - Use autoderef instead of `.as_attr_slice()` - #34436: Remove the optional expression from `ast::Block` and instead use a `StmtKind::Expr` at the end of the statement list. - #34403: Move errors into a separate crate (unlikely to cause breakage)
2016-06-26Rollup merge of #34385 - cgswords:tstream, r=nrcJeffrey Seyfried-8/+9
syntax-[breaking-change] cc #31645 (Only breaking because ast::TokenTree is now tokenstream::TokenTree.) This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
2016-06-24Revert a change to the relative path for macro-expanded `include!`sJeffrey Seyfried-1/+2
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-3/+2
2016-06-21Refactored tokentrees into their own files in preparation for tokenstreams. ↵cgswords-8/+9
Modified tests to point to the new file now.