From e05566a452d407cadc999eb8d91c5b1b0fab3661 Mon Sep 17 00:00:00 2001 From: Nathan Ridge Date: Sun, 8 Oct 2017 14:16:11 -0400 Subject: [PATCH] Rename EvalParameterPack to EvalPackExpansion EvalParameterPack was a misleading name. This evaluation represents a pack expansion expression; the expansion pattern has to contain one or more parameter packs, but they can be nested inside an arbitrarily complex expression. Change-Id: I16d09c349fc6c2b1086e37fd6743f613f02bf5eb --- .../core/dom/parser/ITypeMarshalBuffer.java | 2 +- .../parser/cpp/CPPASTPackExpansionExpression.java | 4 ++-- .../dom/parser/cpp/CPPTemplateNonTypeArgument.java | 6 +++--- .../cpp/semantics/CPPDependentEvaluation.java | 4 ++-- ...alParameterPack.java => EvalPackExpansion.java} | 14 +++++++------- .../core/dom/parser/cpp/semantics/LookupData.java | 2 +- .../index/composite/cpp/CPPCompositesFactory.java | 8 ++++---- .../internal/core/pdom/dom/cpp/PDOMCPPLinkage.java | 6 +++--- 8 files changed, 23 insertions(+), 23 deletions(-) rename core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/{EvalParameterPack.java => EvalPackExpansion.java} (89%) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ITypeMarshalBuffer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ITypeMarshalBuffer.java index 22872e3a964..d66e3dfe2ca 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ITypeMarshalBuffer.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ITypeMarshalBuffer.java @@ -69,7 +69,7 @@ public interface ITypeMarshalBuffer { EVAL_ID = 0x0A, EVAL_INIT_LIST = 0x0B, EVAL_MEMBER_ACCESS = 0x0C, - EVAL_PARAMETER_PACK = 0x0D, + EVAL_PACK_EXPANSION = 0x0D, EVAL_TYPE_ID = 0x0E, EVAL_UNARY = 0x0F, EVAL_UNARY_TYPE_ID = 0x10, diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java index 8609867b65e..24d5181bc1c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPASTPackExpansionExpression.java @@ -22,7 +22,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTPackExpansionExpression; import org.eclipse.cdt.internal.core.dom.parser.ASTNode; import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPEvaluation; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalParameterPack; +import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalPackExpansion; /** * Implementation of pack expansion expression. @@ -65,7 +65,7 @@ public class CPPASTPackExpansionExpression extends ASTNode implements ICPPASTPac @Override public ICPPEvaluation getEvaluation() { if (fEvaluation == null) { - fEvaluation = new EvalParameterPack(((ICPPASTExpression) fPattern).getEvaluation(), this); + fEvaluation = new EvalPackExpansion(((ICPPASTExpression) fPattern).getEvaluation(), this); } return fEvaluation; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPTemplateNonTypeArgument.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPTemplateNonTypeArgument.java index aea11911c05..128980dabeb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPTemplateNonTypeArgument.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPTemplateNonTypeArgument.java @@ -19,7 +19,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameterPackType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateArgument; import org.eclipse.cdt.internal.core.dom.parser.IntegralValue; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFixed; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalParameterPack; +import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalPackExpansion; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId; import org.eclipse.core.runtime.Assert; @@ -96,8 +96,8 @@ public final class CPPTemplateNonTypeArgument implements ICPPTemplateArgument { IType t= ((ICPPParameterPackType) type).getType(); if (t != null) { ICPPEvaluation evaluation; - if (fEvaluation instanceof EvalParameterPack) { - evaluation = ((EvalParameterPack) fEvaluation).getExpansionPattern(); + if (fEvaluation instanceof EvalPackExpansion) { + evaluation = ((EvalPackExpansion) fEvaluation).getExpansionPattern(); } else { evaluation = new EvalTypeId(t, fEvaluation.getTemplateDefinition(), false, false, fEvaluation); } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPDependentEvaluation.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPDependentEvaluation.java index 38c257104f5..92887845de2 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPDependentEvaluation.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPDependentEvaluation.java @@ -112,8 +112,8 @@ public abstract class CPPDependentEvaluation extends CPPEvaluation { for (int i = 0; i < subexpressions.length; i++) { ICPPEvaluation origEval = subexpressions[i]; ICPPEvaluation newEval; - if (origEval instanceof EvalParameterPack) { - ICPPEvaluation pattern = ((EvalParameterPack) origEval).getExpansionPattern(); + if (origEval instanceof EvalPackExpansion) { + ICPPEvaluation pattern = ((EvalPackExpansion) origEval).getExpansionPattern(); if (pattern == null) { newEval = EvalFixed.INCOMPLETE; } else { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalParameterPack.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalPackExpansion.java similarity index 89% rename from core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalParameterPack.java rename to core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalPackExpansion.java index 2d47dece982..bea59df4602 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalParameterPack.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/EvalPackExpansion.java @@ -27,15 +27,15 @@ import org.eclipse.core.runtime.CoreException; /** * Evaluation for a pack expansion expression. */ -public class EvalParameterPack extends CPPDependentEvaluation { +public class EvalPackExpansion extends CPPDependentEvaluation { private ICPPEvaluation fExpansionPattern; private IType fType; - public EvalParameterPack(ICPPEvaluation expansionPattern, IASTNode pointOfDefinition) { + public EvalPackExpansion(ICPPEvaluation expansionPattern, IASTNode pointOfDefinition) { this(expansionPattern, findEnclosingTemplate(pointOfDefinition)); } - public EvalParameterPack(ICPPEvaluation expansionPattern, IBinding templateDefinition) { + public EvalPackExpansion(ICPPEvaluation expansionPattern, IBinding templateDefinition) { super(templateDefinition); fExpansionPattern = expansionPattern; } @@ -97,7 +97,7 @@ public class EvalParameterPack extends CPPDependentEvaluation { ICPPEvaluation expansionPattern = fExpansionPattern.instantiate(context, maxDepth); if (expansionPattern == fExpansionPattern) return this; - return new EvalParameterPack(expansionPattern, getTemplateDefinition()); + return new EvalPackExpansion(expansionPattern, getTemplateDefinition()); } @Override @@ -107,7 +107,7 @@ public class EvalParameterPack extends CPPDependentEvaluation { return this; } - EvalParameterPack evalParamPack = new EvalParameterPack(expansionPattern, getTemplateDefinition()); + EvalPackExpansion evalParamPack = new EvalPackExpansion(expansionPattern, getTemplateDefinition()); return evalParamPack; } @@ -123,7 +123,7 @@ public class EvalParameterPack extends CPPDependentEvaluation { @Override public void marshal(ITypeMarshalBuffer buffer, boolean includeValue) throws CoreException { - buffer.putShort(ITypeMarshalBuffer.EVAL_PARAMETER_PACK); + buffer.putShort(ITypeMarshalBuffer.EVAL_PACK_EXPANSION); buffer.marshalEvaluation(fExpansionPattern, includeValue); marshalTemplateDefinition(buffer); } @@ -131,6 +131,6 @@ public class EvalParameterPack extends CPPDependentEvaluation { public static ICPPEvaluation unmarshal(short firstBytes, ITypeMarshalBuffer buffer) throws CoreException { ICPPEvaluation expansionPattern = buffer.unmarshalEvaluation(); IBinding templateDefinition = buffer.unmarshalBinding(); - return new EvalParameterPack(expansionPattern, templateDefinition); + return new EvalPackExpansion(expansionPattern, templateDefinition); } } \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java index 71de0eea8d9..02d370e3486 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/LookupData.java @@ -585,7 +585,7 @@ public class LookupData extends ScopeLookupData { int count= 0; if (functionArgs != null) { for (ICPPEvaluation arg : functionArgs) { - if (arg instanceof EvalParameterPack) + if (arg instanceof EvalPackExpansion) count++; } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/cpp/CPPCompositesFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/cpp/CPPCompositesFactory.java index e3e15eb6d05..1f644fc00a5 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/cpp/CPPCompositesFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/cpp/CPPCompositesFactory.java @@ -99,7 +99,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalInitList; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalMemberAccess; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalParameterPack; +import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalPackExpansion; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnary; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnaryTypeID; @@ -441,12 +441,12 @@ public class CPPCompositesFactory extends AbstractCompositeFactory { compositeTemplateDefinition); return e; } - if (eval instanceof EvalParameterPack) { - EvalParameterPack e = (EvalParameterPack) eval; + if (eval instanceof EvalPackExpansion) { + EvalPackExpansion e = (EvalPackExpansion) eval; ICPPEvaluation a = e.getExpansionPattern(); ICPPEvaluation a2 = getCompositeEvaluation(a); if (a != a2 || templateDefinition != compositeTemplateDefinition) - e = new EvalParameterPack(a2, compositeTemplateDefinition); + e = new EvalPackExpansion(a2, compositeTemplateDefinition); return e; } if (eval instanceof EvalTypeId) { diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java index 6612330bf08..9a073a1134d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java @@ -131,7 +131,7 @@ import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalFunctionSet; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalID; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalInitList; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalMemberAccess; -import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalParameterPack; +import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalPackExpansion; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalPointer; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalReference; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId; @@ -1682,8 +1682,8 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants { return EvalInitList.unmarshal(firstBytes, buffer); case ITypeMarshalBuffer.EVAL_MEMBER_ACCESS: return EvalMemberAccess.unmarshal(firstBytes, buffer); - case ITypeMarshalBuffer.EVAL_PARAMETER_PACK: - return EvalParameterPack.unmarshal(firstBytes, buffer); + case ITypeMarshalBuffer.EVAL_PACK_EXPANSION: + return EvalPackExpansion.unmarshal(firstBytes, buffer); case ITypeMarshalBuffer.EVAL_TYPE_ID: return EvalTypeId.unmarshal(firstBytes, buffer); case ITypeMarshalBuffer.EVAL_UNARY: