# will produce lints
code = "
box::use(
R6[R6Class],
)
badClass <- R6Class('badClass',
public = list(
initialize = function() {
private$not_exists()
}
),
private = list(
unused_attribute = 'private data',
unused_method = function() {
self$attribute_not_exists
self$function_not_exists()
}
)
)
"
lintr::lint(
text = code,
linters = r6_usage_linter()
)
# okay
code = "
box::use(
R6[R6Class],
)
goodClass <- R6Class('goodClass',
public = list(
public_attr = NULL,
initialize = function() {
private$private_func()
},
some_function = function () {
private$private_attr
}
),
private = list(
private_attr = 'private data',
private_func = function() {
self$public_attr
}
)
)
"
lintr::lint(
text = code,
linters = r6_usage_linter()
)
Run the code above in your browser using DataLab