<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.6000.16643" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@font-face {
        font-family: Consolas;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
LI.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
DIV.MsoNormal {
        FONT-SIZE: 11pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Calibri","sans-serif"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
P.MsoPlainText {
        FONT-SIZE: 10.5pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Consolas; mso-style-priority: 99; mso-style-link: "Plain Text Char"
}
LI.MsoPlainText {
        FONT-SIZE: 10.5pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Consolas; mso-style-priority: 99; mso-style-link: "Plain Text Char"
}
DIV.MsoPlainText {
        FONT-SIZE: 10.5pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: Consolas; mso-style-priority: 99; mso-style-link: "Plain Text Char"
}
P.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
LI.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
DIV.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
SPAN.PlainTextChar {
        FONT-FAMILY: Consolas; mso-style-priority: 99; mso-style-link: "Plain Text"; mso-style-name: "Plain Text Char"
}
SPAN.EmailStyle19 {
        COLOR: windowtext; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal
}
SPAN.BalloonTextChar {
        FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text"; mso-style-name: "Balloon Text Char"
}
.MsoChpDefault {
        mso-style-type: export-only
}
DIV.Section1 {
        page: Section1
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left>
<P><SPAN class=129593412-08052008><FONT face=Arial color=#0000ff size=2>Thanks 
for the quick patch Tomas, works fine!</FONT></SPAN></P>
<P><SPAN class=129593412-08052008><FONT face=Arial color=#0000ff size=2>I found 
it even more useful when&nbsp;I changed the 
<STRONG>DebuggerBrowsableState</STRONG> of the values to 
<STRONG>Collapsed</STRONG> (was <STRONG>Never</STRONG>) in 
<STRONG>RubyScope.cs</STRONG>. With this I can expand and see values of 
ruby-arrays (otherwise the debugger just shows for arrays "</FONT></SPAN><SPAN 
class=129593412-08052008><FONT face=Arial color=#0000ff 
size=2>{Ruby.Builtins.RubyArray}" that is not very useful in itself and cannot 
be expanded):</FONT></SPAN></P>
<P><FONT size=2>[</FONT><FONT color=#2b91af size=2>DebuggerDisplay</FONT><FONT 
size=2>(</FONT><FONT color=#a31515 size=2>"{_value}"</FONT><FONT size=2>, Name = 
</FONT><FONT color=#a31515 size=2>"{_name,nq}"</FONT><FONT size=2>, Type = 
</FONT><FONT color=#a31515 size=2>"{_valueClassName,nq}"</FONT><FONT 
size=2>)]<BR></FONT><FONT color=#0000ff size=2>internal</FONT><FONT size=2> 
</FONT><FONT color=#0000ff size=2>struct</FONT><FONT size=2> </FONT><FONT 
color=#2b91af size=2>VariableView</FONT><FONT size=2> {<BR>[</FONT><FONT 
color=#2b91af size=2>DebuggerBrowsable</FONT><FONT size=2>(</FONT><FONT 
color=#2b91af size=2>DebuggerBrowsableState</FONT><FONT 
size=2>.Never)]<BR></FONT><FONT color=#0000ff size=2>private</FONT><FONT size=2> 
</FONT><FONT color=#0000ff size=2>readonly</FONT><FONT size=2> </FONT><FONT 
color=#0000ff size=2>string</FONT><FONT color=#008000 size=2>/*!*/</FONT><FONT 
size=2> _name;<BR>[</FONT><FONT color=#2b91af 
size=2>DebuggerBrowsable</FONT><FONT size=2>(</FONT><FONT color=#2b91af 
size=2>DebuggerBrowsableState</FONT><FONT size=2>.<STRONG>Collapsed</STRONG>)] 
</FONT><FONT color=#008000 size=2>// Was: Never<BR></FONT><FONT color=#0000ff 
size=2>private</FONT><FONT size=2> </FONT><FONT color=#0000ff 
size=2>readonly</FONT><FONT size=2> </FONT><FONT color=#0000ff 
size=2>object</FONT><FONT size=2> _value;<BR>[</FONT><FONT color=#2b91af 
size=2>DebuggerBrowsable</FONT><FONT size=2>(</FONT><FONT color=#2b91af 
size=2>DebuggerBrowsableState</FONT><FONT size=2>.Never)]<BR></FONT><FONT 
color=#0000ff size=2>private</FONT><FONT size=2> </FONT><FONT color=#0000ff 
size=2>readonly</FONT><FONT size=2> </FONT><FONT color=#0000ff 
size=2>string</FONT><FONT color=#008000 size=2>/*!*/</FONT><FONT size=2> 
_valueClassName;<BR></FONT><FONT color=#0000ff size=2>public</FONT><FONT size=2> 
VariableView(</FONT><FONT color=#0000ff size=2>string</FONT><FONT color=#008000 
size=2>/*!*/</FONT><FONT size=2> name, </FONT><FONT color=#0000ff 
size=2>object</FONT><FONT size=2> value, </FONT><FONT color=#0000ff 
size=2>string</FONT><FONT color=#008000 size=2>/*!*/</FONT><FONT size=2> 
valueClassName) {<BR>_name = name;<BR>_value = value;<BR>_valueClassName = 
valueClassName;<BR>}<BR>}</P></FONT></DIV>
<DIV align=left><B><FONT size=2>
<P>Robert Brotherus<BR></B>Software architect<BR><B>Napa 
Ltd<BR></B>Tammasaarenkatu 3, Helsinki FI-00180<BR>P.O.Box 470, Helsinki 
FI-00181<BR><BR>Tel. +358 9 22 813 1 <BR>Direct. +358 9 22 813 611 <BR>GSM +358 
45 11&nbsp;456 02 <BR>Fax. +358 9 22 813 800 <BR><BR>Email: </FONT><A 
href="mailto:Robert.Brotherus@napa.fi"><U><FONT color=#0000ff 
size=2>Robert.Brotherus@napa.fi</U></FONT></A><FONT size=2> <BR></FONT><A 
href="http://www.napa.fi/"><U><FONT color=#0000ff 
size=2>www.napa.fi</U></FONT></A><FONT size=2> <BR></P></FONT></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> ironruby-core-bounces@rubyforge.org 
[mailto:ironruby-core-bounces@rubyforge.org] <B>On Behalf Of </B>Tomas 
Matousek<BR><B>Sent:</B> 6. toukokuuta 2008 10:34<BR><B>To:</B> IronRuby 
External Code Reviewers<BR><B>Cc:</B> 
ironruby-core@rubyforge.org<BR><B>Subject:</B> [Ironruby-core] Code Review: 
RubyScopeDebugView<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoPlainText>tfpt review 
/shelveset:RubyScopeDebugView;REDMOND\tomat<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P>
<P class=MsoNormal>Implements DebuggerProxyType for RubyScope so that locals and 
scope attributes display nicely in watches.<o:p></o:p></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><IMG id=Picture_x0020_2 height=169 
src="cid:129593412@08052008-1EBB" width=784><o:p></o:p></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">def 
foo<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp; a = 
1<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp; b = 
2<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp; 
<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp; 1.times 
{<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp;&nbsp;&nbsp; <SPAN 
style="BACKGROUND: yellow; mso-highlight: yellow">c = a + 
b</SPAN><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">&nbsp; }&nbsp; 
<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">end<o:p></o:p></SPAN></P>
<P class=MsoNormal>foo<o:p></o:p></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal>Notice the Ruby class name in the third column 
8-)<o:p></o:p></P>
<P class=MsoNormal><o:p>&nbsp;</o:p></P>
<P class=MsoNormal>Tomas<o:p></o:p></P>
<P class=MsoPlainText><o:p>&nbsp;</o:p></P></DIV></BODY></HTML>