<html>
<head>
<style><!--
body {background-color:#ffffff;}
.file {border:1px solid #eeeeee;margin-top:1em;margin-bottom:1em;}
.pathname {font-family:monospace; float:right;}
.fileheader {margin-bottom:.5em;}
.diff {margin:0;}
.tasklist {padding:4px;border:1px dashed #000000;margin-top:1em;}
.tasklist ul {margin-top:0;margin-bottom:0;}
tr.alt {background-color:#eeeeee}
#added {background-color:#ddffdd;}
#addedchars {background-color:#99ff99;font-weight:bolder;}
tr.alt #added {background-color:#ccf7cc;}
#removed {background-color:#ffdddd;}
#removedchars {background-color:#ff9999;font-weight:bolder;}
tr.alt #removed {background-color:#f7cccc;}
#copied {background-color:#ccccff;}
tr.alt #copied {background-color:#bbbbf7;}
#info {color:#888888;}
#context {background-color:#eeeeee;}
td {padding-left:.3em;padding-right:.3em;}
tr.head {border-bottom-width:1px;border-bottom-style:solid;}
tr.head td {padding:0;padding-top:.2em;}
.task {background-color:#ffff00;}
.comment {white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap;word-wrap:break-word;padding:4px;border:1px dashed #000000;background-color:#ffffdd}
.error {color:red;}
hr {border-width:0px;height:2px;background:black;}
--></style>
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0" rules="cols">
<tr class="head"><td colspan="5">Commit in <b><tt>as2api/trunk/as2api</tt></b></td></tr>
<tr><td><tt>lib/<a href="#file1">api_loader.rb</a></tt> </td><td></td><td align="right" id="added">+65</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr class="alt"><td><tt> /<a href="#file2">doc_comment.rb</a></tt> </td><td></td><td align="right" id="added">+15</td><td align="right" id="removed">-9</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr><td><tt>lib/output/diff/<a href="#file3">api_deserializer.rb</a></tt> </td><td></td><td align="right" id="added">+21</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr class="alt"><td><tt> /<a href="#file4">api_serializer.rb</a></tt> </td><td></td><td align="right" id="added">+22</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr><td><tt> /<a href="#file5">api_xml_reader.rb</a></tt> </td><td></td><td align="right" id="added">+20</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr class="alt"><td><tt>lib/output/html/<a href="#file6">html_framework.rb</a></tt> </td><td></td><td align="right" id="added">+31</td><td align="right" id="removed">-45</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr><td><tt>test/<a href="#file7">tc_api_serializer.rb</a></tt> </td><td></td><td align="right" id="added">+2</td><td align="right" id="removed">-2</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr class="alt"><td><tt> /<a href="#file8">tc_doc_comment.rb</a></tt> </td><td></td><td align="right" id="added">+11</td><td align="right" id="removed">-4</td><td nowrap="nowrap" align="center">369 -> 370</td></tr>
<tr><td></td><td></td><td align="right" id="added">+187</td><td align="right" id="removed">-74</td><td></td></tr>
</table>
<small id="info">8 modified files</small><br />
<div class="tasklist"><ul>
<li><a href="#task1">TODO: should report failures to resolve member refs during type</a></li>
<li><a href="#task2">FIXME: need to handle any link-text in the tag</a></li>
</ul></div>
<pre class="comment">
Smarter references to fields and methods make for improved formmating in the output
</pre>
<hr /><a name="file1" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib</span><br />
<div class="fileheader"><big><b>api_loader.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/api_loader.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/api_loader.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -372,12 +372,22 @@
</small></pre><pre class="diff" id="context"> @name =~ /\./
end
</pre><pre class="diff" id="added">+ def ref_method(method_name, lineno)
+ MethodRef.new(self, method_name, lineno)
+ end
+
+ def ref_field(field_name, lineno)
+ FieldRef.new(self, field_name, lineno)
+ end
+
</pre><pre class="diff" id="context"> def ==(o)
# note that types are considered to be equal here if they have the same
# name; we don't recursively compare their whole subgraphs
!o.nil? && name==o.name &&
</pre><pre class="diff" id="removed">- ((containing_type.nil? && o.containing_type.nil? ) || (containing_type.qualified_name == o.containing_type.qualified_name)) &&
- ((resolved_type.nil? && o.resolved_type.nil?) || (resolved_type.qualified_name == o.resolved_type.qualified_name)) &&
</pre><pre class="diff" id="added">+ (containing_type.nil? == o.containing_type.nil?) &&
+ (containing_type.nil? || containing_type.qualified_name == o.containing_type.qualified_name) &&
+ (resolved_type.nil? == o.resolved_type.nil?) &&
+ (resolved_type.nil? || resolved_type.qualified_name == o.resolved_type.qualified_name) &&
</pre><pre class="diff" id="context"> lineno==o.lineno
end
</pre><pre class="diff"><small id="info">@@ -387,6 +397,56 @@
</small></pre><pre class="diff" id="context"> end
</pre><pre class="diff" id="added">+# A reference, by name, to a member of a type, which may or may not actually
+# exist. See MethodRef and FieldRef for concrete implementations.
+class MemberRef
+ def initialize(type_ref, member_name, lineno)
+ @type_ref = type_ref
+ @member_name = member_name
+ @lineno = lineno
+ end
+
+ attr_reader :member_name
+
+ def type_local_name
+ @type_ref.local_name
+ end
+
+ def type_resolved?
+ @type_ref.resolved?
+ end
+ def resolved_type
+ @type_ref.resolved_type
+ end
+
+ def resolved?
<a name="task1" />+ # <span class="task">TODO</span>: should report failures to resolve member refs during type
+ # resolution
+ type_resolved? && !resolved_member.nil?
+ end
+
+ def ==(o)
+ !o.nil? && member_name == o.member_name && type_local_name == o.type_local_name
+ end
+end
+
+class MethodRef < MemberRef
+ def resolved_method
+ @type_ref.resolved_type.get_method_called(@member_name)
+ end
+
+ def resolved_member; resolved_method; end
+end
+
+class FieldRef < MemberRef
+ def resolved_field
+ @type_ref.resolved_type.get_field_called(@member_name)
+ end
+
+ def resolved_member; resolved_field; end
+end
+
+
</pre><pre class="diff" id="context"> # Resolves type names to instances of TypeRef for a particular compilation
# unit (the same name could refer to different types in different compilation
# units).
</pre><pre class="diff"><small id="info">@@ -394,6 +454,7 @@
</small></pre><pre class="diff" id="context"> def initialize(containing_type)
@containing_type = containing_type
@named_types = {}
</pre><pre class="diff" id="added">+ @ref_to_self = TypeRef.new(containing_type, containing_type.qualified_name)
</pre><pre class="diff" id="context"> end
def ref_to(name, lineno=nil)
</pre><pre class="diff"><small id="info">@@ -411,6 +472,8 @@
</small></pre><pre class="diff" id="context"> type_ref
end
</pre><pre class="diff" id="added">+ attr_reader :ref_to_self
+
</pre><pre class="diff" id="context"> def each
@named_types.each_value do |astype|
yield astype
</pre></div>
<hr /><a name="file2" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib</span><br />
<div class="fileheader"><big><b>doc_comment.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/doc_comment.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/doc_comment.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -219,17 +219,16 @@
</small></pre><pre class="diff" id="context"> end
class LinkTag < Tag
</pre><pre class="diff" id="removed">- def initialize(lineno, target<span id="removedchars">, member</span>, text)
</pre><pre class="diff" id="added">+ def initialize(lineno, target<span id="addedchars">_ref</span>, text)
</pre><pre class="diff" id="context"> super(lineno)
</pre><pre class="diff" id="removed">- @target = target
- @member = member
</pre><pre class="diff" id="added">+ @target_ref = target_ref
</pre><pre class="diff" id="context"> @text = text
end
</pre><pre class="diff" id="removed">- attr_accessor :target<span id="removedchars">, :member</span>, :text
</pre><pre class="diff" id="added">+ attr_accessor :target<span id="addedchars">_ref</span>, :text
</pre><pre class="diff" id="context">
def ==(o)
</pre><pre class="diff" id="removed">- super(o) && member==o.member && text==o.text && target==o.target
</pre><pre class="diff" id="added">+ super(o) && text==o.text && target_ref==o.target_ref
</pre><pre class="diff" id="context"> end
end
</pre><pre class="diff"><small id="info">@@ -321,8 +320,6 @@
</small></pre><pre class="diff" id="context"> if text =~ /^\s*([^()\s]+(?:\([^\)]*\))?)\s*(.+)?/m
target = $1
text = $2
</pre><pre class="diff" id="removed">- # TODO: need a MemberRef (and maybe Method+Field subclasses) with similar
- # role to TypeRef, to simplify this, and output_doccomment_inlinetag
</pre><pre class="diff" id="context"> if target =~ /([^#]*)#(.*)/
type_name = $1
member_name = $2
</pre><pre class="diff"><small id="info">@@ -331,11 +328,20 @@
</small></pre><pre class="diff" id="context"> member_name = nil
end
if type_name == ""
</pre><pre class="diff" id="removed">- type_ref = nil
</pre><pre class="diff" id="added">+ type_ref = type_namespace.ref_to_self
</pre><pre class="diff" id="context"> else
type_ref = type_namespace.ref_to(type_name, lineno)
end
</pre><pre class="diff" id="removed">- return LinkTag.new(lineno, type_ref, member_name, text)
</pre><pre class="diff" id="added">+ if member_name
+ if member_name =~ /\(/
+        target_ref = type_ref.ref_method($`, lineno)
+ else
+        target_ref = type_ref.ref_field(member_name, lineno)
+ end
+ else
+ target_ref = type_ref
+ end
+ return LinkTag.new(lineno, target_ref, text)
</pre><pre class="diff" id="context"> end
return nil
end
</pre></div>
<hr /><a name="file3" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib/output/diff</span><br />
<div class="fileheader"><big><b>api_deserializer.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/output/diff/api_deserializer.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/output/diff/api_deserializer.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -166,13 +166,22 @@
</small></pre><pre class="diff" id="context"> pop_text_handler
end
</pre><pre class="diff" id="removed">- def start_see(type, member)
</pre><pre class="diff" id="added">+ def start_see(type, <span id="addedchars">kind, </span>member)
</pre><pre class="diff" id="context"> @current_comment_block = SeeBlockTag.new
push_text_handler(SeeBlockTextHandler.new(@current_comment_block))
lineno = 0
type_ref = ref_to(type) if type
</pre><pre class="diff" id="added">+ ref = nil
+ case kind
+        when :method
+         ref = type_ref.ref_method(member, nil)
+        when :field
+         ref = type_ref.ref_field(member, nil)
+        else
+         ref = type_ref
+ end
</pre><pre class="diff" id="context"> text = nil
</pre><pre class="diff" id="removed">- @current_comment_block.add_inline(LinkTag.new(lineno, <span id="removedchars">type_ref, member</span>, text))
</pre><pre class="diff" id="added">+ @current_comment_block.add_inline(LinkTag.new(lineno, <span id="addedchars">ref</span>, text))
</pre><pre class="diff" id="context"> end
def end_see
</pre><pre class="diff"><small id="info">@@ -182,11 +191,19 @@
</small></pre><pre class="diff" id="context"> @current_comment_block = nil
pop_text_handler
end
</pre><pre class="diff" id="removed">- def start_link(type, member)
</pre><pre class="diff" id="added">+ def start_link(type, <span id="addedchars">kind, </span>member)
</pre><pre class="diff" id="context"> lineno = 0
type_ref = ref_to(type) if type
</pre><pre class="diff" id="added">+ case kind
+        when :method
+         ref = type_ref.ref_method(member, nil)
+        when :field
+         ref = type_ref.ref_field(member, nil)
+        else
+         ref = type_ref
+ end
</pre><pre class="diff" id="context"> text = nil
</pre><pre class="diff" id="removed">- link_tag = LinkTag.new(lineno, <span id="removedchars">type_ref, member</span>, text)
</pre><pre class="diff" id="added">+ link_tag = LinkTag.new(lineno, <span id="addedchars">ref</span>, text)
</pre><pre class="diff" id="context"> push_text_handler(LinkBlockTextHandler.new(link_tag))
@current_comment_block.add_inline(link_tag)
end
</pre></div>
<hr /><a name="file4" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib/output/diff</span><br />
<div class="fileheader"><big><b>api_serializer.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/output/diff/api_serializer.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/output/diff/api_serializer.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -188,8 +188,17 @@
</small></pre><pre class="diff" id="context"> def serialize_seealso(seealso)
link = seealso.inlines.first
attrs = {}
</pre><pre class="diff" id="removed">- attrs["type"]=link.target.local_name if link.target
- attrs["member"]=link.member if link.member
</pre><pre class="diff" id="added">+ ref = link.target_ref
+ case ref
+ when TypeRef
+        attrs["type"]=ref.local_name
+ when MethodRef
+        attrs["type"]=ref.type_local_name
+        attrs["method"]=ref.member_name
+ when FieldRef
+        attrs["type"]=ref.type_local_name
+        attrs["field"]=ref.member_name
+ end
</pre><pre class="diff" id="context"> if link.text && link.text!=""
api_see(link.text, attrs)
else
</pre><pre class="diff"><small id="info">@@ -212,8 +221,17 @@
</small></pre><pre class="diff" id="context">
def serialize_link_tag(link)
attrs = {}
</pre><pre class="diff" id="removed">- attrs["type"]=link.target.local_name if link.target
- attrs["member"]=link.member if link.member
</pre><pre class="diff" id="added">+ ref = link.target_ref
+ case ref
+ when TypeRef
+        attrs["type"]=ref.local_name
+ when MethodRef
+        attrs["type"]=ref.type_local_name
+        attrs["method"]=ref.member_name
+ when FieldRef
+        attrs["type"]=ref.type_local_name
+        attrs["field"]=ref.member_name
+ end
</pre><pre class="diff" id="context"> if link.text && link.text!=""
api_link(link.text, attrs)
else
</pre></div>
<hr /><a name="file5" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib/output/diff</span><br />
<div class="fileheader"><big><b>api_xml_reader.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/output/diff/api_xml_reader.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/output/diff/api_xml_reader.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -52,9 +52,25 @@
</small></pre><pre class="diff" id="context"> when "description"
        @listener.start_description
when "see"
</pre><pre class="diff" id="removed">-        @listener.start_see(attrs["type"], attrs["member"])
</pre><pre class="diff" id="added">+        kind = member = nil
+        if attrs["method"]
+         kind = :method
+         member = attrs["method"]
+        elsif attrs["field"]
+         kind = :field
+         member = attrs["field"]
+        end
+        @listener.start_see(attrs["type"], kind, member)
</pre><pre class="diff" id="context"> when "link"
</pre><pre class="diff" id="removed">-        @listener.start_link(attrs["type"], attrs["member"])
</pre><pre class="diff" id="added">+        kind = member = nil
+        if attrs["method"]
+         kind = :method
+         member = attrs["method"]
+        elsif attrs["field"]
+         kind = :field
+         member = attrs["field"]
+        end
+        @listener.start_link(attrs["type"], kind, member)
</pre><pre class="diff" id="context"> when "implements"
        @listener.implements(attrs["interface"])
when "constructor"
</pre><pre class="diff"><small id="info">@@ -113,9 +129,9 @@
</small></pre><pre class="diff" id="context"> def end_annotation; end
def start_description; end
def end_description; end
</pre><pre class="diff" id="removed">- def start_see(type, member); end
</pre><pre class="diff" id="added">+ def start_see(type, <span id="addedchars">kind, </span>member); end
</pre><pre class="diff" id="context"> def end_see; end
</pre><pre class="diff" id="removed">- def start_link(type, member); end
</pre><pre class="diff" id="added">+ def start_link(type, <span id="addedchars">kind, </span>member); end
</pre><pre class="diff" id="context"> def end_link; end
def implements(interface); end
def start_constructor; end
</pre></div>
<hr /><a name="file6" /><div class="file">
<span class="pathname">as2api/trunk/as2api/lib/output/html</span><br />
<div class="fileheader"><big><b>html_framework.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/lib/output/html/html_framework.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/lib/output/html/html_framework.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -300,19 +300,31 @@
</small></pre><pre class="diff" id="context">
def link_method(method)
sig = signature_for_method(method)
</pre><pre class="diff" id="added">+ attrs = {"title"=>sig}
</pre><pre class="diff" id="context"> if method.containing_type.document?
</pre><pre class="diff" id="removed">- html_a("href"=>link_for_method(method), "title"=>sig) do
</pre><pre class="diff" id="added">+ attrs["href"] = link_for_method(method)
+ attrs["class"] = "method_name"
+ html_a(attrs) do
</pre><pre class="diff" id="context">         pcdata(method.name)
        pcdata("()")
end
else
</pre><pre class="diff" id="removed">- html_span("title"=>sig) do
</pre><pre class="diff" id="added">+ attrs["class"] = "method_name undocumented"
+ html_span(attrs) do
</pre><pre class="diff" id="context">         pcdata(method.name)
        pcdata("()")
end
end
end
</pre><pre class="diff" id="added">+ def link_method_ref(method_ref)
+ if method_ref.resolved?
+ link_method(method_ref.resolved_method)
+ else
+ html_span(method_ref.member_name, {"class"=>"unresolved method_name"})
+ end
+ end
+
</pre><pre class="diff" id="context"> def signature_for_field(field)
sig = ""
if field.access.static?
</pre><pre class="diff"><small id="info">@@ -355,6 +367,14 @@
</small></pre><pre class="diff" id="context"> end
end
</pre><pre class="diff" id="added">+ def link_field_ref(field_ref)
+ if field_ref.resolved?
+ link_field(field_ref.resolved_field)
+ else
+ html_span(field_ref.member_name, {"class"=>"unresolved field_name"})
+ end
+ end
+
</pre><pre class="diff" id="context"> def base_path(file)
return file if @path_name.nil?
((".."+File::SEPARATOR) * @path_name.split(File::SEPARATOR).length) + file
</pre><pre class="diff"><small id="info">@@ -442,50 +462,16 @@
</small></pre><pre class="diff" id="context"> end
def output_doccomment_linktag(inline)
</pre><pre class="diff" id="removed">- # FIXME: Seem to have missed generating title attribute in several cases,
- if inline.target && inline.member
- if inline.target.resolved?
-        href = link_for_type(inline.target.resolved_type)
-        if href
-         if inline.member =~ /\(/
-         target = "##{$`}"
-         else
-         target = "##{inline.member}"
-         end
-         href << target
-         html_a("href"=>href) do
-         if inline.text && inline.text!=""
-         pcdata(inline.text)
-         else
-         pcdata("#{inline.target.name}.#{inline.member}")
-         end
-         end
-        else
-         if inline.text && inline.text!=""
-         pcdata(inline.text)
-         else
-         pcdata("#{inline.target.name}.#{inline.member}")
-         end
-        end
- else
-        pcdata("#{inline.target.name}##{inline.member}")
- end
- elsif inline.target
- # FIXME: doesn't handle case where we have some link text
- link_type_ref(inline.target)
</pre><pre class="diff" id="added">+ ref = inline.target_ref
<a name="task2" />+ # <span class="task">FIXME</span>: need to handle any link-text in the tag
+ if ref.is_a?(TypeRef)
+ link_type_ref(ref)
+ elsif ref.is_a?(MethodRef)
+ link_method_ref(ref)
+ elsif ref.is_a?(FieldRef)
+ link_field_ref(ref)
</pre><pre class="diff" id="context"> else
</pre><pre class="diff" id="removed">- if inline.member =~ /\(/
- target = "##{$`}"
- else
- target = "##{inline.member}"
- end
- html_a("href"=>target) do
-        if inline.text && inline.text!=""
-         pcdata(inline.text)
-        else
-         pcdata(inline.member)
-        end
- end
</pre><pre class="diff" id="added">+ raise "unhandled ref type #{ref.class.name}"
</pre><pre class="diff" id="context"> end
end
</pre></div>
<hr /><a name="file7" /><div class="file">
<span class="pathname">as2api/trunk/as2api/test</span><br />
<div class="fileheader"><big><b>tc_api_serializer.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/test/tc_api_serializer.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/test/tc_api_serializer.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -123,8 +123,8 @@
</small></pre><pre class="diff" id="context"> expected_block.inlines.each_with_index do |expected_inline, index|
actual_inline = actual_block.inlines[index]
actual_inline.lineno = expected_inline.lineno if expected_inline.respond_to?(:lineno)
</pre><pre class="diff" id="removed">- if expected_inline.respond_to?(:target) && expected_inline.target
-        actual_inline.target.lineno = expected_inline.target.lineno
</pre><pre class="diff" id="added">+ if expected_inline.respond_to?(:target_ref) && expected_inline.target_ref && expected_inline.target_ref.respond_to?(:lineno)
+        actual_inline.target_ref.lineno = expected_inline.target_ref.lineno
</pre><pre class="diff" id="context"> end
end
assert_equal(expected_block, actual_block)
</pre></div>
<hr /><a name="file8" /><div class="file">
<span class="pathname">as2api/trunk/as2api/test</span><br />
<div class="fileheader"><big><b>tc_doc_comment.rb</b></big> <small id="info">369 -> 370</small></div>
<pre class="diff"><small id="info">--- trunk/as2api/test/tc_doc_comment.rb        2006-04-03 21:45:41 UTC (rev 369)
+++ trunk/as2api/test/tc_doc_comment.rb        2006-04-04 21:25:19 UTC (rev 370)
@@ -21,6 +21,11 @@
</small></pre><pre class="diff" id="context"> require 'api_loader'
class TC_DocComment < Test::Unit::TestCase
</pre><pre class="diff" id="added">+
+ def setup
+ @my_class = ASClass.new("com.example", "MyClass")
+ end
+
</pre><pre class="diff" id="context"> def test_description()
text = "foo bar\n *blat\n * @param foo bar\n blat ping pong\n *"
comment_data = parse_it(text)
</pre><pre class="diff"><small id="info">@@ -51,9 +56,9 @@
</small></pre><pre class="diff" id="context"> comment_data = parse_it(text)
assert(comment_data.has_seealso?, "should have @see tag")
expected = SeeBlockTag.new
</pre><pre class="diff" id="removed">- type_ref = TypeRef.new(<span id="removedchars">nil</span>, "foo")
</pre><pre class="diff" id="added">+ type_ref = TypeRef.new(<span id="addedchars">@my_class</span>, "foo")
</pre><pre class="diff" id="context"> type_ref.lineno=2
</pre><pre class="diff" id="removed">- link = LinkTag.new(2, type_ref, <span id="removedchars">nil, </span>"bar\n blat\n")
</pre><pre class="diff" id="added">+ link = LinkTag.new(2, type_ref, "bar\n blat\n")
</pre><pre class="diff" id="context"> link.lineno=2
expected.add_inline(link)
assert_equal(expected, comment_data[1])
</pre><pre class="diff"><small id="info">@@ -66,7 +71,9 @@
</small></pre><pre class="diff" id="context"> actual = comment_data[1]
assert(actual.is_a?(SeeBlockTag), "should have @see tag")
expected = SeeBlockTag.new
</pre><pre class="diff" id="removed">- link = LinkTag.new(2, nil, "foo()", "</p>\n")
</pre><pre class="diff" id="added">+ type_ref = TypeRef.new(@my_class, @my_class.qualified_name)
+ method_ref = MethodRef.new(type_ref, "foo", 2)
+ link = LinkTag.new(2, method_ref, "</p>\n")
</pre><pre class="diff" id="context"> link.lineno=2
expected.add_inline(link)
assert_equal(expected, actual)
</pre><pre class="diff"><small id="info">@@ -103,7 +110,7 @@
</small></pre><pre class="diff" id="context"> parser = ActionScript::ParseDoc::DocCommentParser.new(lexer)
parse_conf_build = ConfigBuilder.new
config = parse_conf_build.build_method_config
</pre><pre class="diff" id="removed">- type_namespace = TypeLocalNamespace.new(<span id="removedchars">nil</span>)
</pre><pre class="diff" id="added">+ type_namespace = TypeLocalNamespace.new(<span id="addedchars">@my_class</span>)
</pre><pre class="diff" id="context"> handler = OurDocCommentHandler.new(comment_data, config, type_namespace)
parser.handler = handler
</pre></div>
<center><small><a href="http://www.badgers-in-foil.co.uk/projects/cvsspam/" title="commit -> email">CVSspam</a> 0.2.12</small></center>
</body></html>