         isContains = Parser.isContains child, target
         isDeclared = Parser.isDeclared child, target
         if isContains
-          [ childDests, isChildFixed ] = Parser.traverseCode child, target, null
+          [ childDests, isChildFixed ] = Parser.traverseCode child, target, isDeclaredInParent or isDeclared, null
           if isDeclared or isChildFixed
             dests = childDests
             isFixed = true


    target

  @traverseCode: (parent, target, dests = []) ->
    isFixed = false

    parent.eachChild (child) ->

        else if isDeclared
          return true

      # Skip object key access
      if child.asKey
        return true
