From 13472faa4d42c33494425a64d49c8149dd294f19 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Mon, 11 Jul 2016 14:18:45 -0700 Subject: [PATCH] Code streamlining. Change-Id: Ifcf5a23c1a8948d43adc4f0761a83695bb34d3e8 --- .../core/dom/parser/cpp/semantics/EvalID.java | 33 +++++++++++-------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java index 3f5b508668e..c2410dbf4ed 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalID.java @@ -422,20 +422,25 @@ public class EvalID extends CPPDependentEvaluation { } catch (DOMException e) { } IBinding[] bindings = data.getFoundBindings(); - if (bindings.length >= 1 && bindings[0] instanceof ICPPFunction) { - ICPPFunction[] functions = new ICPPFunction[bindings.length]; - System.arraycopy(bindings, 0, functions, 0, bindings.length); - return new EvalFunctionSet(new CPPFunctionSet(functions, templateArgs, null), fQualified, fAddressOf, - impliedObjectType, getTemplateDefinition()); - } - IBinding binding = bindings.length == 1 ? bindings[0] : null; - if (binding instanceof IEnumerator) { - return new EvalBinding(binding, null, getTemplateDefinition()); - } else if (binding instanceof ICPPMember) { - return new EvalMemberAccess(nameOwner, ValueCategory.PRVALUE, binding, false, getTemplateDefinition()); - } else if (binding instanceof CPPFunctionSet) { - return new EvalFunctionSet((CPPFunctionSet) binding, fQualified, fAddressOf, impliedObjectType, - getTemplateDefinition()); + if (bindings.length != 0) { + IBinding binding = bindings[0]; + if (binding instanceof ICPPFunction) { + ICPPFunction[] functions = new ICPPFunction[bindings.length]; + System.arraycopy(bindings, 0, functions, 0, bindings.length); + return new EvalFunctionSet(new CPPFunctionSet(functions, templateArgs, null), fQualified, + fAddressOf, impliedObjectType, getTemplateDefinition()); + } + if (binding instanceof CPPFunctionSet) { + return new EvalFunctionSet((CPPFunctionSet) binding, fQualified, fAddressOf, + impliedObjectType, getTemplateDefinition()); + } + if (binding instanceof IEnumerator) { + return new EvalBinding(binding, null, getTemplateDefinition()); + } + if (binding instanceof ICPPMember) { + return new EvalMemberAccess(nameOwner, ValueCategory.PRVALUE, binding, false, + getTemplateDefinition()); + } } return null; }