diff options
author | Markus Schorn | 2009-07-02 08:57:39 +0000 |
---|---|---|
committer | Markus Schorn | 2009-07-02 08:57:39 +0000 |
commit | 8c5f3483fa9da17a4ba12b5d1b9403be43d23b83 (patch) | |
tree | de856d09af2b30e14b0a628cc54cfb62d39a9d6c /core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPBase.java | |
parent | be997b52798e8750e186d6dd0bcc9a0b3f510461 (diff) | |
download | org.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.java | 18 |
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); } |