1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-07 17:56:01 +02:00

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
This commit is contained in:
Nathan Ridge 2017-10-08 14:16:11 -04:00
parent 9792a72dae
commit e05566a452
8 changed files with 23 additions and 23 deletions

View file

@ -69,7 +69,7 @@ public interface ITypeMarshalBuffer {
EVAL_ID = 0x0A, EVAL_ID = 0x0A,
EVAL_INIT_LIST = 0x0B, EVAL_INIT_LIST = 0x0B,
EVAL_MEMBER_ACCESS = 0x0C, EVAL_MEMBER_ACCESS = 0x0C,
EVAL_PARAMETER_PACK = 0x0D, EVAL_PACK_EXPANSION = 0x0D,
EVAL_TYPE_ID = 0x0E, EVAL_TYPE_ID = 0x0E,
EVAL_UNARY = 0x0F, EVAL_UNARY = 0x0F,
EVAL_UNARY_TYPE_ID = 0x10, EVAL_UNARY_TYPE_ID = 0x10,

View file

@ -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.ASTNode;
import org.eclipse.cdt.internal.core.dom.parser.IASTAmbiguityParent; 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.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. * Implementation of pack expansion expression.
@ -65,7 +65,7 @@ public class CPPASTPackExpansionExpression extends ASTNode implements ICPPASTPac
@Override @Override
public ICPPEvaluation getEvaluation() { public ICPPEvaluation getEvaluation() {
if (fEvaluation == null) { if (fEvaluation == null) {
fEvaluation = new EvalParameterPack(((ICPPASTExpression) fPattern).getEvaluation(), this); fEvaluation = new EvalPackExpansion(((ICPPASTExpression) fPattern).getEvaluation(), this);
} }
return fEvaluation; return fEvaluation;
} }

View file

@ -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.core.dom.ast.cpp.ICPPTemplateArgument;
import org.eclipse.cdt.internal.core.dom.parser.IntegralValue; 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.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.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId;
import org.eclipse.core.runtime.Assert; import org.eclipse.core.runtime.Assert;
@ -96,8 +96,8 @@ public final class CPPTemplateNonTypeArgument implements ICPPTemplateArgument {
IType t= ((ICPPParameterPackType) type).getType(); IType t= ((ICPPParameterPackType) type).getType();
if (t != null) { if (t != null) {
ICPPEvaluation evaluation; ICPPEvaluation evaluation;
if (fEvaluation instanceof EvalParameterPack) { if (fEvaluation instanceof EvalPackExpansion) {
evaluation = ((EvalParameterPack) fEvaluation).getExpansionPattern(); evaluation = ((EvalPackExpansion) fEvaluation).getExpansionPattern();
} else { } else {
evaluation = new EvalTypeId(t, fEvaluation.getTemplateDefinition(), false, false, fEvaluation); evaluation = new EvalTypeId(t, fEvaluation.getTemplateDefinition(), false, false, fEvaluation);
} }

View file

@ -112,8 +112,8 @@ public abstract class CPPDependentEvaluation extends CPPEvaluation {
for (int i = 0; i < subexpressions.length; i++) { for (int i = 0; i < subexpressions.length; i++) {
ICPPEvaluation origEval = subexpressions[i]; ICPPEvaluation origEval = subexpressions[i];
ICPPEvaluation newEval; ICPPEvaluation newEval;
if (origEval instanceof EvalParameterPack) { if (origEval instanceof EvalPackExpansion) {
ICPPEvaluation pattern = ((EvalParameterPack) origEval).getExpansionPattern(); ICPPEvaluation pattern = ((EvalPackExpansion) origEval).getExpansionPattern();
if (pattern == null) { if (pattern == null) {
newEval = EvalFixed.INCOMPLETE; newEval = EvalFixed.INCOMPLETE;
} else { } else {

View file

@ -27,15 +27,15 @@ import org.eclipse.core.runtime.CoreException;
/** /**
* Evaluation for a pack expansion expression. * Evaluation for a pack expansion expression.
*/ */
public class EvalParameterPack extends CPPDependentEvaluation { public class EvalPackExpansion extends CPPDependentEvaluation {
private ICPPEvaluation fExpansionPattern; private ICPPEvaluation fExpansionPattern;
private IType fType; private IType fType;
public EvalParameterPack(ICPPEvaluation expansionPattern, IASTNode pointOfDefinition) { public EvalPackExpansion(ICPPEvaluation expansionPattern, IASTNode pointOfDefinition) {
this(expansionPattern, findEnclosingTemplate(pointOfDefinition)); this(expansionPattern, findEnclosingTemplate(pointOfDefinition));
} }
public EvalParameterPack(ICPPEvaluation expansionPattern, IBinding templateDefinition) { public EvalPackExpansion(ICPPEvaluation expansionPattern, IBinding templateDefinition) {
super(templateDefinition); super(templateDefinition);
fExpansionPattern = expansionPattern; fExpansionPattern = expansionPattern;
} }
@ -97,7 +97,7 @@ public class EvalParameterPack extends CPPDependentEvaluation {
ICPPEvaluation expansionPattern = fExpansionPattern.instantiate(context, maxDepth); ICPPEvaluation expansionPattern = fExpansionPattern.instantiate(context, maxDepth);
if (expansionPattern == fExpansionPattern) if (expansionPattern == fExpansionPattern)
return this; return this;
return new EvalParameterPack(expansionPattern, getTemplateDefinition()); return new EvalPackExpansion(expansionPattern, getTemplateDefinition());
} }
@Override @Override
@ -107,7 +107,7 @@ public class EvalParameterPack extends CPPDependentEvaluation {
return this; return this;
} }
EvalParameterPack evalParamPack = new EvalParameterPack(expansionPattern, getTemplateDefinition()); EvalPackExpansion evalParamPack = new EvalPackExpansion(expansionPattern, getTemplateDefinition());
return evalParamPack; return evalParamPack;
} }
@ -123,7 +123,7 @@ public class EvalParameterPack extends CPPDependentEvaluation {
@Override @Override
public void marshal(ITypeMarshalBuffer buffer, boolean includeValue) throws CoreException { 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); buffer.marshalEvaluation(fExpansionPattern, includeValue);
marshalTemplateDefinition(buffer); marshalTemplateDefinition(buffer);
} }
@ -131,6 +131,6 @@ public class EvalParameterPack extends CPPDependentEvaluation {
public static ICPPEvaluation unmarshal(short firstBytes, ITypeMarshalBuffer buffer) throws CoreException { public static ICPPEvaluation unmarshal(short firstBytes, ITypeMarshalBuffer buffer) throws CoreException {
ICPPEvaluation expansionPattern = buffer.unmarshalEvaluation(); ICPPEvaluation expansionPattern = buffer.unmarshalEvaluation();
IBinding templateDefinition = buffer.unmarshalBinding(); IBinding templateDefinition = buffer.unmarshalBinding();
return new EvalParameterPack(expansionPattern, templateDefinition); return new EvalPackExpansion(expansionPattern, templateDefinition);
} }
} }

View file

@ -585,7 +585,7 @@ public class LookupData extends ScopeLookupData {
int count= 0; int count= 0;
if (functionArgs != null) { if (functionArgs != null) {
for (ICPPEvaluation arg : functionArgs) { for (ICPPEvaluation arg : functionArgs) {
if (arg instanceof EvalParameterPack) if (arg instanceof EvalPackExpansion)
count++; count++;
} }
} }

View file

@ -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.EvalID;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalInitList; 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.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.EvalTypeId;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnary; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnary;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnaryTypeID; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnaryTypeID;
@ -441,12 +441,12 @@ public class CPPCompositesFactory extends AbstractCompositeFactory {
compositeTemplateDefinition); compositeTemplateDefinition);
return e; return e;
} }
if (eval instanceof EvalParameterPack) { if (eval instanceof EvalPackExpansion) {
EvalParameterPack e = (EvalParameterPack) eval; EvalPackExpansion e = (EvalPackExpansion) eval;
ICPPEvaluation a = e.getExpansionPattern(); ICPPEvaluation a = e.getExpansionPattern();
ICPPEvaluation a2 = getCompositeEvaluation(a); ICPPEvaluation a2 = getCompositeEvaluation(a);
if (a != a2 || templateDefinition != compositeTemplateDefinition) if (a != a2 || templateDefinition != compositeTemplateDefinition)
e = new EvalParameterPack(a2, compositeTemplateDefinition); e = new EvalPackExpansion(a2, compositeTemplateDefinition);
return e; return e;
} }
if (eval instanceof EvalTypeId) { if (eval instanceof EvalTypeId) {

View file

@ -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.EvalID;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalInitList; 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.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.EvalPointer;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalReference; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalReference;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalTypeId; 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); return EvalInitList.unmarshal(firstBytes, buffer);
case ITypeMarshalBuffer.EVAL_MEMBER_ACCESS: case ITypeMarshalBuffer.EVAL_MEMBER_ACCESS:
return EvalMemberAccess.unmarshal(firstBytes, buffer); return EvalMemberAccess.unmarshal(firstBytes, buffer);
case ITypeMarshalBuffer.EVAL_PARAMETER_PACK: case ITypeMarshalBuffer.EVAL_PACK_EXPANSION:
return EvalParameterPack.unmarshal(firstBytes, buffer); return EvalPackExpansion.unmarshal(firstBytes, buffer);
case ITypeMarshalBuffer.EVAL_TYPE_ID: case ITypeMarshalBuffer.EVAL_TYPE_ID:
return EvalTypeId.unmarshal(firstBytes, buffer); return EvalTypeId.unmarshal(firstBytes, buffer);
case ITypeMarshalBuffer.EVAL_UNARY: case ITypeMarshalBuffer.EVAL_UNARY: