 
     @mark 0, tree, 0, null
 
-  fullFunctionNameArray: (node) ->
-    if node.type isnt 'CallExpression' and node.type isnt 'NewExpression'
-      throw new Error
-    obj = node.callee
+  fullNameArray: (obj) ->
     props = []
     while obj.type is 'MemberExpression'
       props.unshift obj.property.name

            }
      when 'AssignmentExpression'
        @jsBlock node, depth, bounds
        @jsSocketAndMark indentDepth, node.left, depth + 1, null
        @jsSocketAndMark indentDepth, node.right, depth + 1, null
      when 'ReturnStatement'
        @jsBlock node, depth, bounds

          }
      when 'MemberExpression'
        @jsBlock node, depth, bounds
        known = @lookupKnownName node
        if not known
          @jsSocketAndMark indentDepth, node.property, depth + 1
        if not known or known.anyobj
          @jsSocketAndMark indentDepth, node.object, depth + 1
      when 'UpdateExpression'
        @jsBlock node, depth, bounds
        @jsSocketAndMark indentDepth, node.argument, depth + 1
