diff options
author | Eugene Tarassov | 2014-09-21 17:10:54 +0000 |
---|---|---|
committer | Eugene Tarassov | 2014-09-21 17:10:54 +0000 |
commit | 965c803d5bea3ce4d9c868eef0403ccf64a1ff0a (patch) | |
tree | 6233b96e7227bdc5e3d2e808a3fe8c91e4e33d6e /plugins/org.eclipse.tcf.core/src/org | |
parent | b421b9d34164f2ea4fb072f8c10aded7735146d7 (diff) | |
download | org.eclipse.tcf-965c803d5bea3ce4d9c868eef0403ccf64a1ff0a.tar.gz org.eclipse.tcf-965c803d5bea3ce4d9c868eef0403ccf64a1ff0a.tar.xz org.eclipse.tcf-965c803d5bea3ce4d9c868eef0403ccf64a1ff0a.zip |
TCF Debugger: fixed handling of DWARF implicit pointers
Diffstat (limited to 'plugins/org.eclipse.tcf.core/src/org')
-rw-r--r-- | plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/ExpressionsProxy.java | 6 | ||||
-rw-r--r-- | plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java | 9 |
2 files changed, 15 insertions, 0 deletions
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/ExpressionsProxy.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/ExpressionsProxy.java index 52ab93d94..db45fd63b 100644 --- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/ExpressionsProxy.java +++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/internal/services/remote/ExpressionsProxy.java @@ -146,6 +146,12 @@ public class ExpressionsProxy implements IExpressions { if (n == null) return false; return n.booleanValue(); } + + public boolean isImplicitPointer() { + Boolean n = (Boolean)props.get(VAL_IMPLICIT_POINTER); + if (n == null) return false; + return n.booleanValue(); + } } public ExpressionsProxy(IChannel channel) { diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java index 665a55a54..222e51490 100644 --- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java +++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IExpressions.java @@ -159,6 +159,14 @@ public interface IExpressions extends IService { boolean isBigEndian(); /** + * Implicit pointer means that the value represents a pointer, + * which value is unknown or optimized away, + * even though the value it would point to is known. + * @return true if the value is implicit pointer. + */ + boolean isImplicitPointer(); + + /** * Return register ID if the value represents register variable. * @return register ID or null. */ @@ -196,6 +204,7 @@ public interface IExpressions extends IService { VAL_CLASS = "Class", VAL_TYPE = "Type", VAL_BIG_ENDIAN = "BigEndian", + VAL_IMPLICIT_POINTER = "ImplicitPointer", VAL_REGISTER = "Register", VAL_SYMBOL = "Symbol", VAL_ADDRESS = "Address", |