<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -15,8 +15,14 @@ module Simplabs
           super
           @receiver  = if exp[1].is_a?(Sexp) &amp;&amp; exp[1].node_type == :colon2
             resolve_colon(exp[1])
+          elsif exp[1].is_a?(Sexp)
+            if exp[1].node_type != :call
+              exp[1][1].nil? ? exp[1][2].to_s : exp[1][1].to_s
+            else
+              nil
+            end
           else
-            exp[1].is_a?(Sexp) ? (exp[1][1].nil? ? exp[1][2].to_s : exp[1][1].to_s) : nil
+            nil
           end
           @method    = exp[2].to_s
           @full_name = [@receiver, @method].compact.join('.')</diff>
      <filename>lib/simplabs/excellent/parsing/call_context.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,6 +1,6 @@
 [  3] CallContext: | require | [:call, nil, :require, [:arglist, [:call, [:const, :File], :expand_path, [:arglist, [:call, [:call, [:const, :File], :dirname, [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :+, [:arglist, [:str, &quot;/spec_helper&quot;]]]]]]]
 [  1] CallContext: | File.expand_path | [:call, [:const, :File], :expand_path, [:arglist, [:call, [:call, [:const, :File], :dirname, [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :+, [:arglist, [:str, &quot;/spec_helper&quot;]]]]]
-[  1] CallContext: | s(:const, :File).+ | [:call, [:call, [:const, :File], :dirname, [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :+, [:arglist, [:str, &quot;/spec_helper&quot;]]]
+[  1] CallContext: | + | [:call, [:call, [:const, :File], :dirname, [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :+, [:arglist, [:str, &quot;/spec_helper&quot;]]]
 [  1] CallContext: | File.dirname | [:call, [:const, :File], :dirname, [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]]
 [  5] CallContext: | require | [:call, nil, :require, [:arglist, [:str, &quot;simplabs/excellent/locparser&quot;]]]
 [  5] BlockContext: | block | [:iter, [:call, nil, :describe, [:arglist, [:colon2, [:colon2, [:const, :Simplabs], :Excellent], :LOCParser]]], nil, [:iter, [:call, nil, :describe, [:arglist, [:str, &quot;#count&quot;]]], nil, [:iter, [:call, nil, :it, [:arglist, [:str, &quot;should correctly count the lines&quot;]]], nil, [:block, [:lasgn, :loc_parser, [:call, [:colon2, [:colon2, [:const, :Simplabs], :Excellent], :LOCParser], :new, [:arglist, [:array, [:str, &quot;loc_parser_1.rb&quot;]]]]], [:lasgn, :count, [:call, [:lvar, :loc_parser], :count, [:arglist]]], [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]], :should, [:arglist]], :==, [:arglist, [14]]], [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]], :should, [:arglist]], :==, [:arglist, [1]]], [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]], :should, [:arglist]], :==, [:arglist, [6]]], [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]], :should, [:arglist]], :==, [:arglist, [21]]]]]]]
@@ -11,19 +11,19 @@
 [ 10] CallContext: | it | [:call, nil, :it, [:arglist, [:str, &quot;should correctly count the lines&quot;]]]
 [ 11] CallContext: | Simplabs::Excellent::LOCParser.new | [:call, [:colon2, [:colon2, [:const, :Simplabs], :Excellent], :LOCParser], :new, [:arglist, [:array, [:str, &quot;loc_parser_1.rb&quot;]]]]
 [ 12] CallContext: | loc_parser.count | [:call, [:lvar, :loc_parser], :count, [:arglist]]
-[ 13] CallContext: | s(:call, s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))), :[], s(:arglist, s(:lit, :code))).== | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]], :should, [:arglist]], :==, [:arglist, [14]]]
-[ 13] CallContext: | s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))).should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]], :should, [:arglist]]
-[ 13] CallContext: | s(:lvar, :count).[] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]]
+[ 13] CallContext: | == | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]], :should, [:arglist]], :==, [:arglist, [14]]]
+[ 13] CallContext: | should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]], :should, [:arglist]]
+[ 13] CallContext: | [] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:code]]]
 [ 13] CallContext: | count.[] | [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]]
-[ 14] CallContext: | s(:call, s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))), :[], s(:arglist, s(:lit, :comment))).== | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]], :should, [:arglist]], :==, [:arglist, [1]]]
-[ 14] CallContext: | s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))).should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]], :should, [:arglist]]
-[ 14] CallContext: | s(:lvar, :count).[] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]]
+[ 14] CallContext: | == | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]], :should, [:arglist]], :==, [:arglist, [1]]]
+[ 14] CallContext: | should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]], :should, [:arglist]]
+[ 14] CallContext: | [] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:comment]]]
 [ 14] CallContext: | count.[] | [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]]
-[ 15] CallContext: | s(:call, s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))), :[], s(:arglist, s(:lit, :blank))).== | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]], :should, [:arglist]], :==, [:arglist, [6]]]
-[ 15] CallContext: | s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))).should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]], :should, [:arglist]]
-[ 15] CallContext: | s(:lvar, :count).[] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]]
+[ 15] CallContext: | == | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]], :should, [:arglist]], :==, [:arglist, [6]]]
+[ 15] CallContext: | should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]], :should, [:arglist]]
+[ 15] CallContext: | [] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:blank]]]
 [ 15] CallContext: | count.[] | [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]]
-[ 16] CallContext: | s(:call, s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))), :[], s(:arglist, s(:lit, :total))).== | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]], :should, [:arglist]], :==, [:arglist, [21]]]
-[ 16] CallContext: | s(:call, s(:lvar, :count), :[], s(:arglist, s(:str, &quot;loc_parser_1.rb&quot;))).should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]], :should, [:arglist]]
-[ 16] CallContext: | s(:lvar, :count).[] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]]
+[ 16] CallContext: | == | [:call, [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]], :should, [:arglist]], :==, [:arglist, [21]]]
+[ 16] CallContext: | should | [:call, [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]], :should, [:arglist]]
+[ 16] CallContext: | [] | [:call, [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]], :[], [:arglist, [:total]]]
 [ 16] CallContext: | count.[] | [:call, [:lvar, :count], :[], [:arglist, [:str, &quot;loc_parser_1.rb&quot;]]]
\ No newline at end of file</diff>
      <filename>spec/data/example_1_contexts_representation.rb</filename>
    </modified>
    <modified>
      <diff>@@ -15,11 +15,11 @@
 [ 49] IvarContext: | @warnings | [:ivar, :@warnings]
 [ 49] CallContext: | Simplabs::Excellent::Warning.new | [:call, [:colon2, [:colon2, [:const, :Simplabs], :Excellent], :Warning], :new, [:arglist, [:lvar, :klass], [:lvar, :message], [:call, [:lvar, :context], :file, [:arglist]], [:call, [:call, [:lvar, :context], :line, [:arglist]], :+, [:arglist, [:lvar, :offset]]], [:lvar, :info]]]
 [ 49] CallContext: | context.file | [:call, [:lvar, :context], :file, [:arglist]]
-[ 49] CallContext: | s(:lvar, :context).+ | [:call, [:call, [:lvar, :context], :line, [:arglist]], :+, [:arglist, [:lvar, :offset]]]
+[ 49] CallContext: | + | [:call, [:call, [:lvar, :context], :line, [:arglist]], :+, [:arglist, [:lvar, :offset]]]
 [ 49] CallContext: | context.line | [:call, [:lvar, :context], :line, [:arglist]]
 [ 52] MethodContext: | Simplabs::Excellent::Checks::Base#warnings_for | [:defn, :warnings_for, [:args, :filename], [:scope, [:block, [:iter, [:call, [:call, nil, :warnings, [:arglist]], :select, [:arglist]], [:lasgn, :warning], [:call, [:call, [:lvar, :warning], :filename, [:arglist]], :==, [:arglist, [:lvar, :filename]]]]]]]
 [ 53] BlockContext: | block | [:iter, [:call, [:call, nil, :warnings, [:arglist]], :select, [:arglist]], [:lasgn, :warning], [:call, [:call, [:lvar, :warning], :filename, [:arglist]], :==, [:arglist, [:lvar, :filename]]]]
-[ 53] CallContext: | warnings.select | [:call, [:call, nil, :warnings, [:arglist]], :select, [:arglist]]
+[ 53] CallContext: | select | [:call, [:call, nil, :warnings, [:arglist]], :select, [:arglist]]
 [ 53] CallContext: | warnings | [:call, nil, :warnings, [:arglist]]
-[ 53] CallContext: | s(:lvar, :warning).== | [:call, [:call, [:lvar, :warning], :filename, [:arglist]], :==, [:arglist, [:lvar, :filename]]]
+[ 53] CallContext: | == | [:call, [:call, [:lvar, :warning], :filename, [:arglist]], :==, [:arglist, [:lvar, :filename]]]
 [ 53] CallContext: | warning.filename | [:call, [:lvar, :warning], :filename, [:arglist]]
\ No newline at end of file</diff>
      <filename>spec/data/example_3_contexts_representation.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5d2270b97decb0aff4ca64c8571896766b387fd1</id>
    </parent>
  </parents>
  <author>
    <name>Marco Otte-Witte</name>
    <email>marco.otte-witte@simplabs.com</email>
  </author>
  <url>http://github.com/simplabs/excellent/commit/f2d3551e65a6563e992dac78cd2469cac3e44d03</url>
  <id>f2d3551e65a6563e992dac78cd2469cac3e44d03</id>
  <committed-date>2009-10-15T13:51:17-07:00</committed-date>
  <authored-date>2009-10-15T13:51:17-07:00</authored-date>
  <message>if the target of a call is itself a call, don't include it in the context name (HACK currently)</message>
  <tree>aa12738ad360ac8988341c9c795ab91a03c3d5dc</tree>
  <committer>
    <name>Marco Otte-Witte</name>
    <email>marco.otte-witte@simplabs.com</email>
  </committer>
</commit>
