From 2dfb046061d53f161ec1d1906648c2bfecdee6e1 Mon Sep 17 00:00:00 2001
From: Alain Magloire <alain@qnx.com>
Date: Thu, 28 Oct 2004 17:09:02 +0000
Subject: [PATCH] 2004-10-28 Alain Magloire 	Add getType() method. 	*
 cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java 	*
 cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java

---
 debug/org.eclipse.cdt.debug.core/ChangeLog         |  5 +++++
 .../cdt/debug/core/cdi/model/ICDIExpression.java   |  9 +++++++++
 .../cdt/debug/core/cdi/model/ICDIValue.java        | 14 ++++++++++++--
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/debug/org.eclipse.cdt.debug.core/ChangeLog b/debug/org.eclipse.cdt.debug.core/ChangeLog
index 79ce307ec2d..538648d4121 100644
--- a/debug/org.eclipse.cdt.debug.core/ChangeLog
+++ b/debug/org.eclipse.cdt.debug.core/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-28 Alain Magloire
+	Add getType() method.
+	* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java
+	* cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java
+
 2004-10-26 Alain Magloire
 	Remove ICDIMemoryManager for ICDIMemoryBlockManagement
 	* cdi/org/eclipse/cdt/debug/core/cdi/ICDISession.java
diff --git a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java
index 6dbbf58ce75..138172fb4e2 100644
--- a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java
+++ b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIExpression.java
@@ -12,6 +12,7 @@
 package org.eclipse.cdt.debug.core.cdi.model;
 
 import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.model.type.ICDIType;
 
 /**
  * An expression is a snippet of code that can be evaluated to 
@@ -46,4 +47,12 @@ public interface ICDIExpression extends ICDIObject {
 	 */
 	ICDIValue getValue(ICDIStackFrame context) throws CDIException;
 
+	/**
+	 * Return the type of this expression
+	 * 
+	 * @param context frame context
+	 * @return
+	 * @throws CDIException
+	 */
+	ICDIType getType(ICDIStackFrame context) throws CDIException;
 }
diff --git a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java
index afd697383c2..c071585b541 100644
--- a/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java
+++ b/debug/org.eclipse.cdt.debug.core/cdi/org/eclipse/cdt/debug/core/cdi/model/ICDIValue.java
@@ -12,6 +12,7 @@
 package org.eclipse.cdt.debug.core.cdi.model;
 
 import org.eclipse.cdt.debug.core.cdi.CDIException;
+import org.eclipse.cdt.debug.core.cdi.model.type.ICDIType;
 
 /**
  * 
@@ -28,7 +29,15 @@ public interface ICDIValue extends ICDIObject {
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
 	String getTypeName() throws CDIException;
-	
+
+	/**
+	 * Return the type of this value.
+	 * 
+	 * @return
+	 * @throws CDIException
+	 */
+	ICDIType getType() throws CDIException;
+
 	/**
 	 * Returns this value as a <code>String</code>.
 	 *
@@ -55,5 +64,6 @@ public interface ICDIValue extends ICDIObject {
 	 * @return an array of variables
 	 * @throws CDIException if this method fails.  Reasons include:
 	 */
-	ICDIVariable[] getVariables() throws CDIException;	
+	ICDIVariable[] getVariables() throws CDIException;
+
 }