aboutsummaryrefslogtreecommitdiffstats
path: root/components/script_plugins
diff options
context:
space:
mode:
authorJefry Lagrange <jefry.reyes@gmail.com>2017-02-19 10:54:59 +0100
committerJefry Lagrange <jefry.reyes@gmail.com>2017-02-25 15:56:06 +0100
commitebcb15d6f2120e1a6ecbe2e15249a089d806341b (patch)
treed6d3b436e1ba06c5df6b300cdeb96939fae674d1 /components/script_plugins
parent26de7c6bc48affbc2087b32649850f0733e567f0 (diff)
downloadservo-ebcb15d6f2120e1a6ecbe2e15249a089d806341b.tar.gz
servo-ebcb15d6f2120e1a6ecbe2e15249a089d806341b.zip
Rewrite the ban-type lint in Python
Delete old rust ban lint and move tests to python tidy Fix ban lint regex and fix test
Diffstat (limited to 'components/script_plugins')
-rw-r--r--components/script_plugins/ban.rs53
-rw-r--r--components/script_plugins/lib.rs2
2 files changed, 0 insertions, 55 deletions
diff --git a/components/script_plugins/ban.rs b/components/script_plugins/ban.rs
deleted file mode 100644
index 4a4e71c08cc..00000000000
--- a/components/script_plugins/ban.rs
+++ /dev/null
@@ -1,53 +0,0 @@
-/* This Source Code Form is subject to the terms of the Mozilla Public
- * 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/. */
-
-use rustc::lint::{EarlyContext, LintPass, LintArray, EarlyLintPass, LintContext};
-use syntax::ast::Ty;
-use utils::match_ty_unwrap;
-
-declare_lint!(BANNED_TYPE, Deny,
- "Ban various unsafe type combinations");
-
-/// Lint for banning various unsafe types
-///
-/// Banned types:
-///
-/// - `Cell<JSVal>`
-/// - `Cell<JS<T>>`
-pub struct BanPass;
-
-impl LintPass for BanPass {
- fn get_lints(&self) -> LintArray {
- lint_array!(BANNED_TYPE)
- }
-}
-
-impl EarlyLintPass for BanPass {
- fn check_ty(&mut self, cx: &EarlyContext, ty: &Ty) {
- if match_ty_unwrap(ty, &["std", "cell", "Cell"])
- .and_then(|t| t.get(0))
- .and_then(|t| match_ty_unwrap(&**t, &["dom", "bindings", "js", "JS"]))
- .is_some() {
- cx.span_lint(BANNED_TYPE, ty.span, "Banned type Cell<JS<T>> detected. Use MutJS<JS<T>> instead")
- }
- if match_ty_unwrap(ty, &["std", "cell", "Cell"])
- .and_then(|t| t.get(0))
- .and_then(|t| match_ty_unwrap(&**t, &["js", "jsval", "JSVal"]))
- .is_some() {
- cx.span_lint(BANNED_TYPE, ty.span, "Banned type Cell<JSVal> detected. Use MutJS<JSVal> instead")
- }
- if match_ty_unwrap(ty, &["dom", "bindings", "cell", "DOMRefCell"])
- .and_then(|t| t.get(0))
- .and_then(|t| match_ty_unwrap(&**t, &["dom", "bindings", "js", "JS"]))
- .is_some() {
- cx.span_lint(BANNED_TYPE, ty.span, "Banned type DOMRefCell<JS<T>> detected. Use MutJS<JS<T>> instead")
- }
- if match_ty_unwrap(ty, &["dom", "bindings", "cell", "DOMRefCell"])
- .and_then(|t| t.get(0))
- .and_then(|t| match_ty_unwrap(&**t, &["js", "jsapi", "Heap"]))
- .is_some() {
- cx.span_lint(BANNED_TYPE, ty.span, "Banned type DOMRefCell<Heap<T>> detected. Use Heap<T> directly instead")
- }
- }
-}
diff --git a/components/script_plugins/lib.rs b/components/script_plugins/lib.rs
index 3b89106f064..3c0f67fa6ab 100644
--- a/components/script_plugins/lib.rs
+++ b/components/script_plugins/lib.rs
@@ -25,7 +25,6 @@ extern crate syntax;
use rustc_plugin::Registry;
use syntax::feature_gate::AttributeType::Whitelisted;
-mod ban;
mod unrooted_must_root;
/// Utilities for writing plugins
mod utils;
@@ -33,7 +32,6 @@ mod utils;
#[plugin_registrar]
pub fn plugin_registrar(reg: &mut Registry) {
reg.register_late_lint_pass(box unrooted_must_root::UnrootedPass::new());
- reg.register_early_lint_pass(box ban::BanPass);
reg.register_attribute("allow_unrooted_interior".to_string(), Whitelisted);
reg.register_attribute("must_root".to_string(), Whitelisted);
}