Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEugene Tarassov2021-06-17 18:15:58 +0000
committerEugene Tarassov2021-06-17 18:32:49 +0000
commited411c80363207c58c783b29af27935489f487dc (patch)
tree854336c02729e31253a4b0f977146a506ff39aa0
parentde771e84782677c7953a39b907d607754b2c33a5 (diff)
downloadorg.eclipse.tcf-1.7.tar.gz
org.eclipse.tcf-1.7.tar.xz
org.eclipse.tcf-1.7.zip
TCF Docs: updated TCF service descriptions1.7.01.7
-rw-r--r--docs/TCF Service - Expressions.html7
-rw-r--r--docs/TCF Service - Line Numbers.html34
-rw-r--r--docs/TCF Service - Memory Map.html4
-rw-r--r--docs/TCF Service - Run Control.html48
-rw-r--r--plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java2
5 files changed, 94 insertions, 1 deletions
diff --git a/docs/TCF Service - Expressions.html b/docs/TCF Service - Expressions.html
index 4e67ddb13..cf3d70f20 100644
--- a/docs/TCF Service - Expressions.html
+++ b/docs/TCF Service - Expressions.html
@@ -340,6 +340,12 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
String getTypeID();
<font color=#3F5FBF>/**
+ * Get expression type class.
+ * <font color=#7F9FBF>@return</font> type class.
+ */</font>
+ ISymbols.TypeClass getTypeClass();
+
+ <font color=#3F5FBF>/**
* Check if the expression can be assigned a new value.
* <font color=#7F9FBF>@return</font> true if can assign.
*/</font>
@@ -371,6 +377,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull;
PROP_BITS = "Bits",
PROP_SIZE = "Size",
PROP_TYPE = "Type",
+ PROP_CLASS = "Class",
PROP_CAN_ASSIGN = "CanAssign",
PROP_HAS_FUNC_CALL = "HasFuncCall";
diff --git a/docs/TCF Service - Line Numbers.html b/docs/TCF Service - Line Numbers.html
index fed09b48e..fb909a204 100644
--- a/docs/TCF Service - Line Numbers.html
+++ b/docs/TCF Service - Line Numbers.html
@@ -181,6 +181,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#7F0055>public final int</font> end_column;
<font color=#7F0055>public final</font> Number start_address;
<font color=#7F0055>public final</font> Number end_address;
+ <font color=#7F0055>public final</font> Number next_stmt_address;
<font color=#7F0055>public final int</font> isa;
<font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> is_statement;
<font color=#7F0055>public final</font> <font color=#7F0055>boolean</font> basic_block;
@@ -199,6 +200,30 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
<font color=#7F0055>this</font>.end_column = end_column;
<font color=#7F0055>this</font>.start_address = start_address;
<font color=#7F0055>this</font>.end_address = end_address;
+ <font color=#7F0055>this</font>.next_stmt_address = null;
+ <font color=#7F0055>this</font>.isa = isa;
+ <font color=#7F0055>this</font>.is_statement = is_statement;
+ <font color=#7F0055>this</font>.basic_block = basic_block;
+ <font color=#7F0055>this</font>.prologue_end = prologue_end;
+ <font color=#7F0055>this</font>.epilogue_begin = epilogue_begin;
+ }
+
+ <font color=#3F5FBF>/**
+ * <font color=#7F9FBF>@since</font> 1.7
+ */</font>
+ <font color=#7F0055>public</font> CodeArea(String directory, String file, <font color=#7F0055>int</font> start_line, <font color=#7F0055>int</font> start_column,
+ <font color=#7F0055>int</font> end_line, <font color=#7F0055>int</font> end_column, Number start_address, Number end_address, Number next_stmt_address, <font color=#7F0055>int</font> isa,
+ <font color=#7F0055>boolean</font> is_statement, <font color=#7F0055>boolean</font> basic_block,
+ <font color=#7F0055>boolean</font> prologue_end, <font color=#7F0055>boolean</font> epilogue_begin) {
+ <font color=#7F0055>this</font>.directory = directory;
+ <font color=#7F0055>this</font>.file = file;
+ <font color=#7F0055>this</font>.start_line = start_line;
+ <font color=#7F0055>this</font>.start_column = start_column;
+ <font color=#7F0055>this</font>.end_line = end_line;
+ <font color=#7F0055>this</font>.end_column = end_column;
+ <font color=#7F0055>this</font>.start_address = start_address;
+ <font color=#7F0055>this</font>.end_address = end_address;
+ <font color=#7F0055>this</font>.next_stmt_address = next_stmt_address;
<font color=#7F0055>this</font>.isa = isa;
<font color=#7F0055>this</font>.is_statement = is_statement;
<font color=#7F0055>this</font>.basic_block = basic_block;
@@ -215,7 +240,7 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
getInteger(area, "SLine", 0), getInteger(area, "SCol", 0),
getInteger(area, "ELine", 0), getInteger(area, "ECol", 0),
(Number)area.get("SAddr"), (Number)area.get("EAddr"),
- getInteger(area, "ISA", 0),
+ (Number)area.get("NStmtAddr"), getInteger(area, "ISA", 0),
getBoolean(area, "IsStmt"), getBoolean(area, "BasicBlock"),
getBoolean(area, "PrologueEnd"), getBoolean(area, "EpilogueBegin"));
}
@@ -256,6 +281,8 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
if (start_address == null && a.start_address != null) return false;
if (end_address != null && !end_address.equals(a.end_address)) return false;
if (end_address == null && a.end_address != null) return false;
+ if (next_stmt_address != null && !next_stmt_address.equals(a.next_stmt_address)) return false;
+ if (next_stmt_address == null && a.next_stmt_address != null) return false;
if (file != null && !file.equals(a.file)) return false;
if (file == null && a.file != null) return false;
if (directory != null && !directory.equals(a.directory)) return false;
@@ -309,6 +336,11 @@ R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;a
else {
bf.append('0');
}
+ if (next_stmt_address != null) {
+ bf.append(",next stmt ");
+ bf.append("0x");
+ bf.append(JSON.toBigInteger(next_stmt_address).toString(16));
+ }
if (isa != 0) {
bf.append(",isa ");
bf.append(isa);
diff --git a/docs/TCF Service - Memory Map.html b/docs/TCF Service - Memory Map.html
index c59d7d13b..5f482e8d9 100644
--- a/docs/TCF Service - Memory Map.html
+++ b/docs/TCF Service - Memory Map.html
@@ -157,6 +157,10 @@ E &bull; MemoryMap &bull; changed &bull; <i>&lt;string: context ID&gt;</i> &bull
<font color=#3F5FBF>/** Number, region address in memory */</font>
<font color=#7F0055>static final</font> String PROP_ADDRESS = "Addr";
+ <font color=#3F5FBF>/** Number, region "base address"
+ * <font color=#7F9FBF>@since</font> 1.7 */</font>
+ <font color=#7F0055>static final</font> String PROP_BASE_ADDRESS = "BaseAddress";
+
<font color=#3F5FBF>/** Number, region size */</font>
<font color=#7F0055>static final</font> String PROP_SIZE = "Size";
diff --git a/docs/TCF Service - Run Control.html b/docs/TCF Service - Run Control.html
index 0b434bc06..36c65642f 100644
--- a/docs/TCF Service - Run Control.html
+++ b/docs/TCF Service - Run Control.html
@@ -18,6 +18,7 @@
<li><a href='#CmdSuspend'>Suspend</a>
<li><a href='#CmdResume'>Resume</a>
<li><a href='#CmdGetState'>Get State</a>
+ <li><a href='#CmdGetMinState'>Get Min State</a>
<li><a href='#CmdTerminate'>Terminate</a>
<li><a href='#CmdDetach'>Detach</a>
</ul>
@@ -441,6 +442,29 @@ Definition of state properties depends on a target. Predefined properties are:</
human readable string to be used to decorate context presentation in UI
</ul>
+<h3><a name='CmdGetMinState'>Get Min State</a></h3>
+
+<pre><b><font face="Courier New" size=2 color=#333399>
+C &bull; <i>&lt;token&gt;</i> &bull; RunControl &bull; getMinState &bull; <i>&lt;string: context ID&gt;</i> &bull;
+</font></b></pre>
+
+<p>This command is meant as a "minimal" alternative to the more costly
+<a href='#CmdGetState'>Get State</a> command. Get Min State can be faster, because it does not need to read program counter from the target.
+It can be used as an optimization by clients (e.g. Eclipse GUI) that
+need only minimal information about the run control state of a context,
+i.e. running/suspended and a reason for the latter</p>
+
+<p>Result message:</p>
+
+<pre><b><font face="Courier New" size=2 color=#333399>
+R &bull; <i>&lt;token&gt;</i> &bull; <i>&lt;error report&gt;</i> &bull; <i>&lt;boolean: suspended&gt;</i> &bull;
+ <i>&lt;string: last state change reason&gt;</i> &bull; <i>&lt;state data&gt;</i> &bull;
+
+<i>&lt;state data&gt;</i>
+ &rArr; null
+ &rArr; <i>&lt;object: context state properties&gt;</i>
+</font></b></pre>
+
<h3><a name='CmdTerminate'>Terminate</a></h3>
<pre><b><font face="Courier New" size=2 color=#333399>
@@ -1069,6 +1093,16 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
IToken getState(DoneGetState done);
<font color=#3F5FBF>/**
+ * Send a command to retrieve current state of a context.
+ * Similar to getState, but does not retrieve PC.
+ * With some targets, it can be substantially faster.
+ * <font color=#7F9FBF>@param</font> done - command result call back object.
+ * <font color=#7F9FBF>@return</font> pending command handle, can be used to cancel the command.
+ * <font color=#7F9FBF>@since</font> 1.7
+ */</font>
+ IToken getMinState(DoneGetMinState done);
+
+ <font color=#3F5FBF>/**
* Send a command to suspend a context.
* Also suspends children if context is a container.
* <font color=#7F9FBF>@param</font> done - command result call back object.
@@ -1126,6 +1160,20 @@ E &bull; RunControl &bull; contextStateChanged &bull; <i>&lt;string: context IDs
String reason, Map&lt;String,Object&gt; params);
}
+ <font color=#3F5FBF>/** <font color=#7F9FBF>@since</font> 1.7 */</font>
+ <font color=#7F0055>interface</font> DoneGetMinState {
+ <font color=#3F5FBF>/**
+ * Called when getMinState command execution is complete.
+ * <font color=#7F9FBF>@param</font> token - pending command handle.
+ * <font color=#7F9FBF>@param</font> error - command execution error or null.
+ * <font color=#7F9FBF>@param</font> suspended - true if the context is suspended
+ * <font color=#7F9FBF>@param</font> reason - suspend reason (if suspended), see REASON_*.
+ * <font color=#7F9FBF>@param</font> params - additional target specific data about context state, see STATE_*.
+ */</font>
+ <font color=#7F0055>void</font> doneGetMinState(IToken token, Exception error, <font color=#7F0055>boolean</font> suspended,
+ String reason, Map&lt;String,Object&gt; params);
+ }
+
<font color=#7F0055>interface</font> DoneCommand {
<font color=#3F5FBF>/**
* Called when run control command execution is complete.
diff --git a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
index 2d2201da9..38c0a1743 100644
--- a/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
+++ b/plugins/org.eclipse.tcf.core/src/org/eclipse/tcf/services/IRunControl.java
@@ -549,6 +549,7 @@ public interface IRunControl extends IService {
* With some targets, it can be substantially faster.
* @param done - command result call back object.
* @return pending command handle, can be used to cancel the command.
+ * @since 1.7
*/
IToken getMinState(DoneGetMinState done);
@@ -610,6 +611,7 @@ public interface IRunControl extends IService {
String reason, Map<String,Object> params);
}
+ /** @since 1.7 */
interface DoneGetMinState {
/**
* Called when getMinState command execution is complete.

Back to the top