1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

2004-09-21 Alain Magloire

* model/org/eclipse/cdt/core/model/IBinary.java
	* model/org/eclipse/cdt/internal/core/model/Archive.java
	* model/org/eclipse/cdt/internal/core/model/Binary.java
This commit is contained in:
Alain Magloire 2004-09-21 18:57:25 +00:00
parent 24cdf54262
commit e8cab177d9
4 changed files with 25 additions and 14 deletions

View file

@ -1,3 +1,8 @@
2004-09-21 Alain Magloire
* model/org/eclipse/cdt/core/model/IBinary.java
* model/org/eclipse/cdt/internal/core/model/Archive.java
* model/org/eclipse/cdt/internal/core/model/Binary.java
2004-09-21 David Inglis
Lots of changes to the binary parsers

View file

@ -10,8 +10,6 @@
*******************************************************************************/
package org.eclipse.cdt.core.model;
import org.eclipse.cdt.core.IAddressFactory;
/**
* Represents a Binary file, for example an ELF excutable.
@ -45,6 +43,6 @@ public interface IBinary extends ICElement, IParent, IOpenable {
public boolean isLittleEndian();
public IAddressFactory getAddressFactory();
//public IAddressFactory getAddressFactory();
}

View file

@ -80,6 +80,16 @@ public class Archive extends Openable implements IArchive {
return true;
}
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
public Object getAdapter(Class adapter) {
if (IBinaryArchive.class.equals(adapter)) {
return getBinaryArchive();
}
return super.getAdapter(adapter);
}
IBinaryArchive getBinaryArchive() {
return binaryArchive;
}

View file

@ -17,7 +17,6 @@ import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.core.IAddressFactory;
import org.eclipse.cdt.core.IBinaryParser.IBinaryExecutable;
import org.eclipse.cdt.core.IBinaryParser.IBinaryFile;
import org.eclipse.cdt.core.IBinaryParser.IBinaryObject;
@ -44,7 +43,6 @@ public class Binary extends Openable implements IBinary {
private long longBSS;
private String endian;
private String soname;
private IAddressFactory addressFactory;
private long fLastModification;
@ -173,16 +171,17 @@ public class Binary extends Openable implements IBinary {
protected IBinaryObject getBinaryObject() {
return binaryObject;
}
public IAddressFactory getAddressFactory() {
if (isObject() || isExecutable() || isSharedLib() || isCore()) {
if (addressFactory == null || hasChanged()) {
addressFactory = getBinaryObject().getAddressFactory();
}
/* (non-Javadoc)
* @see org.eclipse.core.runtime.IAdaptable#getAdapter(java.lang.Class)
*/
public Object getAdapter(Class adapter) {
if (IBinaryObject.class.equals(adapter)) {
return getBinaryObject();
}
return addressFactory;
return super.getAdapter(adapter);
}
protected int getType() {
IBinaryObject obj = getBinaryObject();
if (obj != null && (fBinType == 0 || hasChanged())) {
@ -204,7 +203,6 @@ public class Binary extends Openable implements IBinary {
longData = -1;
longText = -1;
soname = null;
addressFactory = null;
}
return changed;
}