diff options
author | Nathan Ridge | 2018-04-03 00:29:58 +0000 |
---|---|---|
committer | Nathan Ridge | 2018-04-13 05:43:26 +0000 |
commit | ff1cfbf1d4a01e1487ac8a76ebabee67552384c7 (patch) | |
tree | f582e6aa5401dd45179fb947339937c47a2c2e4d | |
parent | 47d08ec20444e80ed180e48b29b5c43559e9c26e (diff) | |
download | org.eclipse.cdt-ff1cfbf1d4a01e1487ac8a76ebabee67552384c7.tar.gz org.eclipse.cdt-ff1cfbf1d4a01e1487ac8a76ebabee67552384c7.tar.xz org.eclipse.cdt-ff1cfbf1d4a01e1487ac8a76ebabee67552384c7.zip |
Bug 532905 - Implement compositing for InitializerListType
Change-Id: I9aea9b2a9fb0540f4cf9ab1f54ce0d1d17686d7d
-rw-r--r-- | core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/index/composite/cpp/CPPCompositesFactory.java | 8 |
1 files changed, 8 insertions, 0 deletions
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 4aff3b0b195..c3c1c76d3ef 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 @@ -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; } |