Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2012-01-03 18:45:37 +0000
committerEugene Tarassov2012-01-03 18:45:37 +0000
commit10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29 (patch)
treee84e5dc810c172afe260516adab5a77536aba712
parentfa2cfeddba37fbbc6e4645899ee12c1689e51b1e (diff)
downloadorg.eclipse.tcf-10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29.tar.gz
org.eclipse.tcf-10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29.tar.xz
org.eclipse.tcf-10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29.zip
TCF Core: updated Symbols service interface.
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/SymbolsProxy.java5
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java39
2 files changed, 40 insertions, 4 deletions
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/SymbolsProxy.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/SymbolsProxy.java
index 1488432a3..7ba2f120c 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/SymbolsProxy.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/SymbolsProxy.java
@@ -60,6 +60,10 @@ public class SymbolsProxy implements ISymbols {
return (String)props.get(PROP_INDEX_TYPE_ID);
}
+ public String getContainerID() {
+ return (String)props.get(PROP_CONTAINER_ID);
+ }
+
public int getLength() {
Number n = (Number)props.get(PROP_LENGTH);
if (n == null) return 0;
@@ -119,6 +123,7 @@ public class SymbolsProxy implements ISymbols {
case 6: return TypeClass.composite;
case 7: return TypeClass.enumeration;
case 8: return TypeClass.function;
+ case 9: return TypeClass.member_pointer;
}
}
return TypeClass.unknown;
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
index 582b85b27..cb4cb782d 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java
@@ -39,7 +39,8 @@ public interface ISymbols extends IService {
array, // array of anything.
composite, // struct, union, or class.
enumeration, // enumeration type.
- function // function type.
+ function, // function type.
+ member_pointer // pointer to member type
}
static final int
@@ -119,7 +120,6 @@ public interface ISymbols extends IService {
* pointer type - return pointed type;
* array type - return element type;
* function type - return function result type;
- * class type - return base class;
* otherwise return null.
* @return type ID.
*/
@@ -135,6 +135,16 @@ public interface ISymbols extends IService {
String getIndexTypeID();
/**
+ * Get container type ID.
+ * If this symbol is a
+ * field or member - return containing class type;
+ * member pointer - return containing class type;
+ * otherwise return null.
+ * @return type ID.
+ */
+ String getContainerID();
+
+ /**
* Return value size of the symbol (or type).
* @return size in bytes.
*/
@@ -221,6 +231,7 @@ public interface ISymbols extends IService {
PROP_TYPE_ID = "TypeID",
PROP_BASE_TYPE_ID = "BaseTypeID",
PROP_INDEX_TYPE_ID = "IndexTypeID",
+ PROP_CONTAINER_ID = "ContainerID",
PROP_SIZE = "Size",
PROP_LENGTH = "Length",
PROP_LOWER_BOUND = "LowerBound",
@@ -378,8 +389,28 @@ public interface ISymbols extends IService {
* the value size (Number) and endianness (Boolean, false - little-endian, true - big-endian). */
CMD_DEREF = 4,
- /** Add two values on top of the evaluation stack */
- CMD_ADD = 5;
+ /** Integer arithmetic and bit-wise boolean operations */
+ CMD_ADD = 5,
+ CMD_SUB = 6,
+ CMD_MUL = 7,
+ CMD_DIV = 8,
+ CMD_AND = 9,
+ CMD_OR = 10,
+ CMD_XOR = 11,
+ CMD_NEG = 12,
+ CMD_GE = 13,
+ CMD_GT = 14,
+ CMD_LE = 15,
+ CMD_LT = 16,
+ CMD_SHL = 17,
+ CMD_SHR = 18,
+
+ /** Load expression argument to evaluation stack. */
+ CMD_ARG = 19,
+
+ /** Evaluate DWARF location expression. Command arguments are byte array of
+ * DWARF expression instructions and an object that contains evaluation parameters. */
+ CMD_LOCATION = 20;
/**
* Retrieve stack tracing commands for given instruction address in a context memory.

Back to the top