From 26970f0e38716a9b8aeb13e0e014f50506780eb8 Mon Sep 17 00:00:00 2001 From: sweinreuter Date: Wed, 17 Oct 2012 13:57:23 +0200 Subject: [PATCH] EA-36574 - assert: XsltValidator.checkUnusedVariable --- .../lang/xpath/xslt/validation/XsltValidator.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/validation/XsltValidator.java b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/validation/XsltValidator.java index b69fd9979528..f755bbd58482 100644 --- a/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/validation/XsltValidator.java +++ b/plugins/xpath/xpath-lang/src/org/intellij/lang/xpath/xslt/validation/XsltValidator.java @@ -58,12 +58,22 @@ public class XsltValidator { if (templateTag == null) { return; } + final XmlAttribute attribute = tag.getAttribute("name"); + if (attribute == null) { + return; + } + final PsiElement token = XsltSupport.getAttValueToken(attribute); + if (token == null) { + return; + } final SearchScope scope = new LocalSearchScope(templateTag); final Query refs = ReferencesSearch.search(variable, scope, false); if (isUnused(variable, refs)) { final String name = variable.getName(); + assert name != null; + final LocalQuickFix[] fixes; if (variable instanceof XsltParameter) { fixes = new LocalQuickFix[]{ new DeleteUnusedParameterFix(name, (XsltParameter)variable) }; @@ -71,11 +81,6 @@ public class XsltValidator { fixes = new LocalQuickFix[]{ new DeleteUnusedVariableFix(name, variable) }; } - final XmlAttribute attribute = tag.getAttribute("name"); - assert attribute != null; - - final PsiElement token = XsltSupport.getAttValueToken(attribute); - assert token != null; holder.registerProblem(token, ((DeleteUnusedElementBase)fixes[0]).getType() + " '" + name + "' is never used", ProblemHighlightType.LIKE_UNUSED_SYMBOL, fixes); }