MCPcopy Create free account
hub / github.com/crownengine/crown / find_requirements

Function find_requirements

src/resource/lua_resource.cpp:50–85  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

48 }
49
50 void find_requirements(HashSet<StringView> &requirements, const char *lua)
51 {
52 while (*lua) {
53 lua = skip_blanks(lua);
54
55 if (*lua == 'r') { // Find require()s.
56 const char *require = strstr(lua, "require");
57 if (!require) {
58 ++lua;
59 continue;
60 }
61
62 lua = skip_blanks(require + 7);
63
64 if (*lua == '(')
65 ++lua;
66
67 lua = skip_blanks(lua);
68
69 if (*lua == '\'' || *lua == '"') {
70 const char *param_begin = lua + 1;
71 const char *param_end = strchr(param_begin, *lua);
72 if (param_end != NULL) {
73 hash_set::insert(requirements
74 , StringView(param_begin, u32(param_end - param_begin))
75 );
76 lua = param_end + 1;
77 }
78 }
79 } else if (*lua == '-' || isspace(*lua)) {
80 lua = skip_blanks(lua);
81 } else if (*lua) {
82 ++lua;
83 }
84 }
85 }
86
87 s32 compile(CompileOptions &opts)
88 {

Callers 2

test_lua_resourceFunction · 0.85
compileFunction · 0.85

Calls 4

skip_blanksFunction · 0.85
strstrFunction · 0.85
strchrFunction · 0.85
StringViewClass · 0.50

Tested by 1

test_lua_resourceFunction · 0.68