diff options
author | Eugene Tarassov | 2012-01-03 18:45:37 +0000 |
---|---|---|
committer | Eugene Tarassov | 2012-01-03 18:45:37 +0000 |
commit | 10dcab5c4a6a6a224a79ec7b8ea9c513ffe8cd29 (patch) | |
tree | e84e5dc810c172afe260516adab5a77536aba712 | |
parent | fa2cfeddba37fbbc6e4645899ee12c1689e51b1e (diff) | |
download | org.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.java | 5 | ||||
-rw-r--r-- | plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/ISymbols.java | 39 |
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. |