From 7450336afc614620600b6f144075cd203355de4f Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Thu, 25 Nov 2010 19:19:21 +0300 Subject: [PATCH] replace assertion with checks --- .../evaluation/expression/EvaluatorBuilderImpl.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/java/debugger/impl/src/com/intellij/debugger/engine/evaluation/expression/EvaluatorBuilderImpl.java b/java/debugger/impl/src/com/intellij/debugger/engine/evaluation/expression/EvaluatorBuilderImpl.java index bd6c2d4f52d5..236aedce2581 100644 --- a/java/debugger/impl/src/com/intellij/debugger/engine/evaluation/expression/EvaluatorBuilderImpl.java +++ b/java/debugger/impl/src/com/intellij/debugger/engine/evaluation/expression/EvaluatorBuilderImpl.java @@ -1058,7 +1058,7 @@ public class EvaluatorBuilderImpl implements EvaluatorBuilder { } @Override - public void visitNewExpression(PsiNewExpression expression) { + public void visitNewExpression(final PsiNewExpression expression) { PsiType expressionPsiType = expression.getType(); if (expressionPsiType instanceof PsiArrayType) { Evaluator dimensionEvaluator = null; @@ -1115,8 +1115,7 @@ public class EvaluatorBuilderImpl implements EvaluatorBuilder { initializerEvaluator ); } - else { // must be a class ref - LOG.assertTrue(expressionPsiType instanceof PsiClassType); + else if (expressionPsiType instanceof PsiClassType){ // must be a class ref PsiClass aClass = ((PsiClassType)expressionPsiType).resolve(); if(aClass instanceof PsiAnonymousClass) { throwEvaluateException(DebuggerBundle.message("evaluation.error.anonymous.class.evaluation.not.supported")); @@ -1151,6 +1150,14 @@ public class EvaluatorBuilderImpl implements EvaluatorBuilder { argumentEvaluators ); } + else { + if (expressionPsiType != null) { + throwEvaluateException("Unsupported expression type: " + expressionPsiType.getPresentableText()); + } + else { + throwEvaluateException("Unknown type for expression: " + expression.getText()); + } + } } @Override