Skip to content

Commit bad4580

Browse files
fix: use chunkedFunction to break up initLookups into smaller functions (#133)
Fixes #132
1 parent 2fdfb34 commit bad4580

1 file changed

Lines changed: 22 additions & 9 deletions

File tree

src/CodeGen.js

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -81,24 +81,37 @@ ${section(Model.dataVars())}
8181
//
8282
function emitInitLookupsCode() {
8383
mode = 'init-lookups'
84-
return `// Internal state
84+
let code = `// Internal state
8585
bool lookups_initialized = false;
86-
87-
void initLookups() {
88-
// Initialize lookups.
86+
bool data_initialized = false;
87+
`
88+
code += chunkedFunctions(
89+
'initLookups',
90+
Model.lookupVars(),
91+
` // Initialize lookups.
8992
if (!lookups_initialized) {
90-
${section(Model.lookupVars())}
91-
${section(Model.dataVars())}
92-
lookups_initialized = true;
93+
`,
94+
` lookups_initialized = true;
9395
}
94-
}
9596
`
97+
)
98+
code += chunkedFunctions(
99+
'initData',
100+
Model.dataVars(),
101+
` // Initialize data.
102+
if (!data_initialized) {
103+
`,
104+
` data_initialized = true;
105+
}
106+
`
107+
)
108+
return code
96109
}
97110

98111
function emitInitConstantsCode() {
99112
mode = 'init-constants'
100113
return `
101-
${chunkedFunctions('initConstants', Model.constVars(), ' // Initialize constants.', ' initLookups();')}
114+
${chunkedFunctions('initConstants', Model.constVars(), ' // Initialize constants.', ' initLookups();\n initData();')}
102115
`
103116
}
104117

0 commit comments

Comments
 (0)