mirror of
https://github.com/servo/servo.git
synced 2025-08-02 20:20:14 +01:00
Upgrade plugins
This commit is contained in:
parent
9fbffff604
commit
3cdc412a4c
4 changed files with 9 additions and 7 deletions
|
@ -13,7 +13,7 @@
|
||||||
//! - `#[dom_struct]` : Implies `#[privatize]`,`#[jstraceable]`, and `#[must_root]`.
|
//! - `#[dom_struct]` : Implies `#[privatize]`,`#[jstraceable]`, and `#[must_root]`.
|
||||||
//! Use this for structs that correspond to a DOM type
|
//! Use this for structs that correspond to a DOM type
|
||||||
|
|
||||||
#![feature(plugin_registrar, quote, plugin, box_syntax, rustc_private, collections)]
|
#![feature(plugin_registrar, quote, plugin, box_syntax, rustc_private)]
|
||||||
|
|
||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate syntax;
|
extern crate syntax;
|
||||||
|
|
|
@ -34,12 +34,12 @@ impl LintPass for StrToStringPass {
|
||||||
fn is_str(cx: &Context, expr: &ast::Expr) -> bool {
|
fn is_str(cx: &Context, expr: &ast::Expr) -> bool {
|
||||||
fn walk_ty<'t>(ty: ty::Ty<'t>) -> ty::Ty<'t> {
|
fn walk_ty<'t>(ty: ty::Ty<'t>) -> ty::Ty<'t> {
|
||||||
match ty.sty {
|
match ty.sty {
|
||||||
ty::ty_ptr(ref tm) | ty::ty_rptr(_, ref tm) => walk_ty(tm.ty),
|
ty::TyRef(_, ref tm) | ty::TyRawPtr(ref tm) => walk_ty(tm.ty),
|
||||||
_ => ty
|
_ => ty
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
match walk_ty(expr_ty(cx.tcx, expr)).sty {
|
match walk_ty(expr_ty(cx.tcx, expr)).sty {
|
||||||
ty::ty_str => true,
|
ty::TyStr => true,
|
||||||
_ => false
|
_ => false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,9 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
use syntax::{ast, codemap, visit, ast_map};
|
use syntax::{ast, codemap, visit};
|
||||||
use syntax::attr::AttrMetaMethods;
|
use syntax::attr::AttrMetaMethods;
|
||||||
|
use rustc::ast_map;
|
||||||
use rustc::lint::{Context, LintPass, LintArray};
|
use rustc::lint::{Context, LintPass, LintArray};
|
||||||
use rustc::middle::ty::expr_ty;
|
use rustc::middle::ty::expr_ty;
|
||||||
use rustc::middle::{ty, def};
|
use rustc::middle::{ty, def};
|
||||||
|
@ -159,8 +160,8 @@ impl LintPass for UnrootedPass {
|
||||||
|
|
||||||
let t = expr_ty(cx.tcx, &*expr);
|
let t = expr_ty(cx.tcx, &*expr);
|
||||||
match t.sty {
|
match t.sty {
|
||||||
ty::ty_struct(did, _) |
|
ty::TyStruct(did, _) |
|
||||||
ty::ty_enum(did, _) => {
|
ty::TyEnum(did, _) => {
|
||||||
if ty::has_attr(cx.tcx, did, "must_root") {
|
if ty::has_attr(cx.tcx, did, "must_root") {
|
||||||
cx.span_lint(UNROOTED_MUST_ROOT, expr.span,
|
cx.span_lint(UNROOTED_MUST_ROOT, expr.span,
|
||||||
&format!("Expression of type {} must be rooted", t.repr(cx.tcx)));
|
&format!("Expression of type {} must be rooted", t.repr(cx.tcx)));
|
||||||
|
|
|
@ -2,11 +2,12 @@
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
|
|
||||||
|
use rustc::ast_map;
|
||||||
use rustc::lint::Context;
|
use rustc::lint::Context;
|
||||||
use rustc::middle::{ty, def};
|
use rustc::middle::{ty, def};
|
||||||
|
|
||||||
use syntax::ptr::P;
|
use syntax::ptr::P;
|
||||||
use syntax::{ast, ast_map};
|
use syntax::ast;
|
||||||
use syntax::ast::{TyPath, Path, AngleBracketedParameters, PathSegment, Ty};
|
use syntax::ast::{TyPath, Path, AngleBracketedParameters, PathSegment, Ty};
|
||||||
use syntax::attr::mark_used;
|
use syntax::attr::mark_used;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue