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

Class GDScriptV1TokenizerBufferCompat

bytecode/gdscript_v1_tokenizer_compat.h:221–271  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

219};
220
221class GDScriptV1TokenizerBufferCompat : public GDScriptTokenizerV1Compat {
222 using Token = GDScriptDecomp::GlobalToken;
223
224 enum {
225
226 TOKEN_BYTE_MASK = 0x80,
227 TOKEN_BITS = 8,
228 TOKEN_MASK = (1 << TOKEN_BITS) - 1,
229 TOKEN_LINE_BITS = 24,
230 TOKEN_LINE_MASK = (1 << TOKEN_LINE_BITS) - 1,
231 };
232
233 Vector<StringName> identifiers;
234 Vector<Variant> constants;
235 RBMap<uint32_t, uint32_t> lines;
236 Vector<uint32_t> tokens;
237 Variant nil;
238 int token = 0;
239 int current_line = 0;
240 int current_indent = 0;
241
242 String error_message;
243
244public:
245 Error set_code_buffer(const Vector<uint8_t> &p_buffer);
246 static Vector<uint8_t> parse_code_string(const String &p_code, const GDScriptDecomp *p_decomp, String &r_error_message);
247 virtual Token get_token(int p_offset = 0) const;
248 virtual StringName get_token_identifier(int p_offset = 0) const;
249 virtual int get_token_built_in_func(int p_offset = 0) const;
250 virtual Variant::Type get_token_type(int p_offset = 0) const;
251 virtual int get_token_line(int p_offset = 0) const;
252 virtual int get_token_column(int p_offset = 0) const;
253 virtual int get_token_line_indent(int p_offset = 0) const;
254 virtual int get_token_line_tab_indent(int p_offset = 0) const { return 0; }
255 virtual const Variant &get_token_constant(int p_offset = 0) const;
256 virtual String get_token_error(int p_offset = 0) const;
257 virtual void advance(int p_amount = 1);
258#ifdef DEBUG_ENABLED
259 virtual const Vector<Pair<int, String>> &get_warning_skips() const {
260 static Vector<Pair<int, String>> v;
261 return v;
262 }
263 virtual const RBSet<String> &get_warning_global_skips() const {
264 static RBSet<String> s;
265 return s;
266 }
267 virtual bool is_ignoring_warnings() const { return true; }
268#endif // DEBUG_ENABLED
269 GDScriptV1TokenizerBufferCompat() = delete;
270 explicit GDScriptV1TokenizerBufferCompat(const GDScriptDecomp *p_decomp);
271};

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected