handzlikchris / handzlikchris/FastScriptReload
'This' rewriting causes some issues with rewritting generic methods
- Dominant language
- C#
- Stars
- 2.2k
- Forks
- 167
- PR merge metrics
- No merged PRs in 30d
Description
KillerJoe — Yesterday at 20:02
next problem: I have a generic Method "Parent" for the UiElements:
public static T Parent(this T element, VisualElement parent, bool grow = false, int? insertIndex = null) where T : VisualElement {
its changed to ".Parent((dynamic)this)" causing an compile error.
FSR: Error when updating files: 'LoadByUrl.cs', System.Exception: Compiler failed to produce the assembly. Output: 'C:\Users\tfoso\AppData\Local\Temp\3bcdba1c62ed4b1d9e72f62953347396.SourceCodeCombined.cs(222,15): error CS1929: 'HorizontalPanel' does not contain a definition for 'Parent' and the best extension method overload 'VisualElementExtension.Parent(T, VisualElement, bool, int?)' requires a receiver of type 'T'
C:\Users\tfoso\AppData\Local\Temp\3bcdba1c62ed4b1d9e72f62953347396.SourceCodeCombined.cs(259,87): error CS1929: 'I18nLabel' does not contain a definition for 'Parent' and the best extension method overload 'VisualElementExtension.Parent(T, VisualElement, bool, int?)' requires a receiver of type 'T'
[ ] Killer Joe from Discord
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the compiler errors reported while updating LoadByUrl.cs and compare the original generic Parent extension call with its rewritten `.Parent((dynamic)this)` form. Trace the rewriting logic that produces the generated source, then verify that calls on HorizontalPanel and I18nLabel compile without the CS1929 errors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp, unity
- Domain
- compilers, devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100