diff options
author | x1212 <x1212-x@web.de> | 2018-03-04 17:53:21 +0100 |
---|---|---|
committer | x1212 <x1212-x@web.de> | 2018-03-04 18:01:15 +0100 |
commit | d2dc8fd423d6b162b66a2cf87e5d668a10ab7034 (patch) | |
tree | 0bd18e99d3fb44ff038903887c083146d4e225d2 /modules/gdscript | |
parent | e619727e999ecd8e6883330f2c6950cd0624de99 (diff) |
fix enum from preloaded script in export
without triggering unnecessary reloads and parsing.
Diffstat (limited to 'modules/gdscript')
-rw-r--r-- | modules/gdscript/gdscript_parser.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index ac7fd94141..435bc327dc 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -461,18 +461,21 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s } else if (!for_completion || FileAccess::exists(path)) { res = ResourceLoader::load(path); } - if (!res.is_valid()) { - _set_error("Can't preload resource at path: " + path); - return NULL; - } } else { if (!FileAccess::exists(path)) { _set_error("Can't preload resource at path: " + path); return NULL; + } else if (ScriptCodeCompletionCache::get_singleton()) { + res = ScriptCodeCompletionCache::get_singleton()->get_cached_resource(path); } } + if (!res.is_valid()) { + _set_error("Can't preload resource at path: " + path); + return NULL; + } + if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_CLOSE) { _set_error("Expected ')' after 'preload' path"); return NULL; |