mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	GDScript: Reintroduce binary tokenization on export
This adds back a function available in 3.x: exporting the GDScript files in a binary form by converting the tokens recognized by the tokenizer into a data format. It is enabled by default on export but can be manually disabled. The format helps with loading times since, the tokens are easily reconstructed, and with hiding the source code, since recovering it would require a specialized tool. Code comments are not stored in this format. The `--test` command can also include a `--use-binary-tokens` flag which will run the GDScript tests with the binary format instead of the regular source code by converting them in-memory before the test runs.
This commit is contained in:
		
							parent
							
								
									41564aaf77
								
							
						
					
					
						commit
						b4d0a09f15
					
				
					 26 changed files with 1010 additions and 119 deletions
				
			
		|  | @ -176,6 +176,7 @@ private: | |||
| 	bool clearing = false; | ||||
| 	//exported members
 | ||||
| 	String source; | ||||
| 	Vector<uint8_t> binary_tokens; | ||||
| 	String path; | ||||
| 	bool path_valid = false; // False if using default path.
 | ||||
| 	StringName local_name; // Inner class identifier or `class_name`.
 | ||||
|  | @ -296,6 +297,10 @@ public: | |||
| 	String get_script_path() const; | ||||
| 	Error load_source_code(const String &p_path); | ||||
| 
 | ||||
| 	void set_binary_tokens_source(const Vector<uint8_t> &p_binary_tokens); | ||||
| 	const Vector<uint8_t> &get_binary_tokens_source() const; | ||||
| 	Vector<uint8_t> get_as_binary_tokens() const; | ||||
| 
 | ||||
| 	bool get_property_default_value(const StringName &p_property, Variant &r_value) const override; | ||||
| 
 | ||||
| 	virtual void get_script_method_list(List<MethodInfo> *p_list) const override; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 George Marques
						George Marques