summary refs log tree commit diff
path: root/src/libsyntax/visit.rs
AgeCommit message (Collapse)AuthorLines
2014-01-06Disowned the Visitor.Eduard Burtescu-97/+97
2014-01-03librustc: Remove `@mut` support from the parserPatrick Walton-2/+2
2014-01-01Remove `extern mod foo (name="bar")` syntax, closes #9543Florian Hahn-1/+1
2013-12-17auto merge of #11005 : sanxiyn/rust/mut, r=alexcrichtonbors-4/+6
There is no `~mut T` and `[mut T]` any more.
2013-12-17Remove obsolete mutability from ast::TySeo Sanghyeon-4/+6
2013-12-16AST Visitor now walks enum discriminant expressionKiet Tran-0/+4
2013-12-12Remove fk_anonSeo Sanghyeon-6/+4
2013-12-11Make 'self lifetime illegal.Erik Price-3/+3
Also remove all instances of 'self within the codebase. This fixes #10889.
2013-12-09Check the privacy of implemented traitsAlex Crichton-18/+25
This bug showed up because the visitor only visited the path of the implemented trait via walk_path (with no corresponding visit_path function). I have modified the visitor to use visit_path (which is now overridable), and the privacy visitor overrides this function and now properly checks for the privacy of all paths. Closes #10857
2013-12-06Check crate root for docs in missing_doc lint.Corey Richardson-0/+1
Because the root module isn't actually an item, we need to do some hackish handling of it. Closes #10656.
2013-12-01auto merge of #10750 : Blei/rust/no-at-struct-field, r=alexcrichtonbors-2/+2
2013-12-01ast: Remove one `@` and fix the falloutPhilipp Brüschweiler-2/+2
2013-12-01Box Block, fn_decl, variant and Ty in the AST, as they were inflating ↵Eduard Burtescu-37/+37
critical enum sizes.
2013-11-28Register new snapshotsAlex Crichton-3/+3
2013-11-26Take &Pat in visit_patSeo Sanghyeon-1/+1
2013-11-22syntax: add a visit_ident method to the Visitor.Huon Wilson-3/+45
2013-11-21Remove ty_macSeo Sanghyeon-1/+1
2013-11-18Use '..' as slice wildcard in vectorsBrian Anderson-1/+1
2013-11-13make missing_doc lint respect the visibility rulesDavid Creswick-12/+20
Previously, the `exported_items` set created by the privacy pass was incomplete. Specifically, it did not include items that had been defined at a private path but then `pub use`d at a public path. This commit finds all crate exports during the privacy pass. Consequently, some code in the reachable pass and in rustdoc is no longer necessary. This commit then removes the separate `MissingDocLintVisitor` lint pass, opting to check missing_doc lint in the same pass as the other lint checkers using the visibility result computed by the privacy pass. Fixes #9777.
2013-11-08Create a new pass to resolve named lifetimes; rscope is not onlyNiko Matsakis-15/+88
used to indicate when anonymous regions (i.e., &T) are permitted
2013-10-29librustc: Implement the `proc` type as sugar for `~once fn` and `proc`Patrick Walton-0/+8
notation for closures, and disable the feature gate for `once fn` if used with the `~` sigil.
2013-10-28syntax: remove dead @mut Visitor impl (only used in tests).Huon Wilson-63/+0
Also, move some code only uses in the tests into the test module, and replace some needless @mut ~[] with plain ~[].
2013-10-21Add a feature flag for ASMLéo Testard-3/+7
2013-09-14Get rid of unused SimpleVisitor stuff.Lindsey Kuper-142/+1
2013-09-09auto merge of #9005 : alexcrichton/rust/rusty-log, r=brsonbors-4/+1
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-08syntax: implement labelled breaks for `for`.Huon Wilson-2/+1
`for` desugars to `loop` so it is trivial to just desugar to `loop` while retaining any label.
2013-09-05Remove the __log function for __log_levelAlex Crichton-4/+1
Also redefine all of the standard logging macros to use more rust code instead of custom LLVM translation code. This makes them a bit easier to understand, but also more flexibile for future types of logging. Additionally, this commit removes the LogType language item in preparation for changing how logging is performed.
2013-09-03Modernized a few more types in syntax::astMarvin Löbel-78/+78
2013-09-02Renamed syntax::ast::ident -> IdentMarvin Löbel-8/+8
2013-09-01Modernized a few type names in rustc and syntaxMarvin Löbel-10/+10
2013-08-28auto merge of #8718 : bblum/rust/typeof, r=pcwaltonbors-0/+3
r? anybody
2013-08-27librustc: Ensure that type parameters are in the right positions in paths.Patrick Walton-1/+1
This removes the stacking of type parameters that occurs when invoking trait methods, and fixes all places in the standard library that were relying on it. It is somewhat awkward in places; I think we'll probably want something like the `Foo::<for T>::new()` syntax.
2013-08-27librustc: Add support for type parameters in the middle of paths.Patrick Walton-2/+4
For example, `foo::<T>::bar::<U>`. This doesn't enforce that the type parameters are in the right positions, however.
2013-08-23Parse and reserve typeof keyword. #3228Ben Blum-0/+3
2013-08-15Switch to new <V:Visitor> visitor (rather than @Visitor).Felix S. Klock II-136/+200
Alpha-renamed top-level visit_* functions to walk_*. (Motivation: Distinguish visit action and recursive traversal.) Abstract over `&mut self` rather than over `@mut self`. This required some acrobatics, notably the `impl<E> Visitor<E> for @mut Visitor<E>` and corresponding introduction of `@mut Visitor` and some local `let mut` bindings. Remove oldvisit reference. Added default implementations for all of the Visitor trait methods. Note that both `visit_expr_post` and `visit_ty` are no-op's by default, just like they are in `oldvisit::default_visitor`. Refactoring: extract logic to ease swapping visit for oldvisit (hopefully).
2013-08-11libsyntax: Update from `@Object` to `@mut Object` as requiredNiko Matsakis-48/+48
2013-08-04rm obsolete `for` support from the compilerDaniel Micay-1/+0
2013-08-03remove obsolete `foreach` keywordDaniel Micay-40/+40
this has been replaced by `for`
2013-08-02librustc: Disallow "unsafe" for external functionsPatrick Walton-1/+1
2013-08-02librustc: Introduce a new visitor type based on traits and port syntax to it.Patrick Walton-580/+556
This is preparation for removing `@fn`. This does *not* use default methods yet, because I don't know whether they work. If they do, a forthcoming PR will use them. This also changes the precedence of `as`.
2013-08-01migrate many `for` loops to `foreach`Daniel Micay-39/+39
2013-08-01make `in` and `foreach` get treated as keywordsDaniel Micay-2/+2
2013-07-30syntax: implement foreach .. in .. { .. } via desugaring.Graydon Hoare-0/+5
2013-07-29New naming convention for ast::{node_id, local_crate, crate_node_id, ↵Michael Woerister-20/+20
blk_check_mode, ty_field, ty_method}
2013-07-22De-spanned<T> and renamed ast::field (now ast::Field)Michael Woerister-1/+1
2013-07-22Ast spanned<T> refactoring, renaming: crate, local, blk, crate_num, crate_cfg.Michael Woerister-18/+18
`crate => Crate` `local => Local` `blk => Block` `crate_num => CrateNum` `crate_cfg => CrateConfig` Also, Crate and Local are not wrapped in spanned<T> anymore.
2013-07-17librustc: Remove `copy` expressions from the language.Patrick Walton-1/+0
2013-07-17librustc: Remove all uses of "copy".Patrick Walton-129/+148
2013-07-17librustc: Add a lint mode for unnecessary `copy` and remove a bunch of them.Patrick Walton-12/+6
2013-07-17Made ast::blk not use spanned<T> anymore.Michael Woerister-3/+3