mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-23 14:42:11 +02:00
Bug 532905 - Implement compositing for InitializerListType
Change-Id: I9aea9b2a9fb0540f4cf9ab1f54ce0d1d17686d7d
This commit is contained in:
parent
47d08ec204
commit
ff1cfbf1d4
1 changed files with 8 additions and 0 deletions
|
@ -108,6 +108,7 @@ 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.EvalUnary;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.EvalUnaryTypeID;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.InitializerListType;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TypeOfDependentExpression;
|
||||
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.TypeOfUnknownMember;
|
||||
import org.eclipse.cdt.internal.core.index.CIndex;
|
||||
|
@ -270,6 +271,13 @@ public class CPPCompositesFactory extends AbstractCompositeFactory {
|
|||
IType operand = getCompositeType(typeTransformation.getOperand());
|
||||
return new CPPUnaryTypeTransformation(typeTransformation.getOperator(), operand);
|
||||
}
|
||||
if (rtype instanceof InitializerListType) {
|
||||
EvalInitList e = ((InitializerListType) rtype).getEvaluation();
|
||||
EvalInitList e2 = (EvalInitList) getCompositeEvaluation(e);
|
||||
if (e2 != e)
|
||||
return new InitializerListType(e2);
|
||||
return rtype;
|
||||
}
|
||||
if (rtype instanceof IBasicType || rtype == null || rtype instanceof ISemanticProblem) {
|
||||
return rtype;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue