### Eclipse Workspace Patch 1.0 #P org.eclipse.cdt.core Index: parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java,v retrieving revision 1.5 diff -u -r1.5 PDOMCFunction.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java 13 Oct 2006 08:46:20 -0000 1.5 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java 18 Oct 2006 18:54:25 -0000 @@ -18,6 +18,7 @@ import org.eclipse.cdt.core.dom.ast.IFunctionType; import org.eclipse.cdt.core.dom.ast.IParameter; import org.eclipse.cdt.core.dom.ast.IScope; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -42,7 +43,11 @@ public PDOMCFunction(PDOM pdom, PDOMNode parent, IASTName name) throws CoreException { super(pdom, parent, name); - pdom.getDB().putByte(record + ANNOTATIONS, PDOMCAnnotation.encodeAnnotation(name.resolveBinding())); + try { + pdom.getDB().putByte(record + ANNOTATIONS, PDOMCAnnotation.encodeAnnotation(name.resolveBinding())); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCFunction(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCTypedef.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCTypedef.java,v retrieving revision 1.4 diff -u -r1.4 PDOMCTypedef.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCTypedef.java 12 Oct 2006 13:23:43 -0000 1.4 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCTypedef.java 18 Oct 2006 18:54:25 -0000 @@ -8,6 +8,7 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom.c; @@ -16,6 +17,7 @@ import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.ITypedef; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -35,10 +37,14 @@ throws CoreException { super(pdom, parent, name); - IType type = typedef.getType(); - PDOMNode typeNode = parent.getLinkageImpl().addType(this, type); - if (typeNode != null) - pdom.getDB().putInt(record + TYPE, typeNode.getRecord()); + try { + IType type = typedef.getType(); + PDOMNode typeNode = parent.getLinkageImpl().addType(this, type); + if (typeNode != null) + pdom.getDB().putInt(record + TYPE, typeNode.getRecord()); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCTypedef(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java,v retrieving revision 1.26 diff -u -r1.26 PDOMCLinkage.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java 12 Oct 2006 15:35:30 -0000 1.26 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCLinkage.java 18 Oct 2006 18:54:25 -0000 @@ -8,12 +8,14 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom.c; import org.eclipse.cdt.core.dom.IPDOMNode; import org.eclipse.cdt.core.dom.IPDOMVisitor; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTName; @@ -32,6 +34,7 @@ import org.eclipse.cdt.core.dom.ast.c.ICASTElaboratedTypeSpecifier; import org.eclipse.cdt.core.dom.ast.gnu.c.GCCLanguage; import org.eclipse.cdt.core.model.ILanguage; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; @@ -109,11 +112,15 @@ else if (binding instanceof IEnumeration) pdomBinding = new PDOMCEnumeration(pdom, parent, name); else if (binding instanceof IEnumerator) { - IEnumeration enumeration = (IEnumeration)((IEnumerator)binding).getType(); - PDOMBinding pdomEnumeration = adaptBinding(enumeration); - if (pdomEnumeration instanceof PDOMCEnumeration) - pdomBinding = new PDOMCEnumerator(pdom, parent, name, - (PDOMCEnumeration)pdomEnumeration); + try { + IEnumeration enumeration = (IEnumeration)((IEnumerator)binding).getType(); + PDOMBinding pdomEnumeration = adaptBinding(enumeration); + if (pdomEnumeration instanceof PDOMCEnumeration) + pdomBinding = new PDOMCEnumerator(pdom, parent, name, + (PDOMCEnumeration)pdomEnumeration); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } else if (binding instanceof ITypedef) pdomBinding = new PDOMCTypedef(pdom, parent, name, (ITypedef)binding); } Index: parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java,v retrieving revision 1.7 diff -u -r1.7 PDOMCVariable.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java 13 Oct 2006 08:46:20 -0000 1.7 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java 18 Oct 2006 18:54:25 -0000 @@ -16,6 +16,7 @@ import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.IVariable; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -41,10 +42,12 @@ public PDOMCVariable(PDOM pdom, PDOMNode parent, IASTName name) throws CoreException { super(pdom, parent, name); IVariable binding = (IVariable)name.getBinding(); - if (binding != null) { - IType type = binding.getType(); + + try { + pdom.getDB().putByte(record + ANNOTATIONS, PDOMCAnnotation.encodeAnnotation(binding)); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } - pdom.getDB().putByte(record + ANNOTATIONS, PDOMCAnnotation.encodeAnnotation(binding)); } public PDOMCVariable(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java,v retrieving revision 1.13 diff -u -r1.13 PDOMCPPVariable.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java 13 Oct 2006 08:46:19 -0000 1.13 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java 18 Oct 2006 18:54:25 -0000 @@ -20,6 +20,7 @@ import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPVariable; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; @@ -64,7 +65,11 @@ if (typeNode != null) db.putInt(record + TYPE_OFFSET, typeNode.getRecord()); } - db.putByte(record + ANNOTATIONS, PDOMCPPAnnotation.encodeAnnotation(name.resolveBinding())); + try { + db.putByte(record + ANNOTATIONS, PDOMCPPAnnotation.encodeAnnotation(name.resolveBinding())); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCPPVariable(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java,v retrieving revision 1.14 diff -u -r1.14 PDOMCPPFunction.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java 13 Oct 2006 08:46:19 -0000 1.14 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java 18 Oct 2006 18:54:25 -0000 @@ -27,6 +27,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction; import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; @@ -83,7 +84,11 @@ } } IBinding binding = name.resolveBinding(); - db.putByte(record + ANNOTATION, PDOMCPPAnnotation.encodeAnnotation(binding)); + try { + db.putByte(record + ANNOTATION, PDOMCPPAnnotation.encodeAnnotation(binding)); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCPPFunction(PDOM pdom, int bindingRecord) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPMethod.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPMethod.java,v retrieving revision 1.10 diff -u -r1.10 PDOMCPPMethod.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPMethod.java 13 Oct 2006 08:46:19 -0000 1.10 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPMethod.java 18 Oct 2006 18:54:25 -0000 @@ -28,6 +28,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunctionType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; @@ -94,10 +95,14 @@ } annotation |= PDOMCAnnotation.encodeCVQualifiers(funcDecl) << CV_OFFSET; } - IBinding binding = name.resolveBinding(); - annotation |= PDOMCPPAnnotation.encodeExtraAnnotation(binding); - db.putByte(record + ANNOTATION0, PDOMCPPAnnotation.encodeAnnotation(binding)); - db.putByte(record + ANNOTATION1, annotation); + try { + IBinding binding = name.resolveBinding(); + annotation |= PDOMCPPAnnotation.encodeExtraAnnotation(binding); + db.putByte(record + ANNOTATION0, PDOMCPPAnnotation.encodeAnnotation(binding)); + db.putByte(record + ANNOTATION1, annotation); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCPPMethod(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java,v retrieving revision 1.21 diff -u -r1.21 PDOMCPPClassType.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java 17 Oct 2006 11:08:52 -0000 1.21 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java 18 Oct 2006 18:54:25 -0000 @@ -23,7 +23,6 @@ import org.eclipse.cdt.core.dom.IPDOMVisitor; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTName; -import org.eclipse.cdt.core.dom.ast.IASTNode; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IField; import org.eclipse.cdt.core.dom.ast.IScope; @@ -35,6 +34,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPField; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; import org.eclipse.cdt.core.parser.util.ArrayUtil; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.PDOMNodeLinkedList; import org.eclipse.cdt.internal.core.pdom.dom.IPDOMMemberOwner; @@ -63,10 +63,14 @@ super(pdom, parent, name); IBinding binding = name.resolveBinding(); - int key = 0; - if (binding instanceof ICPPClassType) // not sure why it wouldn't - key = ((ICPPClassType) binding).getKey(); - pdom.getDB().putByte(record + KEY, (byte) key); + try { + int key = 0; + if (binding instanceof ICPPClassType) // not sure why it wouldn't + key = ((ICPPClassType) binding).getKey(); + pdom.getDB().putByte(record + KEY, (byte) key); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } // linked list is initialized by storage being zero'd by malloc } @@ -189,9 +193,13 @@ // Visit my base classes for (PDOMCPPBase base = getFirstBase(); base != null; base = base.getNextBase()) { - IBinding baseClass = base.getBaseClass(); - if (baseClass != null && baseClass instanceof PDOMCPPClassType) - ((PDOMCPPClassType)baseClass).visitAllDeclaredMethods(visited, methods); + try { + IBinding baseClass = base.getBaseClass(); + if (baseClass != null && baseClass instanceof PDOMCPPClassType) + ((PDOMCPPClassType)baseClass).visitAllDeclaredMethods(visited, methods); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } } Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPField.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPField.java,v retrieving revision 1.11 diff -u -r1.11 PDOMCPPField.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPField.java 13 Oct 2006 08:46:19 -0000 1.11 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPField.java 18 Oct 2006 18:54:25 -0000 @@ -19,6 +19,7 @@ import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPField; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPVisitor; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; @@ -47,8 +48,12 @@ throws CoreException { super(pdom, parent, name); IBinding binding = name.resolveBinding(); - Database db = pdom.getDB(); - db.putByte(record + ANNOTATION, PDOMCPPAnnotation.encodeAnnotation(binding)); + try { + Database db = pdom.getDB(); + db.putByte(record + ANNOTATION, PDOMCPPAnnotation.encodeAnnotation(binding)); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCPPField(PDOM pdom, int bindingRecord) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBasicType.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBasicType.java,v retrieving revision 1.3 diff -u -r1.3 PDOMCPPBasicType.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBasicType.java 27 Sep 2006 15:05:10 -0000 1.3 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBasicType.java 18 Oct 2006 18:54:25 -0000 @@ -16,6 +16,7 @@ import org.eclipse.cdt.core.dom.ast.IASTExpression; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPBasicType; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -46,19 +47,23 @@ Database db = pdom.getDB(); - db.putChar(record + TYPE_ID, (char)type.getType()); - - char flags = 0; - if (type.isLong()) - flags |= IS_LONG; - if (type.isShort()) - flags |= IS_SHORT; - if (type.isSigned()) - flags |= IS_SIGNED; - if (type.isUnsigned()) - flags |= IS_UNSIGNED; - - db.putChar(record + FLAGS, flags); + try { + db.putChar(record + TYPE_ID, (char)type.getType()); + + char flags = 0; + if (type.isLong()) + flags |= IS_LONG; + if (type.isShort()) + flags |= IS_SHORT; + if (type.isSigned()) + flags |= IS_SIGNED; + if (type.isUnsigned()) + flags |= IS_UNSIGNED; + + db.putChar(record + FLAGS, flags); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } protected int getRecordSize() { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTypedef.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTypedef.java,v retrieving revision 1.4 diff -u -r1.4 PDOMCPPTypedef.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTypedef.java 12 Oct 2006 13:23:43 -0000 1.4 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTypedef.java 18 Oct 2006 18:54:25 -0000 @@ -16,6 +16,7 @@ import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.ITypedef; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -34,10 +35,14 @@ public PDOMCPPTypedef(PDOM pdom, PDOMNode parent, IASTName name, ITypedef typedef) throws CoreException { super(pdom, parent, name); - IType type = typedef.getType(); - PDOMNode typeNode = parent.getLinkageImpl().addType(this, type); - if (typeNode != null) - pdom.getDB().putInt(record + TYPE, typeNode.getRecord()); + try { + IType type = typedef.getType(); + PDOMNode typeNode = parent.getLinkageImpl().addType(this, type); + if (typeNode != null) + pdom.getDB().putInt(record + TYPE, typeNode.getRecord()); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); + } } public PDOMCPPTypedef(PDOM pdom, int record) { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java,v retrieving revision 1.5 diff -u -r1.5 PDOMCPPParameter.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java 13 Oct 2006 08:46:19 -0000 1.5 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPParameter.java 18 Oct 2006 18:54:25 -0000 @@ -20,6 +20,7 @@ import org.eclipse.cdt.core.dom.ast.IScope; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPParameter; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNamedNode; @@ -63,10 +64,14 @@ db.putInt(record + NEXT_PARAM, 0); - IType type = param.getType(); - if (type != null) { - PDOMNode typeNode = getLinkageImpl().addType(this, type); - db.putInt(record + TYPE, typeNode != null ? typeNode.getRecord() : 0); + try { + IType type = param.getType(); + if (type != null) { + PDOMNode typeNode = getLinkageImpl().addType(this, type); + db.putInt(record + TYPE, typeNode != null ? typeNode.getRecord() : 0); + } + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } } Index: parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java,v retrieving revision 1.39 diff -u -r1.39 PDOMCPPLinkage.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java 12 Oct 2006 15:35:29 -0000 1.39 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java 18 Oct 2006 18:54:25 -0000 @@ -14,6 +14,7 @@ import org.eclipse.cdt.core.dom.IPDOMNode; import org.eclipse.cdt.core.dom.IPDOMVisitor; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTFunctionCallExpression; import org.eclipse.cdt.core.dom.ast.IASTIdExpression; import org.eclipse.cdt.core.dom.ast.IASTName; @@ -42,6 +43,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier; import org.eclipse.cdt.core.dom.ast.gnu.cpp.GPPLanguage; import org.eclipse.cdt.core.model.ILanguage; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPBlockScope; import org.eclipse.cdt.internal.core.dom.parser.cpp.CPPImplicitMethod; import org.eclipse.cdt.internal.core.pdom.PDOM; @@ -115,42 +117,46 @@ return null; PDOMBinding pdomBinding = adaptBinding(binding); - if (pdomBinding == null) { - PDOMNode parent = getAdaptedParent(binding); - if (parent != null) { - if (binding instanceof ICPPField && parent instanceof PDOMCPPClassType) - pdomBinding = new PDOMCPPField(pdom, (PDOMCPPClassType)parent, name); - else if (binding instanceof ICPPVariable) { - if (!(binding.getScope() instanceof CPPBlockScope)) - pdomBinding = new PDOMCPPVariable(pdom, parent, name); - } else if (binding instanceof ICPPMethod && parent instanceof PDOMCPPClassType) { - pdomBinding = new PDOMCPPMethod(pdom, parent, name); - } else if (binding instanceof CPPImplicitMethod && parent instanceof PDOMCPPClassType) { - if(!name.isReference()) { - //because we got the implicit method off of an IASTName that is not a reference, - //it is no longer completly implicit and it should be treated as a normal method. + try { + if (pdomBinding == null) { + PDOMNode parent = getAdaptedParent(binding); + if (parent != null) { + if (binding instanceof ICPPField && parent instanceof PDOMCPPClassType) + pdomBinding = new PDOMCPPField(pdom, (PDOMCPPClassType)parent, name); + else if (binding instanceof ICPPVariable) { + if (!(binding.getScope() instanceof CPPBlockScope)) + pdomBinding = new PDOMCPPVariable(pdom, parent, name); + } else if (binding instanceof ICPPMethod && parent instanceof PDOMCPPClassType) { pdomBinding = new PDOMCPPMethod(pdom, parent, name); + } else if (binding instanceof CPPImplicitMethod && parent instanceof PDOMCPPClassType) { + if(!name.isReference()) { + //because we got the implicit method off of an IASTName that is not a reference, + //it is no longer completly implicit and it should be treated as a normal method. + pdomBinding = new PDOMCPPMethod(pdom, parent, name); + } + } else if (binding instanceof ICPPFunction) { + pdomBinding = new PDOMCPPFunction(pdom, parent, name); + } else if (binding instanceof ICPPClassType) { + pdomBinding = new PDOMCPPClassType(pdom, parent, name); + } else if (binding instanceof ICPPNamespaceAlias) { + pdomBinding = new PDOMCPPNamespaceAlias(pdom, parent, name); + } else if (binding instanceof ICPPNamespace) { + pdomBinding = new PDOMCPPNamespace(pdom, parent, name); + } else if (binding instanceof IEnumeration) { + pdomBinding = new PDOMCPPEnumeration(pdom, parent, name); + } else if (binding instanceof IEnumerator) { + IEnumeration enumeration = (IEnumeration)((IEnumerator)binding).getType(); + PDOMBinding pdomEnumeration = adaptBinding(enumeration); + if (pdomEnumeration instanceof PDOMCPPEnumeration) + pdomBinding = new PDOMCPPEnumerator(pdom, parent, name, + (PDOMCPPEnumeration)pdomEnumeration); + } else if (binding instanceof ITypedef) { + pdomBinding = new PDOMCPPTypedef(pdom, parent, name, (ITypedef)binding); } - } else if (binding instanceof ICPPFunction) { - pdomBinding = new PDOMCPPFunction(pdom, parent, name); - } else if (binding instanceof ICPPClassType) { - pdomBinding = new PDOMCPPClassType(pdom, parent, name); - } else if (binding instanceof ICPPNamespaceAlias) { - pdomBinding = new PDOMCPPNamespaceAlias(pdom, parent, name); - } else if (binding instanceof ICPPNamespace) { - pdomBinding = new PDOMCPPNamespace(pdom, parent, name); - } else if (binding instanceof IEnumeration) { - pdomBinding = new PDOMCPPEnumeration(pdom, parent, name); - } else if (binding instanceof IEnumerator) { - IEnumeration enumeration = (IEnumeration)((IEnumerator)binding).getType(); - PDOMBinding pdomEnumeration = adaptBinding(enumeration); - if (pdomEnumeration instanceof PDOMCPPEnumeration) - pdomBinding = new PDOMCPPEnumerator(pdom, parent, name, - (PDOMCPPEnumeration)pdomEnumeration); - } else if (binding instanceof ITypedef) { - pdomBinding = new PDOMCPPTypedef(pdom, parent, name, (ITypedef)binding); } } + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } // final processing @@ -314,8 +320,12 @@ return resolveBinding(names[0]); IASTName lastName = names[names.length - 1]; PDOMBinding nsBinding = adaptBinding(names[names.length - 2].resolveBinding()); - if (nsBinding instanceof IScope) { - return (PDOMBinding) ((IScope)nsBinding).getBinding(lastName, true); + try { + if (nsBinding instanceof IScope) { + return (PDOMBinding) ((IScope)nsBinding).getBinding(lastName, true); + } + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } } IASTNode parent = name.getParent(); Index: parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java,v retrieving revision 1.3 diff -u -r1.3 PDOMPointerType.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java 12 Oct 2006 13:23:43 -0000 1.3 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMPointerType.java 18 Oct 2006 18:54:25 -0000 @@ -8,6 +8,7 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom; @@ -16,6 +17,7 @@ import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IPointerType; import org.eclipse.cdt.core.dom.ast.IType; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; @@ -44,23 +46,27 @@ Database db = pdom.getDB(); - // type - IType targetType = ((ITypeContainer)type).getType(); - int typeRec = 0; - if (type != null) { - PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); - if (targetTypeNode != null) - typeRec = targetTypeNode.getRecord(); + try { + // type + IType targetType = ((ITypeContainer)type).getType(); + int typeRec = 0; + if (type != null) { + PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); + if (targetTypeNode != null) + typeRec = targetTypeNode.getRecord(); + } + db.putInt(record + TYPE, typeRec); + + // flags + byte flags = 0; + if (type.isConst()) + flags |= CONST; + if (type.isVolatile()) + flags |= VOLATILE; + db.putByte(record + FLAGS, flags); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } - db.putInt(record + TYPE, typeRec); - - // flags - byte flags = 0; - if (type.isConst()) - flags |= CONST; - if (type.isVolatile()) - flags |= VOLATILE; - db.putByte(record + FLAGS, flags); } protected int getRecordSize() { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java,v retrieving revision 1.2 diff -u -r1.2 PDOMQualifierType.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java 12 Oct 2006 13:23:43 -0000 1.2 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMQualifierType.java 18 Oct 2006 18:54:25 -0000 @@ -8,6 +8,7 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom; @@ -16,6 +17,7 @@ import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IQualifierType; import org.eclipse.cdt.core.dom.ast.IType; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.ITypeContainer; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.Database; @@ -46,21 +48,26 @@ Database db = pdom.getDB(); // type - IType targetType = ((ITypeContainer)type).getType(); - if (type != null) { - PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); - if (targetTypeNode != null) { - db.putInt(record + TYPE, targetTypeNode.getRecord()); + try { + IType targetType = ((ITypeContainer)type).getType(); + if (type != null) { + PDOMNode targetTypeNode = getLinkageImpl().addType(this, targetType); + if (targetTypeNode != null) { + db.putInt(record + TYPE, targetTypeNode.getRecord()); + } } + + // flags + byte flags = 0; + if (type.isConst()) + flags |= CONST; + if (type.isVolatile()) + flags |= VOLATILE; + db.putByte(record + FLAGS, flags); + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } - // flags - byte flags = 0; - if (type.isConst()) - flags |= CONST; - if (type.isVolatile()) - flags |= VOLATILE; - db.putByte(record + FLAGS, flags); } protected int getRecordSize() { Index: parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java,v retrieving revision 1.18 diff -u -r1.18 PDOMLinkage.java --- parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java 17 Oct 2006 12:01:58 -0000 1.18 +++ parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java 18 Oct 2006 18:54:25 -0000 @@ -8,6 +8,7 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.core.pdom.dom; @@ -15,6 +16,7 @@ import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.IName; import org.eclipse.cdt.core.dom.IPDOMVisitor; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTCompoundStatement; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IASTNode; @@ -27,6 +29,7 @@ import org.eclipse.cdt.core.dom.ast.cpp.ICPPNamespaceScope; import org.eclipse.cdt.core.index.IIndexBinding; import org.eclipse.cdt.core.index.IIndexLinkage; +import org.eclipse.cdt.internal.core.Util; import org.eclipse.cdt.internal.core.dom.parser.ASTInternal; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.db.BTree; @@ -149,50 +152,53 @@ public abstract PDOMBinding resolveBinding(IASTName name) throws CoreException; public PDOMNode getAdaptedParent(IBinding binding) throws CoreException { - IScope scope = binding.getScope(); - if (scope == null) - return null; - - if (scope instanceof IIndexBinding) { - IIndexBinding parent= ((IIndexBinding) scope).getParentBinding(); - if (parent == null) { - return this; + try { + IScope scope = binding.getScope(); + if (scope == null) + return null; + + if (scope instanceof IIndexBinding) { + IIndexBinding parent= ((IIndexBinding) scope).getParentBinding(); + if (parent == null) { + return this; + } + return adaptBinding(parent); } - return adaptBinding(parent); - } + + // the scope is from the ast - // the scope is from the ast - - // mstodo revisit unnamed namespaces - IScope testScope= scope; - while (testScope instanceof ICPPNamespaceScope) { - IName name= testScope.getScopeName(); - if (name != null && name.toCharArray().length == 0) { - testScope= scope.getParent(); - if (testScope != null) { - scope= testScope; + // mstodo revisit unnamed namespaces + IScope testScope= scope; + while (testScope instanceof ICPPNamespaceScope) { + IName name= testScope.getScopeName(); + if (name != null && name.toCharArray().length == 0) { + testScope= scope.getParent(); + if (testScope != null) { + scope= testScope; + } + } + else { + testScope= null; } } + + IASTNode scopeNode = ASTInternal.getPhysicalNodeOfScope(scope); + if (scopeNode instanceof IASTCompoundStatement) + return null; + else if (scopeNode instanceof IASTTranslationUnit) + return this; else { - testScope= null; - } - } - - IASTNode scopeNode = ASTInternal.getPhysicalNodeOfScope(scope); - if (scopeNode instanceof IASTCompoundStatement) - return null; - else if (scopeNode instanceof IASTTranslationUnit) - return this; - else { - IName scopeName = scope.getScopeName(); - if (scopeName instanceof IASTName) { - IBinding scopeBinding = ((IASTName) scopeName).resolveBinding(); - PDOMBinding scopePDOMBinding = adaptBinding(scopeBinding); - if (scopePDOMBinding != null) - return scopePDOMBinding; + IName scopeName = scope.getScopeName(); + if (scopeName instanceof IASTName) { + IBinding scopeBinding = ((IASTName) scopeName).resolveBinding(); + PDOMBinding scopePDOMBinding = adaptBinding(scopeBinding); + if (scopePDOMBinding != null) + return scopePDOMBinding; + } } + } catch (DOMException e) { + throw new CoreException(Util.createStatus(e)); } - return null; } } Index: parser/org/eclipse/cdt/core/dom/ast/DOMException.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/dom/ast/DOMException.java,v retrieving revision 1.6 diff -u -r1.6 DOMException.java --- parser/org/eclipse/cdt/core/dom/ast/DOMException.java 28 Nov 2005 18:51:01 -0000 1.6 +++ parser/org/eclipse/cdt/core/dom/ast/DOMException.java 18 Oct 2006 18:54:25 -0000 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2005 IBM Corporation and others. + * Copyright (c) 2004, 2006 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -14,10 +14,6 @@ */ package org.eclipse.cdt.core.dom.ast; -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Status; /** * This is the general purpose exception that is thrown for resolving semantic @@ -25,7 +21,7 @@ * * @author aniefer */ -public class DOMException extends CoreException { +public class DOMException extends Exception { private static final long serialVersionUID = 0; @@ -37,8 +33,6 @@ * */ public DOMException(IProblemBinding problem) { - super(new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, - 0, "DOMException", new Exception())); problemBinding = problem; } Index: utils/org/eclipse/cdt/internal/core/Util.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core/utils/org/eclipse/cdt/internal/core/Util.java,v retrieving revision 1.2 diff -u -r1.2 Util.java --- utils/org/eclipse/cdt/internal/core/Util.java 14 Jun 2006 12:16:10 -0000 1.2 +++ utils/org/eclipse/cdt/internal/core/Util.java 18 Oct 2006 18:54:25 -0000 @@ -21,9 +21,12 @@ import java.util.MissingResourceException; import java.util.ResourceBundle; +import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.Status; public class Util { @@ -365,7 +368,16 @@ return true; return false; } - + + /** + * Returns an IStatus object with severity IStatus.ERROR based on the + * given Throwable. + * @param t the Throwable that caused the error. + * @return an IStatus object based on the given Throwable. + */ + public static IStatus createStatus(Throwable t) { + return new Status(IStatus.ERROR, CCorePlugin.PLUGIN_ID, 0, t.getMessage(), t); + } } #P org.eclipse.cdt.ui Index: src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassWizardUtil.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassWizardUtil.java,v retrieving revision 1.14 diff -u -r1.14 NewClassWizardUtil.java --- src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassWizardUtil.java 12 Oct 2006 13:31:29 -0000 1.14 +++ src/org/eclipse/cdt/internal/ui/wizards/classwizard/NewClassWizardUtil.java 18 Oct 2006 18:54:25 -0000 @@ -40,6 +40,7 @@ import org.eclipse.cdt.core.browser.ITypeReference; import org.eclipse.cdt.core.browser.TypeSearchScope; import org.eclipse.cdt.core.dom.ILinkage; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IEnumeration; import org.eclipse.cdt.core.dom.ast.cpp.ICPPBasicType; @@ -448,6 +449,8 @@ } } catch (CoreException e) { return SEARCH_MATCH_ERROR; + } catch (DOMException e) { + return SEARCH_MATCH_ERROR; } return SEARCH_MATCH_NOTFOUND; } Index: src/org/eclipse/cdt/internal/ui/IndexLabelProvider.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/IndexLabelProvider.java,v retrieving revision 1.3 diff -u -r1.3 IndexLabelProvider.java --- src/org/eclipse/cdt/internal/ui/IndexLabelProvider.java 30 Jun 2006 09:28:50 -0000 1.3 +++ src/org/eclipse/cdt/internal/ui/IndexLabelProvider.java 18 Oct 2006 18:54:25 -0000 @@ -8,10 +8,12 @@ * Contributors: * QNX - Initial API and implementation * Markus Schorn (Wind River Systems) + * IBM Corporation *******************************************************************************/ package org.eclipse.cdt.internal.ui; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.ICompositeType; import org.eclipse.cdt.core.dom.ast.IFunction; import org.eclipse.cdt.core.dom.ast.IVariable; @@ -71,7 +73,7 @@ desc = CElementImageProvider.getUnionImageDescriptor(); break; } - } catch (CoreException e) { + } catch (DOMException e) { CUIPlugin.getDefault().log(e); } } Index: src/org/eclipse/cdt/internal/ui/search/PDOMSearchPatternQuery.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/PDOMSearchPatternQuery.java,v retrieving revision 1.21 diff -u -r1.21 PDOMSearchPatternQuery.java --- src/org/eclipse/cdt/internal/ui/search/PDOMSearchPatternQuery.java 12 Oct 2006 13:31:10 -0000 1.21 +++ src/org/eclipse/cdt/internal/ui/search/PDOMSearchPatternQuery.java 18 Oct 2006 18:54:25 -0000 @@ -24,6 +24,7 @@ import org.eclipse.core.runtime.OperationCanceledException; import org.eclipse.core.runtime.Status; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.ICompositeType; import org.eclipse.cdt.core.dom.ast.IEnumeration; import org.eclipse.cdt.core.dom.ast.IEnumerator; @@ -40,6 +41,8 @@ import org.eclipse.cdt.core.index.IndexFilter; import org.eclipse.cdt.core.model.ICElement; +import org.eclipse.cdt.internal.core.Util; + import org.eclipse.cdt.internal.ui.util.Messages; /** @@ -177,7 +180,10 @@ } } catch (CoreException e) { return e.getStatus(); + } catch (DOMException e) { + return Util.createStatus(e); } + return Status.OK_STATUS; } Index: src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java,v retrieving revision 1.5 diff -u -r1.5 SemanticHighlightings.java --- src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java 2 Oct 2006 15:12:40 -0000 1.5 +++ src/org/eclipse/cdt/internal/ui/editor/SemanticHighlightings.java 18 Oct 2006 18:54:25 -0000 @@ -12,7 +12,9 @@ package org.eclipse.cdt.internal.ui.editor; +import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Platform; +import org.eclipse.core.runtime.Status; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.jface.preference.PreferenceConverter; import org.eclipse.jface.util.PropertyChangeEvent; @@ -312,7 +314,7 @@ try { return ((IField)binding).isStatic(); } catch (DOMException exc) { - CUIPlugin.getDefault().log(exc.getStatus()); + CUIPlugin.getDefault().log(exc); } catch (Error e) /* PDOMNotImplementedError */ { // ignore } @@ -945,7 +947,7 @@ return true; } } catch (DOMException exc) { - CUIPlugin.getDefault().log(exc.getStatus()); + CUIPlugin.getDefault().log(exc); } catch (Error e) /* PDOMNotImplementedError */ { // ignore } @@ -1023,7 +1025,7 @@ return true; } } catch (DOMException exc) { - CUIPlugin.getDefault().log(exc.getStatus()); + CUIPlugin.getDefault().log(exc); } catch (Error e) /* PDOMNotImplementedError */ { // ignore } @@ -1112,7 +1114,7 @@ return true; } } catch (DOMException exc) { - CUIPlugin.getDefault().log(exc.getStatus()); + CUIPlugin.getDefault().log(exc); } catch (Error e) /* PDOMNotImplementedError */ { // ignore } #P org.eclipse.cdt.core.tests Index: parser/org/eclipse/cdt/internal/pdom/tests/CPPFieldTests.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPFieldTests.java,v retrieving revision 1.1 diff -u -r1.1 CPPFieldTests.java --- parser/org/eclipse/cdt/internal/pdom/tests/CPPFieldTests.java 13 Oct 2006 08:46:15 -0000 1.1 +++ parser/org/eclipse/cdt/internal/pdom/tests/CPPFieldTests.java 18 Oct 2006 18:54:27 -0000 @@ -14,6 +14,7 @@ import junit.framework.Test; import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBasicType; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IField; @@ -120,7 +121,7 @@ assertFieldType(pdom, "Class2::c2b", IBasicType.t_float); } - private void assertFieldType(PDOM pdom, String name, int type) throws CoreException { + private void assertFieldType(PDOM pdom, String name, int type) throws CoreException, DOMException { IBinding[] bindings = findQualifiedName(pdom, name); assertEquals(1, bindings.length); IField field = (IField) bindings[0]; Index: parser/org/eclipse/cdt/internal/pdom/tests/CPPFunctionTests.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/CPPFunctionTests.java,v retrieving revision 1.1 diff -u -r1.1 CPPFunctionTests.java --- parser/org/eclipse/cdt/internal/pdom/tests/CPPFunctionTests.java 13 Oct 2006 08:46:15 -0000 1.1 +++ parser/org/eclipse/cdt/internal/pdom/tests/CPPFunctionTests.java 18 Oct 2006 18:54:27 -0000 @@ -14,6 +14,7 @@ import junit.framework.Test; import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBasicType; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IFunction; @@ -177,7 +178,7 @@ } } - private void assertReturnType(PDOM pdom, String name, int type) throws CoreException { + private void assertReturnType(PDOM pdom, String name, int type) throws CoreException, DOMException { IBinding[] bindings = findQualifiedName(pdom, name); assertEquals(1, bindings.length); IFunction function = (IFunction) bindings[0]; Index: parser/org/eclipse/cdt/internal/pdom/tests/PDOMTestBase.java =================================================================== RCS file: /cvsroot/tools/org.eclipse.cdt/all/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/internal/pdom/tests/PDOMTestBase.java,v retrieving revision 1.8 diff -u -r1.8 PDOMTestBase.java --- parser/org/eclipse/cdt/internal/pdom/tests/PDOMTestBase.java 16 Oct 2006 18:23:13 -0000 1.8 +++ parser/org/eclipse/cdt/internal/pdom/tests/PDOMTestBase.java 18 Oct 2006 18:54:27 -0000 @@ -21,6 +21,7 @@ import org.eclipse.cdt.core.CCorePlugin; import org.eclipse.cdt.core.dom.IName; import org.eclipse.cdt.core.dom.IPDOMManager; +import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMember; import org.eclipse.cdt.core.index.IndexFilter; @@ -167,7 +168,7 @@ assertTrue(c.isAssignableFrom(bindings[0].getClass())); } - protected void assertVisibility(PDOM pdom, String name, int visibility) throws CoreException { + protected void assertVisibility(PDOM pdom, String name, int visibility) throws CoreException, DOMException { IBinding[] bindings = findQualifiedName(pdom, name); assertEquals(1, bindings.length); ICPPMember member = (ICPPMember) bindings[0];