MCPcopy Create free account
hub / github.com/GDRETools/gdsdecomp / get_token_text

Method get_token_text

bytecode/bytecode_base.cpp:2137–2174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2135}
2136
2137String GDScriptDecomp::get_token_text(const ScriptState &p_script_state, uint32_t i) {
2138 if (i >= p_script_state.tokens.size()) {
2139 return "ERROR: Invalid token index";
2140 }
2141 uint32_t local_token = p_script_state.tokens[i] & TOKEN_MASK;
2142 GlobalToken token_id = get_global_token(local_token);
2143 uint32_t token_val = p_script_state.tokens[i] >> TOKEN_BITS;
2144 switch (token_id) {
2145 case G_TK_EMPTY: {
2146 return "";
2147 } break;
2148 case G_TK_ANNOTATION: // fallthrough
2149 case G_TK_IDENTIFIER: {
2150 if (token_val >= (uint32_t)p_script_state.identifiers.size()) {
2151 return "ERROR: Invalid identifier index";
2152 }
2153 return String(p_script_state.identifiers[token_val]);
2154 } break;
2155 case G_TK_CONSTANT: {
2156 if (token_val >= (uint32_t)p_script_state.constants.size()) {
2157 return "ERROR: Invalid constant index";
2158 }
2159 return get_constant_string(p_script_state.constants, token_val);
2160 } break;
2161 case G_TK_BUILT_IN_TYPE: {
2162 return VariantDecoderCompat::get_variant_type_name(token_val, get_variant_ver_major());
2163 } break;
2164 case G_TK_BUILT_IN_FUNC: {
2165 if (token_val >= static_cast<uint32_t>(get_function_count())) {
2166 return "ERROR: Invalid function index";
2167 }
2168 return get_function_name(token_val);
2169 } break;
2170 default:
2171 break;
2172 }
2173 return get_global_token_text(token_id);
2174}
2175
2176String GDScriptDecomp::get_global_token_text(GlobalToken p_token_id) {
2177 switch (p_token_id) {

Callers 1

parse_scriptMethod · 0.80

Calls 1

sizeMethod · 0.45

Tested by

no test coverage detected