[R/DDGStatement.R:39:23:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L39) *style:* **Put spaces around all infix operators.**
```r
        .Object@endCol<- -1
                     ~^
```
[R/DDGStatement.R:48:23:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L48) *style:* **Put spaces around all infix operators.**
```r
        .Object@endCol<- parseData$col2
                     ~^
```
[R/DDGStatement.R:50:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L50) *style:* **Commented code should be removed.**
```r
      #print(.Object)
       ^~~~~~~~~~~~~~
```
[R/DDGStatement.R:62:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L62) *style:* **lines should not be more than 80 characters.**
```r
        abbrev = "character",   # A shortened version of the text to use in node names
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:63:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L63) *style:* **lines should not be more than 80 characters.**
```r
        annotated = "expression",  # An annotated version of the statement.  This is
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:66:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L66) *style:* **lines should not be more than 80 characters.**
```r
        # Note that vars.used through has.dev.off do not apply to a situation where
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:68:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L68) *style:* **lines should not be more than 80 characters.**
```r
        # does not read from files, etc.  That happens when the function is called,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:69:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L69) *style:* **lines should not be more than 80 characters.**
```r
        # at which point we will refer to the information in the contained statements.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:71:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L71) *style:* **lines should not be more than 80 characters.**
```r
        vars.used = "character", # A list of the variables that are used in the statement
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:72:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L72) *style:* **lines should not be more than 80 characters.**
```r
        vars.set = "character",  # If this is an assignment statement, this is the variable assigned
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:73:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L73) *style:* **lines should not be more than 80 characters.**
```r
        vars.possibly.set = "character",  # If this contains any internal assignment statements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:74:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L74) *style:* **lines should not be more than 80 characters.**
```r
                                          # like an if-statement might, for example, these are the
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:75:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L75) *style:* **lines should not be more than 80 characters.**
```r
                                          # variables assigned within the statement.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:77:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L77) *style:* **lines should not be more than 80 characters.**
```r
        readsFile = "logical",   # True if this statement contains a call to a function that
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:79:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L79) *style:* **lines should not be more than 80 characters.**
```r
        writesFile = "logical",  # True if this statement contains a call to a function that
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:81:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L81) *style:* **lines should not be more than 80 characters.**
```r
        createsGraphics = "logical",  # True if this is a function that creates a graphics
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:83:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L83) *style:* **lines should not be more than 80 characters.**
```r
        has.dev.off = "logical",  # True if this statement contains a call to dev.off
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:84:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L84) *style:* **lines should not be more than 80 characters.**
```r
        pos = "DDGStatementPos",  # The location of this statement in the source code.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:85:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L85) *style:* **lines should not be more than 80 characters.**
```r
                                  # Has the value null.pos() if it is not available.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:86:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L86) *style:* **lines should not be more than 80 characters.**
```r
        script.num = "numeric",   # The number for the script this statement comes from.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:88:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L88) *style:* **lines should not be more than 80 characters.**
```r
        is.breakpoint = "logical", # True if a breakpoint has been set for this statement
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:89:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L89) *style:* **lines should not be more than 80 characters.**
```r
        contained = "list"         # If this is a function declaration, this will be a list of
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:90:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L90) *style:* **lines should not be more than 80 characters.**
```r
                                   # DDGStatement objects for the statements it contains.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:97:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L97) *style:* **lines should not be more than 80 characters.**
```r
    function(.Object, parsed, pos, script.name, script.num, breakpoints, parseData){
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:102:67:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L102) *style:* **Put spaces around all infix operators.**
```r
      .Object@text <- paste(deparse(.Object@parsed[[1]]), collapse="")
                                                                 ~^~
```
[R/DDGStatement.R:103:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L103) *style:* **Commented code should be removed.**
```r
      #print(.Object@text)
       ^~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:117:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L117) *style:* **lines should not be more than 80 characters.**
```r
      # Remove index variable in for statement (handled separately in ddg.forloop).
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:118:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L118) *style:* **lines should not be more than 80 characters.**
```r
      if (length(parsed) > 0 && !is.symbol(parsed[[1]]) && parsed[[1]][[1]] == "for") {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:131:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L131) *style:* **lines should not be more than 80 characters.**
```r
      .Object@isDdgFunc <- grepl("^ddg.", .Object@text) & !grepl("^ddg.eval", .Object@text)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:152:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L152) *style:* **lines should not be more than 80 characters.**
```r
            # If this statement is a function declaration, set a breakpoint on the declaration
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:153:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L153) *style:* **lines should not be more than 80 characters.**
```r
            # if the breakpoint is for the first line of the function.  Otherwise, we will
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:155:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L155) *style:* **lines should not be more than 80 characters.**
```r
            if (.ddg.is.assign(.Object@parsed[[1]]) && .ddg.is.functiondecl(.Object@parsed[[1]][[3]])) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:159:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L159) *style:* **lines should not be more than 80 characters.**
```r
            # If this is not a function declaration, then set a breakpoint if it is on any line
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:162:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L162) *style:* **lines should not be more than 80 characters.**
```r
              is.breakpoint <- any(breakpoints$lnum >= .Object@pos@startLine & breakpoints$lnum <= .Object@pos@endLine)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:172:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L172) *style:* **lines should not be more than 80 characters.**
```r
        # If we are annotating statements inside functions and control statements,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:173:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L173) *style:* **lines should not be more than 80 characters.**
```r
        # the contained field is a list of DDGStatements for all statements inside
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:180:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L180) *style:* **lines should not be more than 80 characters.**
```r
          # If we are not annotating functions, the contained field is an empty list
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:189:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L189) *style:* **Put spaces around all infix operators.**
```r
             parse(text=.Object@parsed[[1]][[2]])
                      ~^~
```
[R/DDGStatement.R:203:11:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L203) *warning:* **no visible global function definition for ‘new’, Did you mean 'news'?**
```r
  return (new (Class = "DDGStatementPos", NA))
          ^~~
```
[R/DDGStatement.R:213:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L213) *style:* **lines should not be more than 80 characters.**
```r
.ddg.construct.DDGStatement <- function (expr, pos, script.name, script.num, breakpoints, parseData) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:214:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L214) *style:* **lines should not be more than 80 characters.**
```r
  # Surprisingly, if a statement is just a number, like 1 (which could be the last statement in a function, for example),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:216:43:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L216) *style:* **Put spaces around all infix operators.**
```r
  if (is.numeric(expr)) expr <- parse(text=expr)
                                         ~^~
```
[R/DDGStatement.R:218:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L218) *style:* **lines should not be more than 80 characters.**
```r
  return (new (Class = "DDGStatement", parsed = expr, pos, script.name, script.num, breakpoints, parseData))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:218:11:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L218) *warning:* **no visible global function definition for ‘new’, Did you mean 'news'?**
```r
  return (new (Class = "DDGStatement", parsed = expr, pos, script.name, script.num, breakpoints, parseData))
          ^~~
```
[R/DDGStatement.R:235:27:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L235) *style:* **Put spaces around all infix operators.**
```r
  else if (substr(cmd, len-1, len) == "\\\\") substr(cmd, 1, len)
                         ~^~
```
[R/DDGStatement.R:236:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L236) *style:* **Put spaces around all infix operators.**
```r
  else substr(cmd, 1, len-1)
                        ~^~
```
[R/DDGStatement.R:261:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L261) *style:* **Commented code should be removed.**
```r
      #print(paste(".ddg.find.var.uses found", deparse(obj)))
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:267:9:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L267) *warning:* **no visible global function definition for ‘.ddg.is.functiondecl’**
```r
    if (.ddg.is.functiondecl(obj)) return(character())
        ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:270:7:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L270) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/DDGStatement.R:285:13:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L285) *style:* **Commented code should be removed.**
```r
          # storage.mode(z)
            ^~~~~~~~~~~~~~~
```
[R/DDGStatement.R:288:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L288) *style:* **lines should not be more than 80 characters.**
```r
            variables <- c( .ddg.find.var.uses.rec(obj[[2]][[2]]) , unlist(.ddg.find.var.uses.rec(obj[[3]])) )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:288:67:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L288) *style:* **Commas should never have a space before.**
```r
            variables <- c( .ddg.find.var.uses.rec(obj[[2]][[2]]) , unlist(.ddg.find.var.uses.rec(obj[[3]])) )
                                                                 ~^
```
[R/DDGStatement.R:292:15:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L292) *style:* **Place a space before left parenthesis, except in a function call.**
```r
            if( obj[[2]][[1]] == '[' )
              ^
```
[R/DDGStatement.R:292:34:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L292) *style:* **Only use double-quotes.**
```r
            if( obj[[2]][[1]] == '[' )
                                 ^~~
```
[R/DDGStatement.R:293:33:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L293) *style:* **Commas should never have a space before.**
```r
              append( variables , .ddg.find.var.uses.rec(obj[[2]][[3]]) )
                               ~^
```
[R/DDGStatement.R:301:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L301) *style:* **lines should not be more than 80 characters.**
```r
            unique( c(unlist(.ddg.find.var.uses.rec(parse(text = obj[[2]])[[1]])) , unlist(.ddg.find.var.uses.rec(parse(text = obj[[3]])[[1]]))) )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:301:83:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L301) *style:* **Commas should never have a space before.**
```r
            unique( c(unlist(.ddg.find.var.uses.rec(parse(text = obj[[2]])[[1]])) , unlist(.ddg.find.var.uses.rec(parse(text = obj[[3]])[[1]]))) )
                                                                                ~^
```
[R/DDGStatement.R:306:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L306) *style:* **lines should not be more than 80 characters.**
```r
            unique(c (.ddg.find.var.uses.rec(obj[[2]]), unlist(.ddg.find.var.uses.rec(obj[[3]]))))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:317:7:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L317) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
      {
      ^
```
[R/DDGStatement.R:335:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L335) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/DDGStatement.R:337:5:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L337) *warning:* **no visible global function definition for ‘.ddg.get.var’**
```r
    .ddg.get.var(obj[[2]])
    ^~~~~~~~~~~~
```
[R/DDGStatement.R:351:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L351) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/DDGStatement.R:353:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L353) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  {
  ^
```
[R/DDGStatement.R:382:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L382) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
{
^
```
[R/DDGStatement.R:411:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L411) *warning:* **no visible global function definition for ‘.ddg.get.var’**
```r
    var <- .ddg.get.var(obj[[2]])
           ^~~~~~~~~~~~
```
[R/DDGStatement.R:454:4:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L454) *style:* **Commented code should be removed.**
```r
  #print("In .ddg.add.annotations")
   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:462:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L462) *warning:* **no visible global function definition for ‘.ddg.add.ddg.source’**
```r
    return(.ddg.add.ddg.source(parsed.command))
           ^~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:468:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L468) *style:* **lines should not be more than 80 characters.**
```r
    # Note that this will not annotate anonymous functions, like ones that might be passed to lapply, for example
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:470:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L470) *style:* **lines should not be more than 80 characters.**
```r
    if (.ddg.is.assign(parsed.command) && .ddg.is.functiondecl(parsed.command[[3]])) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:471:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L471) *warning:* **no visible global function definition for ‘.ddg.add.function.annotations’**
```r
      return(.ddg.add.function.annotations(command))
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:474:36:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L474) *warning:* **no visible global function definition for ‘.ddg.get.statement.type’**
```r
    statement.type <- as.character(.ddg.get.statement.type(parsed.command))
                                   ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:476:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L476) *style:* **lines should not be more than 80 characters.**
```r
    if (length(statement.type > 0) && !is.null(statement.type) && ddg.max.loops() > 0) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:480:16:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L480) *warning:* **no visible global function definition for ‘.ddg.annotate.if.statement’**
```r
        return(.ddg.annotate.if.statement(command))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:485:16:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L485) *warning:* **no visible global function definition for ‘.ddg.annotate.loop.statement’**
```r
        return(.ddg.annotate.loop.statement(command, statement.type))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:490:16:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L490) *warning:* **no visible global function definition for ‘.ddg.annotate.simple.block’**
```r
        return(.ddg.annotate.simple.block(command))
               ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:511:5:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L511) *style:* **Commented code should be removed.**
```r
  # print("In .ddg.parse.contained")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:518:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L518) *style:* **lines should not be more than 80 characters.**
```r
    return (.ddg.parse.contained.function(cmd, script.name, parseData, parsed.cmd[[3]][[3]]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:518:13:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L518) *warning:* **no visible global function definition for ‘.ddg.parse.contained.function’**
```r
    return (.ddg.parse.contained.function(cmd, script.name, parseData, parsed.cmd[[3]][[3]]))
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:522:27:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L522) *warning:* **no visible global function definition for ‘.ddg.get.statement.type’**
```r
  st.type <- as.character(.ddg.get.statement.type(parsed.cmd))
                          ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:526:13:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L526) *warning:* **no visible global function definition for ‘.ddg.parse.contained.if’**
```r
    return (.ddg.parse.contained.if(cmd, script.name, parseData, parsed.cmd))
            ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:532:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L532) *style:* **lines should not be more than 80 characters.**
```r
    if (length(st.type) > 0 && !is.null(st.type) && (st.type %in% control.types)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:533:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L533) *style:* **lines should not be more than 80 characters.**
```r
      return (.ddg.parse.contained.control(cmd, script.name, parseData, parsed.cmd, st.type))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:533:15:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L533) *warning:* **no visible global function definition for ‘.ddg.parse.contained.control’**
```r
      return (.ddg.parse.contained.control(cmd, script.name, parseData, parsed.cmd, st.type))
              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:541:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L541) *style:* **lines should not be more than 80 characters.**
```r
.ddg.parse.contained.function <- function (cmd, script.name, parseData, func.body) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:556:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L556) *style:* **lines should not be more than 80 characters.**
```r
  return (.ddg.create.DDGStatements (func.stmts, script.name, cmd@script.num, parseData, cmd@pos))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:556:11:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L556) *warning:* **no visible global function definition for ‘.ddg.create.DDGStatements’**
```r
  return (.ddg.create.DDGStatements (func.stmts, script.name, cmd@script.num, parseData, cmd@pos))
          ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:563:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L563) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  while(!is.symbol(parent) && parent[[1]] == "if") {
       ^
```
[R/DDGStatement.R:566:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L566) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
    block <- .ddg.ensure.in.block(block)
             ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:588:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L588) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
    block <- .ddg.ensure.in.block(block)
             ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:597:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L597) *style:* **lines should not be more than 80 characters.**
```r
  return (.ddg.create.DDGStatements (block.stmts, script.name, cmd@script.num, parseData, cmd@pos))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:597:11:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L597) *warning:* **no visible global function definition for ‘.ddg.create.DDGStatements’**
```r
  return (.ddg.create.DDGStatements (block.stmts, script.name, cmd@script.num, parseData, cmd@pos))
          ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:608:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L608) *style:* **lines should not be more than 80 characters.**
```r
.ddg.parse.contained.control <- function(cmd, script.name, parseData, parsed.cmd, st.type) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:616:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L616) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
  block <- .ddg.ensure.in.block(block)
           ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:623:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L623) *style:* **lines should not be more than 80 characters.**
```r
  return (.ddg.create.DDGStatements (block.stmts, script.name, cmd@script.num, parseData, cmd@pos))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:623:11:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L623) *warning:* **no visible global function definition for ‘.ddg.create.DDGStatements’**
```r
  return (.ddg.create.DDGStatements (block.stmts, script.name, cmd@script.num, parseData, cmd@pos))
          ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:633:67:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L633) *style:* **Put spaces around all infix operators.**
```r
  parsed.command.txt <- paste("ddg.source(", script.name, ")", sep="")
                                                                 ~^~
```
[R/DDGStatement.R:634:20:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L634) *style:* **Put spaces around all infix operators.**
```r
  return(parse(text=parsed.command.txt))
                  ~^~
```
[R/DDGStatement.R:648:5:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L648) *style:* **Commented code should be removed.**
```r
  # print("In .ddg.add.function.annotations")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:656:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L656) *style:* **lines should not be more than 80 characters.**
```r
  if (!is.null(.ddg.annotate.on()) & !(func.name %in% .ddg.annotate.on())) return(parsed.function.decl)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:660:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L660) *style:* **lines should not be more than 80 characters.**
```r
  else if (!is.null(.ddg.annotate.off()) & func.name %in% .ddg.annotate.off()) return(parsed.function.decl)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:669:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L669) *warning:* **no visible global function definition for ‘.ddg.create.function.block’**
```r
      func.definition <- .ddg.create.function.block(func.definition)
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:673:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L673) *warning:* **no visible global function definition for ‘.ddg.add.conditional.statement’**
```r
    func.definition <- .ddg.add.conditional.statement(func.definition)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:677:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L677) *warning:* **no visible global function definition for ‘.ddg.insert.ddg.function’**
```r
      func.definition <- .ddg.insert.ddg.function(func.definition)
                         ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:682:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L682) *style:* **lines should not be more than 80 characters.**
```r
      func.definition <- .ddg.wrap.all.return.parameters(func.definition, function.decl@contained)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:682:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L682) *warning:* **no visible global function definition for ‘.ddg.wrap.all.return.parameters’**
```r
      func.definition <- .ddg.wrap.all.return.parameters(func.definition, function.decl@contained)
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:687:23:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L687) *warning:* **no visible global function definition for ‘.ddg.find.last.statement’**
```r
    last.statement <- .ddg.find.last.statement(func.definition)
                      ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:688:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L688) *style:* **lines should not be more than 80 characters.**
```r
    if (!.ddg.is.call.to(last.statement, "ddg.return.value") & !.ddg.is.call.to(last.statement, "return") & !.ddg.is.call.to.ddg.function(last.statement)) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:689:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L689) *style:* **lines should not be more than 80 characters.**
```r
      func.definition <- .ddg.wrap.last.line(func.definition, function.decl@contained)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:689:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L689) *warning:* **no visible global function definition for ‘.ddg.wrap.last.line’**
```r
      func.definition <- .ddg.wrap.last.line(func.definition, function.decl@contained)
                         ^~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:696:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L696) *style:* **lines should not be more than 80 characters.**
```r
      func.definition <- .ddg.wrap.with.ddg.eval(func.definition, function.decl@contained)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:696:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L696) *warning:* **no visible global function definition for ‘.ddg.wrap.with.ddg.eval’**
```r
      func.definition <- .ddg.wrap.with.ddg.eval(func.definition, function.decl@contained)
                         ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:740:46:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L740) *style:* **Put spaces around all infix operators.**
```r
    c(paste("if (ddg.loop.annotate()) {", sep=""),
                                            ~^~
```
[R/DDGStatement.R:742:26:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L742) *style:* **Put spaces around all infix operators.**
```r
    paste("} else {", sep=""),
                        ~^~
```
[R/DDGStatement.R:744:19:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L744) *style:* **Put spaces around all infix operators.**
```r
    paste("}", sep=""))
                 ~^~
```
[R/DDGStatement.R:746:30:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L746) *style:* **Put spaces around all infix operators.**
```r
  new.func.expr <- parse(text=new.func.body.txt)
                            ~^~
```
[R/DDGStatement.R:774:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L774) *style:* **lines should not be more than 80 characters.**
```r
  new.statements.txt <- c(as.list("{"), inserted.statement, as.list(block[2:pos]), as.list("}"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:775:22:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L775) *style:* **Put spaces around all infix operators.**
```r
  block <- parse(text=new.statements.txt)[[1]]
                    ~^~
```
[R/DDGStatement.R:814:41:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L814) *style:* **Put spaces around all infix operators.**
```r
          parsed.stmt <- parsed.stmts[[i-2]]
                                       ~^~
```
[R/DDGStatement.R:823:27:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L823) *warning:* **no visible global function definition for ‘.ddg.create.ddg.return.call’**
```r
        new.ret.params <- .ddg.create.ddg.return.call(ret.params, parsed.stmt)
                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:830:41:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L830) *style:* **Put spaces around all infix operators.**
```r
          parsed.stmt <- parsed.stmts[[i-2]]
                                       ~^~
```
[R/DDGStatement.R:857:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L857) *style:* **Variable and function names should not be longer than 30 characters.**
```r
.ddg.wrap.all.return.parameters <- function(func.definition, parsed.stmts) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:866:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L866) *warning:* **local variable ‘pos’ assigned but may not be used**
```r
  pos <- length(block)
  ^~~
```
[R/DDGStatement.R:869:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L869) *warning:* **no visible global function definition for ‘.ddg.wrap.return.parameters’**
```r
  block <- .ddg.wrap.return.parameters(block, parsed.stmts)
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:925:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L925) *warning:* **no visible global function definition for ‘.ddg.create.ddg.return.call’**
```r
  wrapped.statement <- .ddg.create.ddg.return.call(last.statement, parsed.stmt)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:965:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L965) *style:* **lines should not be more than 80 characters.**
```r
  return (call("ddg.eval", paste(deparse(statement), collapse=""), function() parsed.stmt))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:965:62:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L965) *style:* **Put spaces around all infix operators.**
```r
  return (call("ddg.eval", paste(deparse(statement), collapse=""), function() parsed.stmt))
                                                            ~^~
```
[R/DDGStatement.R:998:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L998) *style:* **lines should not be more than 80 characters.**
```r
    if (!grepl("^ddg.", statement[1]) & !.ddg.has.call.to(statement, "ddg.return.value")) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:999:37:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L999) *style:* **Put spaces around all infix operators.**
```r
      parsed.stmt <- parsed.stmts[[i-2]]
                                   ~^~
```
[R/DDGStatement.R:1000:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1000) *warning:* **no visible global function definition for ‘.ddg.create.ddg.eval.call’**
```r
      new.statement <- .ddg.create.ddg.eval.call(statement, parsed.stmt)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1017:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1017) *style:* **Variable and function names should not be longer than 30 characters.**
```r
.ddg.create.block.ddg.eval.call <- function (statement, parsed.stmt) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1019:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1019) *warning:* **no visible global function definition for ‘.ddg.inc’**
```r
  .ddg.inc("ddg.statement.num")
  ^~~~~~~~
```
[R/DDGStatement.R:1020:10:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1020) *warning:* **no visible global function definition for ‘.ddg.statement.num’**
```r
  num <- .ddg.statement.num()
         ^~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1021:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1021) *warning:* **no visible global function definition for ‘.ddg.add.ddgstatement’**
```r
  .ddg.add.ddgstatement(parsed.stmt)
  ^~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1023:62:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1023) *style:* **Put spaces around all infix operators.**
```r
  return (call("ddg.eval", paste(deparse(statement), collapse=""), num))
                                                            ~^~
```
[R/DDGStatement.R:1035:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1035) *style:* **lines should not be more than 80 characters.**
```r
    if (!grepl("^ddg.", statement) && !.ddg.has.call.to(statement, "ddg.return.value")) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1036:37:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1036) *style:* **Put spaces around all infix operators.**
```r
      parsed.stmt <- parsed.stmts[[i-1]]
                                   ~^~
```
[R/DDGStatement.R:1037:9:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1037) *style:* **Commented code should be removed.**
```r
      # print(statement)
        ^~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1038:9:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1038) *style:* **Commented code should be removed.**
```r
      # print(parsed.stmt@text)
        ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1040:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1040) *warning:* **no visible global function definition for ‘.ddg.create.block.ddg.eval.call’**
```r
      new.statement <- .ddg.create.block.ddg.eval.call(statement, parsed.stmt)
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1065:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1065) *style:* **lines should not be more than 80 characters.**
```r
  block.txt <- paste(c("{", start.statement, statements, finish.statement, "}"), collapse="\n")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1065:90:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1065) *style:* **Put spaces around all infix operators.**
```r
  block.txt <- paste(c("{", start.statement, statements, finish.statement, "}"), collapse="\n")
                                                                                ~^~
```
[R/DDGStatement.R:1066:29:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1066) *style:* **Put spaces around all infix operators.**
```r
  block.parsed <- parse(text=block.txt)
                           ~^~
```
[R/DDGStatement.R:1079:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1079) *style:* **lines should not be more than 80 characters.**
```r
    new.statements <- c(as.list(block[[1]]),  inserted.statement, as.list(block[2]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1085:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1085) *style:* **lines should not be more than 80 characters.**
```r
    new.statements <- c(as.list(block[[1]]), inserted.statement, as.list(block[2:pos]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1100:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1100) *style:* **lines should not be more than 80 characters.**
```r
    new.statements <- c(as.list(block[[1]]),  inserted.statement, as.list(block[2]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1106:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1106) *style:* **lines should not be more than 80 characters.**
```r
    new.statements <- c(as.list(block[[1]]), inserted.statement, as.list(block[2:pos]))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1125:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1125) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  while(!is.symbol(parent) && parent[[1]] == "if") {
       ^
```
[R/DDGStatement.R:1128:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1128) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
    block <- .ddg.ensure.in.block(block)
             ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1131:16:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1131) *style:* **Put spaces around all infix operators.**
```r
    block.stmts<- list()
              ~^
```
[R/DDGStatement.R:1132:31:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1132) *style:* **Put spaces around all infix operators.**
```r
    for (i in 1:(length(block)-1)) {
                             ~^~
```
[R/DDGStatement.R:1133:52:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1133) *style:* **Put spaces around all infix operators.**
```r
      block.stmts <- c(block.stmts, parsed.stmts[[i+ptr]])
                                                  ~^~
```
[R/DDGStatement.R:1140:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1140) *warning:* **no visible global function definition for ‘.ddg.wrap.block.with.ddg.eval’**
```r
    block <- .ddg.wrap.block.with.ddg.eval(block, block.stmts)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1143:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1143) *warning:* **no visible global function definition for ‘.ddg.add.block.start.finish’**
```r
    block <- .ddg.add.block.start.finish(block, "if")
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1146:49:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1146) *style:* **Put spaces around all infix operators.**
```r
    cond <- paste(deparse(parent[[2]]), collapse="")
                                               ~^~
```
[R/DDGStatement.R:1148:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1148) *style:* **lines should not be more than 80 characters.**
```r
      statement.txt <- paste(c(paste("if (", cond, ")", sep=""), deparse(block), collapse="\n"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1148:60:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1148) *style:* **Put spaces around all infix operators.**
```r
      statement.txt <- paste(c(paste("if (", cond, ")", sep=""), deparse(block), collapse="\n"))
                                                          ~^~
```
[R/DDGStatement.R:1148:90:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1148) *style:* **Put spaces around all infix operators.**
```r
      statement.txt <- paste(c(paste("if (", cond, ")", sep=""), deparse(block), collapse="\n"))
                                                                                ~^~
```
[R/DDGStatement.R:1150:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1150) *style:* **lines should not be more than 80 characters.**
```r
      statement.txt <- paste(c(paste("} else if (", cond, ")", sep=""), deparse(block), collapse="\n"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1150:67:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1150) *style:* **Put spaces around all infix operators.**
```r
      statement.txt <- paste(c(paste("} else if (", cond, ")", sep=""), deparse(block), collapse="\n"))
                                                                 ~^~
```
[R/DDGStatement.R:1150:97:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1150) *style:* **Put spaces around all infix operators.**
```r
      statement.txt <- paste(c(paste("} else if (", cond, ")", sep=""), deparse(block), collapse="\n"))
                                                                                ~^~
```
[R/DDGStatement.R:1176:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1176) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
    block <- .ddg.ensure.in.block(block)
             ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1180:31:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1180) *style:* **Put spaces around all infix operators.**
```r
    for (i in 1:(length(block)-1)) {
                             ~^~
```
[R/DDGStatement.R:1181:52:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1181) *style:* **Put spaces around all infix operators.**
```r
      block.stmts <- c(block.stmts, parsed.stmts[[i+ptr]])
                                                  ~^~
```
[R/DDGStatement.R:1185:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1185) *warning:* **no visible global function definition for ‘.ddg.wrap.block.with.ddg.eval’**
```r
    block <- .ddg.wrap.block.with.ddg.eval(block, block.stmts)
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1188:14:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1188) *warning:* **no visible global function definition for ‘.ddg.add.block.start.finish’**
```r
    block <- .ddg.add.block.start.finish(block, "if")
             ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1191:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1191) *style:* **lines should not be more than 80 characters.**
```r
    statement.txt <- paste(c(paste("} else", sep=""), deparse(block), collapse=""))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1191:49:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1191) *style:* **Put spaces around all infix operators.**
```r
    statement.txt <- paste(c(paste("} else", sep=""), deparse(block), collapse=""))
                                               ~^~
```
[R/DDGStatement.R:1191:79:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1191) *style:* **Put spaces around all infix operators.**
```r
    statement.txt <- paste(c(paste("} else", sep=""), deparse(block), collapse=""))
                                                                             ~^~
```
[R/DDGStatement.R:1199:20:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1199) *style:* **Put spaces around all infix operators.**
```r
  return(parse(text=parsed.command.txt))
                  ~^~
```
[R/DDGStatement.R:1210:7:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1210) *warning:* **no visible global function definition for ‘ddg.max.loops’**
```r
  if (ddg.max.loops() == 0) return(command@parsed)
      ^~~~~~~~~~~~~
```
[R/DDGStatement.R:1216:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1216) *warning:* **no visible global function definition for ‘.ddg.add.loop’**
```r
  .ddg.add.loop()
  ^~~~~~~~~~~~~
```
[R/DDGStatement.R:1217:3:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1217) *warning:* **no visible global function definition for ‘.ddg.inc’**
```r
  .ddg.inc("ddg.loop.num")
  ^~~~~~~~
```
[R/DDGStatement.R:1218:19:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1218) *warning:* **no visible global function definition for ‘.ddg.loop.num’, Did you mean 'ddg.loop.num'?**
```r
  ddg.loop.num <- .ddg.loop.num()
                  ^~~~~~~~~~~~~
```
[R/DDGStatement.R:1227:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1227) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  else {  # repeat
       ^
```
[R/DDGStatement.R:1232:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1232) *warning:* **no visible global function definition for ‘.ddg.ensure.in.block’**
```r
  block <- .ddg.ensure.in.block(block)
           ^~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1235:22:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1235) *warning:* **no visible global function definition for ‘.ddg.wrap.block.with.ddg.eval’**
```r
  annotated.block <- .ddg.wrap.block.with.ddg.eval(block, command@contained)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1240:24:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1240) *warning:* **no visible global function definition for ‘.ddg.insert.ddg.forloop’**
```r
    annotated.block <- .ddg.insert.ddg.forloop(annotated.block, index.var)
                       ^~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1244:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1244) *style:* **lines should not be more than 80 characters.**
```r
  annotated.block <- .ddg.add.block.start.finish(annotated.block, paste(loop.type, "loop"))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1244:22:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1244) *warning:* **no visible global function definition for ‘.ddg.add.block.start.finish’**
```r
  annotated.block <- .ddg.add.block.start.finish(annotated.block, paste(loop.type, "loop"))
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1247:22:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1247) *warning:* **no visible global function definition for ‘.ddg.insert.ddg.loop.annotate’**
```r
  annotated.block <- .ddg.insert.ddg.loop.annotate(annotated.block, "on")
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1248:12:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1248) *warning:* **no visible global function definition for ‘.ddg.insert.ddg.loop.annotate’**
```r
  block <- .ddg.insert.ddg.loop.annotate(block, "off")
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1256:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1256) *style:* **lines should not be more than 80 characters.**
```r
    firstLine <- paste("for (", deparse(parsed.command[[2]]), " in ", deparse(parsed.command[[3]]), ") {", sep="")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1256:111:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1256) *style:* **Put spaces around all infix operators.**
```r
    firstLine <- paste("for (", deparse(parsed.command[[2]]), " in ", deparse(parsed.command[[3]]), ") {", sep="")
                                                                                ~^~
```
[R/DDGStatement.R:1259:75:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1259) *style:* **Put spaces around all infix operators.**
```r
    firstLine <- paste("while (", deparse(parsed.command[[2]]), ") {", sep="")
                                                                         ~^~
```
[R/DDGStatement.R:1261:8:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1261) *style:* **Opening curly braces should never go on their own line and should always be followed by a new line.**
```r
  else {  # repeat
       ^
```
[R/DDGStatement.R:1262:39:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1262) *style:* **Put spaces around all infix operators.**
```r
    firstLine <- paste("repeat {", sep="")
                                     ~^~
```
[R/DDGStatement.R:1266:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1266) *style:* **lines should not be more than 80 characters.**
```r
    paste("if (ddg.loop.count.inc(", ddg.loop.num, ") >= ddg.first.loop() && ddg.loop.count(", ddg.loop.num, ") <= ddg.first.loop() + ddg.max.loops() - 1)", sep=""),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1266:161:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1266) *style:* **Put spaces around all infix operators.**
```r
    paste("if (ddg.loop.count.inc(", ddg.loop.num, ") >= ddg.first.loop() && ddg.loop.count(", ddg.loop.num, ") <= ddg.first.loop() + ddg.max.loops() - 1)", sep=""),
                                                                                ~^~
```
[R/DDGStatement.R:1270:19:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1270) *style:* **Put spaces around all infix operators.**
```r
    paste("}", sep=""),
                 ~^~
```
[R/DDGStatement.R:1271:1:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1271) *style:* **lines should not be more than 80 characters.**
```r
    paste("if (ddg.loop.count(", ddg.loop.num, ") > ddg.first.loop() + ddg.max.loops() - 1) ddg.details.omitted()", sep=""),
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/DDGStatement.R:1271:120:](https://github.com/tfjmp/RDataTracker/blob/77c8eb5c05d52df5eabad3f608e1934e63dea835/R/DDGStatement.R#L1271) *style:* **Put spaces around all infix operators.**
```r
    paste("if (ddg.loop.count(", ddg.loop.num, ") > ddg.first.loop() + ddg.max.loops() - 1) ddg.details.omitted()", sep=""),
                                                                                ~^~
```


Hardware flow diagram


a realtek driver for a usb card (one that im using through my router right now to send this message):
https://forum.lede-project.org/t/rtl8812au-and-or-rtl8814au-drivers/67/21


Does it matter for major release? It should be added anyway eventually, waiting 8 or so years for Doctrine 4 is inconvenient. :/


OK
I will add in my hackmd