Skip to content

Commit 47e6508

Browse files
committed
fix nFunctions method gather_neeeded_nFunctions
1 parent d8da359 commit 47e6508

File tree

3 files changed

+6
-7
lines changed

3 files changed

+6
-7
lines changed

nCompiler/R/NC_CompilerClass.R

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ NC_CompilerClass <- R6::R6Class(
125125
\(x) x$gather_needed_nFunctions()) |>
126126
unlist(recursive = FALSE) |> unique()
127127
list(
128-
needed_nClasses = unique(c(needed_nClasses1, needed_nClasses2)),
129-
needed_nFunctions = needed_nFunctions
128+
needed_nClasses = unique(c(needed_nClasses1, needed_nClasses2 %||% list())),
129+
needed_nFunctions = needed_nFunctions %||% list()
130130
)
131131
}
132132
)

nCompiler/R/NF_CompilerClass.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ NF_CompilerClass <- R6::R6Class(
150150
nCompile_gather_needed_nClasses(cppDef, self$symbolTable, self)
151151
},
152152
gather_needed_nFunctions = function() {
153-
nCompile_gather_needed_nFunctions(cppDef, self$symbolTable)
153+
nCompile_gather_needed_nFunctions(cppDef, self)
154154
}
155155
)
156156
)

nCompiler/R/nCompile.R

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,15 +217,13 @@ nCompile_createCppDefsInfo <- function(units,
217217
needed_nFunctions <- vector("list", length(units))
218218
for(i in seq_along(units)) {
219219
compileInfo <- compileInfos[[i]]
220-
needed_nFunctions[[i]] <- list()
221220
if(unitTypes[i] == "nF" || unitTypes[i] == "nF_noExport") {
222221
oneResult <- nCompile_nFunction(units[[i]],
223222
stopAfterCppDef = TRUE,
224223
env = env,
225224
compileInfo = compileInfo,
226225
control = control)
227226
cpp_names[i] <- NFinternals(units[[i]])$cpp_code_name
228-
needed_nFunctions[[i]] <- oneResult$needed_units$needed_nFunctions
229227
} else if(unitTypes[i] == "nCgen") {
230228
oneResult <- nCompile_nClass(units[[i]],
231229
stopAfterCppDef = TRUE,
@@ -237,6 +235,7 @@ nCompile_createCppDefsInfo <- function(units,
237235
if(!is.list(oneResult)) stop("nCompile_nFunction or nCompile_nClass did not return a list for ", cpp_names[i])
238236
unitResults[[i]] <- oneResult$cppDef
239237
needed_nClasses[[i]] <- oneResult$needed_units$needed_nClasses
238+
needed_nFunctions[[i]] <- oneResult$needed_units$needed_nFunctions
240239
}
241240
list(cppDefs = unitResults,
242241
cpp_names = cpp_names,
@@ -441,8 +440,8 @@ nCompile <- function(...,
441440

442441
new_needed_nClasses <- do.call("c", cppDefs_info$needed_nClasses) |> unique()
443442
new_needed_nFunctions <- do.call("c", cppDefs_info$needed_nFunctions) |> unique()
444-
setNames(new_needed_nClasses, new_needed_nClasses |> lapply(\(x) x$classname))
445-
setNames(new_needed_nFunctions, new_needed_nFunctions |> lapply(\(x) NFinternals(x)$uniqueName))
443+
names(new_needed_nClasses) <- new_needed_nClasses |> lapply(\(x) x$classname)
444+
names(new_needed_nFunctions) <- new_needed_nFunctions |> lapply(\(x) NFinternals(x)$uniqueName)
446445
# A bit of design irony: At this point, the needed units are
447446
# nicely organized into nClasses and nFunctions,
448447
# but we are going to mix them together as if they were an arbitrary

0 commit comments

Comments
 (0)