Skip to content

[Bug]: Iterator of the for loop is treated as an object in get_code_dependency #237

Open
@m7pr

Description

@m7pr

If object is treated as an iterator in a for loop, like x below, then get_code treats this case as this object created in this for loop, hence even though it's a temporary object (just for the time of the for loop execution) it gets extracted in the get_code

library(teal.code)
q <- within(qenv(), {
  a <- 1
  b <- 2
}) |> within({
  for (x in c(1, 2)) {
    b <- a
    b <- b + a + 1
    b + 3 -> b
  }
}) |> within({
  x <- 5
})

get_code(q, names = 'x') |> cat()
#> a <- 1
#> b <- 2
#> for (x in c(1, 2)) {
#>     b <- a
#>     b <- b + a + 1
#>     b <- b + 3
#> }
#> x <- 5

Created on 2024-11-27 with reprex v2.1.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingcore

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions