Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/CModelListener.java2
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java15
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java8
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java7
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java6
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java2
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMName.java1
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCAnnotations.java12
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java8
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAnnotations.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java13
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java19
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java26
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerationSpecialization.java13
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionSpecialization.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java7
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTemplateParameter.java5
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java8
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java8
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java6
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java10
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/PDOMIndexerTask.java6
28 files changed, 184 insertions, 48 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/CModelListener.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/CModelListener.java
index 5b750f5d232..364b6519edb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/CModelListener.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/CModelListener.java
@@ -42,7 +42,7 @@ public class CModelListener implements IElementChangedListener, IResourceChangeL
public static boolean sSuppressUpdateOfLastRecentlyUsed = false;
private PDOMManager fManager;
- private final LinkedHashMap<ITranslationUnit, ITranslationUnit> fLRUs = new LinkedHashMap<ITranslationUnit, ITranslationUnit>(
+ private final LinkedHashMap<ITranslationUnit, ITranslationUnit> fLRUs = new LinkedHashMap<>(
UPDATE_LR_CHANGED_FILES_COUNT, 0.75f, true) {
@Override
protected boolean removeEldestEntry(Map.Entry<ITranslationUnit, ITranslationUnit> eldest) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
index 086d14bb9d7..4cff50e8adb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOM.java
@@ -302,10 +302,19 @@ public class PDOM extends PlatformObject implements IPDOM {
*
* CDT 9.9 development (version not supported on the 9.8.x branch)
* 215.0 - Corruption due to wrong record size in field/variable template partial specialization, bug 549028.
+ *
+ * CDT 9.12 development (version not supported on the 9.11.x branch)
+ * 216.0 - Added nodiscard function information, bug 534420
+ * 217.0 - Added nodiscard class/struct information, bug 534420
+ * 218.0 - Added nodiscard enums information, bug 534420
+ * 219.0 - Fix enums nodiscard information in the index from 8 byte to 1 byte, bug 534420
+ *
+ * CDT 10.4 development
+ * 220.0 - Changed marshalling of CPPBasicType to store new "from literal" flag, bug 573764
*/
- private static final int MIN_SUPPORTED_VERSION = version(215, 0);
- private static final int MAX_SUPPORTED_VERSION = version(215, Short.MAX_VALUE);
- private static final int DEFAULT_VERSION = version(215, 0);
+ private static final int MIN_SUPPORTED_VERSION = version(220, 0);
+ private static final int MAX_SUPPORTED_VERSION = version(220, Short.MAX_VALUE);
+ private static final int DEFAULT_VERSION = version(220, 0);
private static int version(int major, int minor) {
return (major << 16) + minor;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
index 0a13c206af9..868780685ae 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2018 QNX Software Systems and others.
+ * Copyright (c) 2005, 2020 QNX Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -18,6 +18,7 @@
* Marc-Andre Laperle
* Martin Oberhuber (Wind River) - [397652] fix up-to-date check for PDOM
* IBM Corporation
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom;
@@ -26,6 +27,8 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.text.MessageFormat;
+import java.text.SimpleDateFormat;
import java.util.ArrayDeque;
import java.util.ArrayList;
import java.util.Arrays;
@@ -117,9 +120,6 @@ import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChange
import org.eclipse.core.runtime.preferences.IPreferencesService;
import org.eclipse.core.runtime.preferences.InstanceScope;
-import com.ibm.icu.text.MessageFormat;
-import com.ibm.icu.text.SimpleDateFormat;
-
/**
* Manages PDOM updates and events associated with them. Provides methods for index access.
*/
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java
index b678934cb27..b8731ca64fb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/PDOMProxy.java
@@ -250,10 +250,9 @@ public class PDOMProxy implements IPDOM {
fDelegate.resetCacheCounters();
}
- @SuppressWarnings({ "rawtypes", "unchecked" })
- public synchronized Object getAdapter(Class adapter) {
+ public synchronized <T> T getAdapter(Class<T> adapter) {
if (adapter.isAssignableFrom(PDOMProxy.class)) {
- return this;
+ return adapter.cast(this);
}
return null;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java
index 2c6c7d28e82..1f5d80e459a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/BTree.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2016 QNX Software Systems and others.
+ * Copyright (c) 2005, 2020 QNX Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,16 +12,17 @@
* QNX - Initial API and implementation
* Andrew Ferguson (Symbian) - Provide B-tree deletion routine
* Markus Schorn (Wind River Systems)
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.db;
+import java.text.MessageFormat;
+
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
-import com.ibm.icu.text.MessageFormat;
-
/**
* @author Doug Schaefer
*/
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java
index c3ff517248e..f138c44c9da 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/db/Database.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2015 QNX Software Systems and others.
+ * Copyright (c) 2005, 2020 QNX Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -14,6 +14,7 @@
* Markus Schorn (Wind River Systems)
* IBM Corporation
* Sergey Prigogin (Google)
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.db;
@@ -28,6 +29,7 @@ import java.nio.ByteBuffer;
import java.nio.channels.ClosedByInterruptException;
import java.nio.channels.ClosedChannelException;
import java.nio.channels.FileChannel;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@@ -38,8 +40,6 @@ import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Database encapsulates access to a flat binary format file with a memory-manager-like API for
* obtaining and releasing areas of storage (memory).
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java
index 18162597b25..97a7ed6f697 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMASTAdapter.java
@@ -578,6 +578,11 @@ public class PDOMASTAdapter {
public ICPPScope asScope() {
return ((ICPPEnumeration) fDelegate).asScope();
}
+
+ @Override
+ public boolean isNoDiscard() {
+ return ((ICPPEnumeration) fDelegate).isNoDiscard();
+ }
}
private static class AnonymousClassType extends AnonymousCPPBinding implements ICPPClassType {
@@ -669,6 +674,11 @@ public class PDOMASTAdapter {
public int getVisibility(IBinding member) {
return ((ICPPClassType) fDelegate).getVisibility(member);
}
+
+ @Override
+ public boolean isNoDiscard() {
+ return ((ICPPClassType) fDelegate).isNoDiscard();
+ }
}
private static class AnonymousClassSpecialization extends AnonymousClassType implements ICPPClassSpecialization {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
index 170f025f470..42615e71cc4 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMLinkage.java
@@ -87,7 +87,7 @@ public abstract class PDOMLinkage extends PDOMNamedNode implements IIndexLinkage
* The set of types currently being loaded from the index on each thread, represented as record numbers.
* This is used to guard against infinite recursion while loading types.
*/
- private static final ThreadLocal<Set<Long>> fLoadTypeInProgress = new ThreadLocal<Set<Long>>() {
+ private static final ThreadLocal<Set<Long>> fLoadTypeInProgress = new ThreadLocal<>() {
@Override
protected Set<Long> initialValue() {
return new HashSet<>();
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java
index fcae57b3e1d..e029f880780 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacro.java
@@ -373,10 +373,9 @@ public class PDOMMacro implements IIndexMacro, IPDOMBinding {
}
@Override
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public Object getAdapter(Class adapter) {
+ public <T> T getAdapter(Class<T> adapter) {
if (adapter.isAssignableFrom(PDOMMacro.class)) {
- return this;
+ return adapter.cast(this);
}
return null;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java
index 266079a3009..817de429e5f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMMacroContainer.java
@@ -171,10 +171,9 @@ public class PDOMMacroContainer extends PDOMNamedNode implements IIndexMacroCont
}
@Override
- @SuppressWarnings({ "unchecked", "rawtypes" })
- public Object getAdapter(Class adapter) {
+ public <T> T getAdapter(Class<T> adapter) {
if (adapter.isAssignableFrom(PDOMMacroContainer.class)) {
- return this;
+ return adapter.cast(this);
}
return null;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMName.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMName.java
index 9f73005f040..f8ac35b883f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMName.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMName.java
@@ -56,6 +56,7 @@ public final class PDOMName implements IIndexFragmentName {
public static final int IS_FRIEND_SPEC = 0x08;
public static final int IS_INLINE_NAMESPACE = 0x0C;
public static final int COULD_BE_POLYMORPHIC_METHOD_CALL = 0x10;
+ //TODO We haven't got any flag for "unknown" access, we should add it to the index
public static final int READ_ACCESS = 0x20;
public static final int WRITE_ACCESS = 0x40;
// Whether this name is a potential match for its binding, rather than an exact match.
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCAnnotations.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCAnnotations.java
index e842e2aeb81..64da027c55a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCAnnotations.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCAnnotations.java
@@ -32,6 +32,9 @@ class PDOMCAnnotations {
private static final int NO_RETURN_OFFSET = 4;
private static final int REGISTER_OFFSET = 5;
private static final int AUTO_OFFSET = 6;
+ private static final int NO_DISCARD_OFFSET = 7;
+ //NOTE: we are writing these annotations on a "byte" so if we need
+ //to add another value we need to use at least a short.
/**
* Encodes annotations applicable to functions.
@@ -55,6 +58,8 @@ class PDOMCAnnotations {
annotation |= 1 << REGISTER_OFFSET;
if (function.isAuto())
annotation |= 1 << AUTO_OFFSET;
+ if (function.isNoDiscard())
+ annotation |= 1 << NO_DISCARD_OFFSET;
return annotation;
}
@@ -115,6 +120,13 @@ class PDOMCAnnotations {
}
/**
+ * Checks if the "no discard" annotation is set.
+ */
+ public static boolean isNoDiscardFunction(short annotation) {
+ return (annotation & (1 << NO_DISCARD_OFFSET)) != 0;
+ }
+
+ /**
* Checks if the "register" annotation is set.
*/
public static boolean isRegister(byte annotation) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java
index 5230308ea5f..07ddfcffbda 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCFunction.java
@@ -208,4 +208,9 @@ class PDOMCFunction extends PDOMBinding implements IFunction {
public IScope getFunctionScope() {
return null;
}
+
+ @Override
+ public boolean isNoDiscard() {
+ return PDOMCAnnotations.isNoDiscardFunction(getAnnotations());
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java
index bfe51cec7a5..26cdd781a7a 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/c/PDOMCVariable.java
@@ -15,6 +15,8 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom.c;
+import java.util.Optional;
+
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IBinding;
@@ -138,7 +140,11 @@ class PDOMCVariable extends PDOMBinding implements IVariable {
@Override
public int getAdditionalNameFlags(int standardFlags, IASTName name) {
if ((standardFlags & PDOMName.IS_REFERENCE) == PDOMName.IS_REFERENCE) {
- return CVariableReadWriteFlags.getReadWriteFlags(name);
+ Optional<Integer> res = CVariableReadWriteFlags.getReadWriteFlags(name);
+ if (!res.isPresent()) {
+ return PDOMName.WRITE_ACCESS | PDOMName.READ_ACCESS;
+ }
+ return res.get();
}
return 0;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAnnotations.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAnnotations.java
index c7c020c36b5..709f9bc84be 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAnnotations.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPAnnotations.java
@@ -45,6 +45,7 @@ class PDOMCPPAnnotations {
private static final int PARAMETER_PACK_OFFSET = 7;
private static final int DELETED_OFFSET = 8;
private static final int NO_RETURN_OFFSET = 9;
+ private static final int NO_DISCARD_OFFSET = 10;
// Method annotations that don't fit on the first 16 bits of annotations.
private static final int VIRTUAL_OFFSET = 0;
@@ -82,6 +83,8 @@ class PDOMCPPAnnotations {
annotation |= 1 << PARAMETER_PACK_OFFSET;
if (function.isDeleted())
annotation |= 1 << DELETED_OFFSET;
+ if (function.isNoDiscard())
+ annotation |= 1 << NO_DISCARD_OFFSET;
return annotation;
}
@@ -227,6 +230,13 @@ class PDOMCPPAnnotations {
}
/**
+ * Checks if the "no discard" annotation is set.
+ */
+ public static boolean isNoDiscardFunction(short annotation) {
+ return (annotation & (1 << NO_DISCARD_OFFSET)) != 0;
+ }
+
+ /**
* Checks if the "virtual" annotation is set.
*/
public static boolean isVirtualMethod(byte annotation) {
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java
index a1161ad8cae..9e9364d6c56 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java
@@ -72,10 +72,11 @@ class PDOMCPPClassSpecialization extends PDOMCPPSpecialization
private static final byte FLAGS_FINAL = 0x01;
private static final byte FLAGS_HAS_OWN_SCOPE = 0x02;
+ private static final byte FLAGS_NODISCARD = 0x03;
private volatile ICPPClassScope fScope;
private ObjectMap specializationMap; // Obtained from the synchronized PDOM cache.
- private final ThreadLocal<Set<IBinding>> fInProgress = new ThreadLocal<Set<IBinding>>() {
+ private final ThreadLocal<Set<IBinding>> fInProgress = new ThreadLocal<>() {
@Override
protected Set<IBinding> initialValue() {
return new HashSet<>();
@@ -508,6 +509,16 @@ class PDOMCPPClassSpecialization extends PDOMCPPSpecialization
}
}
+ @Override
+ public boolean isNoDiscard() {
+ try {
+ return (getFlags() & FLAGS_NODISCARD) != 0;
+ } catch (CoreException e) {
+ CCorePlugin.log(e);
+ return false;
+ }
+ }
+
private boolean hasOwnScope() throws CoreException {
return (getFlags() & FLAGS_HAS_OWN_SCOPE) != 0;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
index 1f2e920a8ff..2d5447c2c4e 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java
@@ -60,8 +60,9 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
private static final int ANONYMOUS = KEY + 1; // byte
private static final int FINAL = ANONYMOUS + 1; // byte
private static final int VISIBLE_TO_ADL_ONLY = FINAL + 1; // byte
+ private static final int NO_DISCARD = VISIBLE_TO_ADL_ONLY + 1; // byte
@SuppressWarnings("hiding")
- protected static final int RECORD_SIZE = VISIBLE_TO_ADL_ONLY + 1;
+ protected static final int RECORD_SIZE = NO_DISCARD + 1;
private PDOMCPPClassScope fScope; // No need for volatile, all fields of PDOMCPPClassScope are final.
@@ -73,6 +74,7 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
setAnonymous(classType);
setFinal(classType);
setVisibleToAdlOnly(visibleToAdlOnly);
+ setNoDiscard(classType);
// Linked list is initialized by storage being zero'd by malloc.
}
@@ -97,6 +99,7 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
setKind(ct);
setAnonymous(ct);
setFinal(ct);
+ setNoDiscard(ct);
super.update(linkage, newBinding);
}
}
@@ -113,6 +116,10 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
getDB().putByte(record + FINAL, (byte) (ct.isFinal() ? 1 : 0));
}
+ private void setNoDiscard(ICPPClassType ct) throws CoreException {
+ getDB().putByte(record + NO_DISCARD, (byte) (ct.isNoDiscard() ? 1 : 0));
+ }
+
@Override
public void setVisibleToAdlOnly(boolean visibleToAdlOnly) throws CoreException {
getDB().putByte(record + VISIBLE_TO_ADL_ONLY, (byte) (visibleToAdlOnly ? 1 : 0));
@@ -280,6 +287,16 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
}
@Override
+ public boolean isNoDiscard() {
+ try {
+ return getDB().getByte(record + NO_DISCARD) != 0;
+ } catch (CoreException e) {
+ CCorePlugin.log(e);
+ return false;
+ }
+ }
+
+ @Override
public boolean isVisibleToAdlOnly() {
try {
return getDB().getByte(record + VISIBLE_TO_ADL_ONLY) != 0;
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java
index dc59848d72c..2319f9c6110 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java
@@ -51,6 +51,9 @@ class PDOMCPPEnumeration extends PDOMCPPBinding implements IPDOMCPPEnumType, IPD
private static final int OFFSET_FIXED_TYPE = OFFSET_MAX_VALUE + 8;
private static final int OFFSET_FLAGS = OFFSET_FIXED_TYPE + Database.TYPE_SIZE;
+ private static final byte FLAG_SCOPED = 0x1;
+ private static final byte FLAG_NODISCARD = 0x2;
+
@SuppressWarnings("hiding")
protected static final int RECORD_SIZE = OFFSET_FLAGS + 1;
@@ -75,7 +78,15 @@ class PDOMCPPEnumeration extends PDOMCPPBinding implements IPDOMCPPEnumType, IPD
private void storeProperties(ICPPEnumeration enumeration) throws CoreException {
final Database db = getDB();
- db.putByte(record + OFFSET_FLAGS, enumeration.isScoped() ? (byte) 1 : (byte) 0);
+ byte flags = 0;
+ if (enumeration.isScoped()) {
+ flags |= FLAG_SCOPED;
+ }
+ if (enumeration.isNoDiscard()) {
+ flags |= FLAG_NODISCARD;
+ }
+
+ db.putByte(record + OFFSET_FLAGS, flags);
getLinkage().storeType(record + OFFSET_FIXED_TYPE, enumeration.getFixedType());
@@ -188,7 +199,18 @@ class PDOMCPPEnumeration extends PDOMCPPBinding implements IPDOMCPPEnumType, IPD
@Override
public boolean isScoped() {
try {
- return getDB().getByte(record + OFFSET_FLAGS) != 0;
+ byte flags = getDB().getByte(record + OFFSET_FLAGS);
+ return (flags & FLAG_SCOPED) != 0;
+ } catch (CoreException e) {
+ return false;
+ }
+ }
+
+ @Override
+ public boolean isNoDiscard() {
+ try {
+ byte flags = getDB().getByte(record + OFFSET_FLAGS);
+ return (flags & FLAG_NODISCARD) != 0;
} catch (CoreException e) {
return false;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerationSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerationSpecialization.java
index 3bda300c388..2208f786de3 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerationSpecialization.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumerationSpecialization.java
@@ -51,7 +51,8 @@ class PDOMCPPEnumerationSpecialization extends PDOMCPPSpecialization
private static final int OFFSET_MIN_VALUE = OFFSET_ENUMERATOR_LIST + Database.PTR_SIZE;
private static final int OFFSET_MAX_VALUE = OFFSET_MIN_VALUE + 8;
private static final int OFFSET_FIXED_TYPE = OFFSET_MAX_VALUE + 8;
- private static final int OFFSET_FLAGS = OFFSET_FIXED_TYPE + Database.TYPE_SIZE;
+ private static final int OFFSET_NO_DISCARD = OFFSET_FIXED_TYPE + 8;
+ private static final int OFFSET_FLAGS = OFFSET_NO_DISCARD + Database.TYPE_SIZE;
@SuppressWarnings("hiding")
protected static final int RECORD_SIZE = OFFSET_FLAGS + 1;
@@ -84,6 +85,7 @@ class PDOMCPPEnumerationSpecialization extends PDOMCPPSpecialization
private void storeProperties(ICPPEnumeration enumeration) throws CoreException {
final Database db = getDB();
db.putByte(record + OFFSET_FLAGS, enumeration.isScoped() ? (byte) 1 : (byte) 0);
+ db.putByte(record + OFFSET_NO_DISCARD, enumeration.isNoDiscard() ? (byte) 1 : (byte) 0);
getLinkage().storeType(record + OFFSET_FIXED_TYPE, enumeration.getFixedType());
@@ -203,6 +205,15 @@ class PDOMCPPEnumerationSpecialization extends PDOMCPPSpecialization
}
@Override
+ public boolean isNoDiscard() {
+ try {
+ return getDB().getByte(record + OFFSET_NO_DISCARD) != 0;
+ } catch (CoreException e) {
+ return false;
+ }
+ }
+
+ @Override
public IType getFixedType() {
if (fFixedType == ProblemBinding.NOT_INITIALIZED) {
fFixedType = loadFixedType();
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 6797e525149..01e8334a218 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
@@ -449,4 +449,9 @@ class PDOMCPPFunction extends PDOMCPPBinding implements ICPPFunction, IPDOMOverl
return null;
}
}
+
+ @Override
+ public boolean isNoDiscard() {
+ return PDOMCPPAnnotations.isNoDiscardFunction(getAnnotations());
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionSpecialization.java
index 9b047058a57..6f62bec830b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionSpecialization.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionSpecialization.java
@@ -342,4 +342,9 @@ class PDOMCPPFunctionSpecialization extends PDOMCPPSpecialization
return null;
}
}
+
+ @Override
+ public boolean isNoDiscard() {
+ return PDOMCPPAnnotations.isNoDiscardFunction(getAnnotations());
+ }
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java
index 05b9367d2f2..991f3ef73eb 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage.java
@@ -143,6 +143,7 @@ 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.ExecBreak;
+import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecBuiltin;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecCase;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecCompoundStatement;
import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.ExecConstructorChain;
@@ -1270,8 +1271,8 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants {
if (owner instanceof IFunction) {
boolean isTemplateParameter = binding instanceof ICPPTemplateParameter;
boolean ownerIsConstexprFunc = owner instanceof ICPPFunction && ((ICPPFunction) owner).isConstexpr();
- boolean isVariableOrTypedef = binding instanceof ICPPVariable || binding instanceof ITypedef;
- if (!isTemplateParameter && !(ownerIsConstexprFunc && isVariableOrTypedef)) {
+ boolean isVariableOrType = binding instanceof ICPPVariable || binding instanceof IType;
+ if (!isTemplateParameter && !(ownerIsConstexprFunc && isVariableOrType)) {
return null;
}
}
@@ -1771,6 +1772,8 @@ class PDOMCPPLinkage extends PDOMLinkage implements IIndexCPPBindingConstants {
return ExecConstructorChain.unmarshal(firstBytes, buffer);
case ITypeMarshalBuffer.EXEC_INCOMPLETE:
return ExecIncomplete.unmarshal(firstBytes, buffer);
+ case ITypeMarshalBuffer.EXEC_BUILTIN:
+ return ExecBuiltin.unmarshal(firstBytes, buffer);
}
throw new CoreException(CCorePlugin.createStatus("Cannot unmarshal an execution, first bytes=" + firstBytes)); //$NON-NLS-1$
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTemplateParameter.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTemplateParameter.java
index b33a90157cc..5c8e1a76715 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTemplateParameter.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPTemplateTemplateParameter.java
@@ -350,6 +350,11 @@ public class PDOMCPPTemplateTemplateParameter extends PDOMCPPBinding implements
}
@Override
+ public boolean isNoDiscard() {
+ return false;
+ }
+
+ @Override
public ICPPTemplateParameter adaptTemplateParameter(ICPPTemplateParameter param) {
int pos = param.getParameterPosition();
ICPPTemplateParameter[] pars = getTemplateParameters();
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java
index 6f02c5b78ee..af083b4f944 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPVariable.java
@@ -15,6 +15,8 @@
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.dom.cpp;
+import java.util.Optional;
+
import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IBinding;
@@ -162,7 +164,11 @@ class PDOMCPPVariable extends PDOMCPPBinding implements ICPPVariable {
@Override
public int getAdditionalNameFlags(int standardFlags, IASTName name) {
if ((standardFlags & PDOMName.IS_REFERENCE) == PDOMName.IS_REFERENCE) {
- return CPPVariableReadWriteFlags.getReadWriteFlags(name);
+ Optional<Integer> res = CPPVariableReadWriteFlags.getReadWriteFlags(name);
+ if (!res.isPresent()) {
+ return PDOMName.READ_ACCESS | PDOMName.WRITE_ACCESS;
+ }
+ return res.get();
}
return 0;
}
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
index fb4e8167288..4f5f30acc3b 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/CLIUtil.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2020 Symbian Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -9,10 +9,12 @@
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
- * Andrew Ferguson (Symbian) - Initial implementation
+ * Andrew Ferguson (Symbian) - Initial implementation
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.export;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -21,8 +23,6 @@ import java.util.Map;
import org.eclipse.cdt.core.index.export.Messages;
import org.eclipse.core.runtime.CoreException;
-import com.ibm.icu.text.MessageFormat;
-
/**
* Helper methods for command-line options
* <br>
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
index 37cd352c6eb..fb4b4a8aa5f 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOM.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2014 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2020 Symbian Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,10 +12,12 @@
* Andrew Ferguson (Symbian) - Initial implementation
* Markus Schorn (Wind River Systems)
* Martin Oberhuber (Wind River) - [397652] fix up-to-date check for PDOM
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.export;
import java.io.File;
+import java.text.MessageFormat;
import java.util.Map;
import org.eclipse.cdt.core.CCorePlugin;
@@ -33,8 +35,6 @@ import org.eclipse.core.runtime.MultiStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Status;
-import com.ibm.icu.text.MessageFormat;
-
/**
* An ISafeRunnable which
* <ul>
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
index 91b1f2ab80d..a718f433551 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/export/GeneratePDOMApplication.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2012 Symbian Software Systems and others.
+ * Copyright (c) 2007, 2020 Symbian Software Systems and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -9,13 +9,15 @@
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
- * Andrew Ferguson (Symbian) - Initial implementation
- * Anna Dushistova (MontaVista) - bug [247087]
+ * Andrew Ferguson (Symbian) - Initial implementation
+ * Anna Dushistova (MontaVista) - bug [247087]
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.export;
import java.io.File;
import java.io.PrintStream;
+import java.text.MessageFormat;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -40,8 +42,6 @@ import org.eclipse.core.runtime.jobs.ProgressProvider;
import org.eclipse.equinox.app.IApplication;
import org.eclipse.equinox.app.IApplicationContext;
-import com.ibm.icu.text.MessageFormat;
-
/**
* An eclipse application for generating PDOM's without starting the Workbench
*/
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/PDOMIndexerTask.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/PDOMIndexerTask.java
index 5222cfcaa02..82f28ee5a09 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/PDOMIndexerTask.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/PDOMIndexerTask.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2006, 2016 Wind River Systems, Inc. and others.
+ * Copyright (c) 2006, 2020 Wind River Systems, Inc. and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -12,9 +12,11 @@
* Markus Schorn - initial API and implementation
* Sergey Prigogin (Google)
* Marc-Andre Laperle (Ericsson)
+ * Alexander Fedorov (ArSysOp) - Bug 561992
*******************************************************************************/
package org.eclipse.cdt.internal.core.pdom.indexer;
+import java.text.NumberFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Collections;
@@ -47,8 +49,6 @@ import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.osgi.util.NLS;
-import com.ibm.icu.text.NumberFormat;
-
/**
* Configures the abstract indexer task suitable for indexing projects.
*/

Back to the top