Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Schorn2009-07-02 08:57:39 +0000
committerMarkus Schorn2009-07-02 08:57:39 +0000
commit8c5f3483fa9da17a4ba12b5d1b9403be43d23b83 (patch)
treede856d09af2b30e14b0a628cc54cfb62d39a9d6c /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java
parentbe997b52798e8750e186d6dd0bcc9a0b3f510461 (diff)
downloadorg.eclipse.cdt-8c5f3483fa9da17a4ba12b5d1b9403be43d23b83.tar.gz
org.eclipse.cdt-8c5f3483fa9da17a4ba12b5d1b9403be43d23b83.tar.xz
org.eclipse.cdt-8c5f3483fa9da17a4ba12b5d1b9403be43d23b83.zip
Support for PDOMs larger than 2GB, bug 279620.
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java18
1 files changed, 9 insertions, 9 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java
index f35ea1ea951..e17657ca818 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java
@@ -36,11 +36,11 @@ class PDOMCPPBase implements ICPPBase, ICPPInternalBase {
protected static final int RECORD_SIZE = 9;
private final PDOMLinkage linkage;
- private final int record;
+ private final long record;
private PDOMBinding fCachedBaseClass;
- public PDOMCPPBase(PDOMLinkage linkage, int record) {
+ public PDOMCPPBase(PDOMLinkage linkage, long record) {
this.linkage = linkage;
this.record = record;
}
@@ -50,8 +50,8 @@ class PDOMCPPBase implements ICPPBase, ICPPInternalBase {
Database db = getDB();
this.record = db.malloc(RECORD_SIZE);
- int baserec = baseClassSpec != null ? baseClassSpec.getRecord() : 0;
- db.putInt(record + BASECLASS_SPECIFIER, baserec);
+ long baserec = baseClassSpec != null ? baseClassSpec.getRecord() : 0;
+ db.putRecPtr(record + BASECLASS_SPECIFIER, baserec);
byte flags = (byte)(visibility | (isVirtual ? 4 : 0));
db.putByte(record + FLAGS, flags);
@@ -61,17 +61,17 @@ class PDOMCPPBase implements ICPPBase, ICPPInternalBase {
return linkage.getDB();
}
- public int getRecord() {
+ public long getRecord() {
return record;
}
public void setNextBase(PDOMCPPBase nextBase) throws CoreException {
- int rec = nextBase != null ? nextBase.getRecord() : 0;
- getDB().putInt(record + NEXTBASE, rec);
+ long rec = nextBase != null ? nextBase.getRecord() : 0;
+ getDB().putRecPtr(record + NEXTBASE, rec);
}
public PDOMCPPBase getNextBase() throws CoreException {
- int rec = getDB().getInt(record + NEXTBASE);
+ long rec = getDB().getRecPtr(record + NEXTBASE);
return rec != 0 ? new PDOMCPPBase(linkage, rec) : null;
}
@@ -81,7 +81,7 @@ class PDOMCPPBase implements ICPPBase, ICPPInternalBase {
public PDOMName getBaseClassSpecifierName() {
try {
- int rec = getDB().getInt(record + BASECLASS_SPECIFIER);
+ long rec = getDB().getRecPtr(record + BASECLASS_SPECIFIER);
if (rec != 0) {
return new PDOMName(linkage, rec);
}

Back to the top