virtualx-engine/modules/mono/editor/Godot.NET.Sdk/Godot.SourceGenerators
Raul Santos 5815d1c8c8
Improve handling of generic C# types
- Create CSharpScript for generic C# types.
  - `ScriptPathAttributeGenerator` registers the path for the generic type definition.
  - `ScriptManagerBridge` lookup uses the generic type definition that was registered by the generator.
  - Constructed generic types use a virtual `csharp://` path so they can be registered in the map and loaded as if there was a different file for each constructed type, even though they all share the same real path.
  - This allows getting the base type for a C# type that derives from a generic type.
- Shows base scripts in the _Add Node_ and _Create Resource_ dialogs even when they are generic types.
  - `get_global_class_name` implementation was moved to C# and now always returns the base type even if the script is not a global class (this behavior matches GDScript).
- Create `CSharpScript::TypeInfo` struct to hold all the type information about the C# type that corresponds to the `CSharpScript`, and use it as the parameter in `UpdateScriptClassInfo` to avoid adding more parameters.
2024-02-08 18:31:13 +01:00
..
CodeAnalysisAttributes.cs Clean a bunch of C# warnings 2024-01-26 09:38:33 +01:00
Common.cs fix: use correct number in GD0103 link 2023-12-27 20:30:59 +09:00
EventHandlerSuffixSuppressor.cs C#: Suppress EventHandler suffix diagnostic for signals 2022-09-22 14:23:01 +02:00
ExtensionMethods.cs C#: Report diagnostic for Node exports in a type that doesn't derive from Node 2023-10-06 19:03:18 +02:00
GlobalClassAnalyzer.cs C#: Add a Roslyn analyzer for global classes 2023-07-07 16:37:16 -07:00
Godot.SourceGenerators.csproj C#: Fix to allow usage of [MustBeVariant] in generic typed attributes 2024-01-21 22:29:29 +01:00
Godot.SourceGenerators.props Add fine-grained disabling of SourceGenerators 2023-03-25 13:46:12 +11:00
GodotClasses.cs C#: Add global class support 2023-05-29 19:04:02 +02:00
GodotEnums.cs Reorder PropertyHint enum to avoid breaking compat 2023-05-12 01:48:07 +02:00
GodotMemberData.cs C#: Cleanup Variant marshaling code in source/bindings generators 2022-12-02 14:47:12 +01:00
GodotPluginsInitializerGenerator.cs Add fine-grained disabling of SourceGenerators 2023-03-25 13:46:12 +11:00
Helper.cs Clean a bunch of C# warnings 2024-01-26 09:38:33 +01:00
MarshalType.cs C#: Renames to follow .NET naming conventions 2023-01-27 02:04:17 +01:00
MarshalUtils.cs C#: Rename Object to GodotObject 2023-01-27 02:04:18 +01:00
MethodInfo.cs Add readonly to C# methods and types that don't mutate 2022-11-14 20:32:20 +01:00
MustBeVariantAnalyzer.cs Merge pull request #87518 from paulloz/dotnet/fix-warnings 2024-01-26 11:46:37 +01:00
PropertyInfo.cs C#: Set PropertyInfo.class_name for method parameters 2023-06-16 23:19:38 +02:00
ScriptMethodsGenerator.cs Clean a bunch of C# warnings 2024-01-26 09:38:33 +01:00
ScriptPathAttributeGenerator.cs Improve handling of generic C# types 2024-02-08 18:31:13 +01:00
ScriptPropertiesGenerator.cs Clean a bunch of C# warnings 2024-01-26 09:38:33 +01:00
ScriptPropertyDefValGenerator.cs Merge pull request #82918 from raulsntos/dotnet/only-node-can-export-node 2023-10-27 11:36:33 +02:00
ScriptRegistrarGenerator.cs C#: Add initial implementation of source generator for script members 2022-08-22 03:36:51 +02:00
ScriptSerializationGenerator.cs C#: Fix generated nested class order 2023-10-18 03:37:57 +02:00
ScriptSignalsGenerator.cs Clean a bunch of C# warnings 2024-01-26 09:38:33 +01:00