diff options
author | Sergey Prigogin | 2012-07-18 19:19:37 +0000 |
---|---|---|
committer | Sergey Prigogin | 2012-07-18 20:25:01 +0000 |
commit | 0d4b048d1594b701d194b6bd91e40825934ed67f (patch) | |
tree | 53e28b4f7d3cc79884d1bebe06af31d3b2cfa3c4 | |
parent | 9aa20f2270b6e8618327fded6276eb012cae3c70 (diff) | |
download | org.eclipse.cdt-0d4b048d1594b701d194b6bd91e40825934ed67f.tar.gz org.eclipse.cdt-0d4b048d1594b701d194b6bd91e40825934ed67f.tar.xz org.eclipse.cdt-0d4b048d1594b701d194b6bd91e40825934ed67f.zip |
More detailed exception message.
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java index 8fbb1cb8149..acec6713497 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates.java @@ -51,6 +51,7 @@ import org.eclipse.cdt.core.dom.ast.ISemanticProblem; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.ITypedef; import org.eclipse.cdt.core.dom.ast.IValue; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTAmbiguousTemplateArgument; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTDeclSpecifier; @@ -1706,6 +1707,10 @@ public class CPPTemplates { IType type= expr.getExpressionType(); IValue value= Value.create((IASTExpression) arg, Value.MAX_RECURSION_DEPTH); result[i]= new CPPTemplateArgument(value, type); + } else if (arg instanceof ICPPASTAmbiguousTemplateArgument) { + throw new IllegalArgumentException(id.getRawSignature() + + " contains an ambiguous template argument at position " + i + " in " //$NON-NLS-1$ //$NON-NLS-2$ + + id.getContainingFilename()); } else { throw new IllegalArgumentException("Unexpected type: " + arg.getClass().getName()); //$NON-NLS-1$ } |