       if child instanceof Code
         isContains = Ripper.isContains child, target
         isDeclared = Ripper.isDeclared child, target, parent
-        # console.log inspect { isDeclaredInParent, isDeclared, isContains }
-
         [ childDests, isChildFixed ] = Ripper.findReferences child, target, isDeclaredInParent or isDeclared
 
         if isContains

        o =
          scope: parent?.scope
          indent: ''
          bare: true
        code.compileNode o
        code.scope = o.scope
      # variables = o.scope.declaredVariables()
      variables = Ripper.declaredVariables code.scope
      # console.log inspect code.scope.declaredVariables()
      # console.log inspect variables
      return variables.indexOf(target.value) isnt -1
    catch err
    false

  @declaredVariables: (scope) ->
    _.filter (_.pluck scope.variables, 'name'), (name) ->
      _.isString(name) and name isnt 'arguments'



  ###

    )

  @find: ({ symbol, references }, targetLocationData) ->
    target = @findSymbol symbol, targetLocationData
    return [] unless target?
    _.uniq @findReferences(references, target)[0]
