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:
parent
9792a72dae
commit
e05566a452
8 changed files with 23 additions and 23 deletions
|
@ -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,
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -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++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Add table
Reference in a new issue