Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Schorn2010-08-09 08:36:50 +0000
committerMarkus Schorn2010-08-09 08:36:50 +0000
commitf1bab4f41f8264c3e53cb04479c3255eb6241a97 (patch)
tree4bfe6115ffd81151d4db637a31ff43574a9a4ed0 /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java
parent475aebee893145ce3a7608c906dc8391b3fb894c (diff)
downloadorg.eclipse.cdt-f1bab4f41f8264c3e53cb04479c3255eb6241a97.tar.gz
org.eclipse.cdt-f1bab4f41f8264c3e53cb04479c3255eb6241a97.tar.xz
org.eclipse.cdt-f1bab4f41f8264c3e53cb04479c3255eb6241a97.zip
Bug 305978: [C++0x] Defaulted and deleted functions.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java
index 34efdd4a2bf..b4b16a48287 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2009 QNX Software Systems and others.
+ * Copyright (c) 2005, 2010 QNX Software Systems 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
@@ -38,7 +38,8 @@ import org.eclipse.core.runtime.CoreException;
*/
class PDOMCPPFunction extends PDOMCPPBinding implements ICPPFunction, IPDOMOverloader {
- private static final short ANNOT_PARAMETER_PACK = 0x100;
+ private static final short ANNOT_PARAMETER_PACK = 8;
+ private static final short ANNOT_IS_DELETED = 9;
/**
* Offset of total number of function parameters (relative to the
@@ -101,7 +102,10 @@ class PDOMCPPFunction extends PDOMCPPBinding implements ICPPFunction, IPDOMOverl
private short getAnnotation(ICPPFunction function) throws DOMException {
int annot= PDOMCPPAnnotation.encodeAnnotation(function);
if (function.hasParameterPack()) {
- annot |= ANNOT_PARAMETER_PACK;
+ annot |= (1<<ANNOT_PARAMETER_PACK);
+ }
+ if (function.isDeleted()) {
+ annot |= (1<<ANNOT_IS_DELETED);
}
return (short) annot;
}
@@ -319,6 +323,10 @@ class PDOMCPPFunction extends PDOMCPPBinding implements ICPPFunction, IPDOMOverl
return false;
}
+ public boolean isDeleted() {
+ return getBit(getAnnotation(), ANNOT_IS_DELETED);
+ }
+
public boolean isExtern() {
return getBit(getAnnotation(), PDOMCAnnotation.EXTERN_OFFSET);
}

Back to the top