Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generic extension exception and multiple extension methos for single userdata: fixes #130

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

havietisov
Copy link

In case we called some extension method in context of some userdata, we are not allowed to call any other because they will not be indexed (always nil)

example :
userdata.ExtMethod1() --called fine
userdata.ExtMethod2() --null indexer!

and, if we call ExtMethod2 first, ExtMethod1 will be nil

ExtensionMethodsRegistry.GetGenericMatch trying to create GetGenericTypeDefinition of type parameter.
Example:
TweenSettingsExtensions.SetEase(this T t, Ease ease) //causes exception being thrown, because we are not allowed to create T<>

Rygor Borodoolin added 2 commits March 8, 2016 11:40
…called extension method in each userdata instance

example :
userdata.ExtMethod1() --called fine
userdata.ExtMethod2() --null indexer!
… case when multiple extension methods with similar signature were available in different extension classes, and one of the extension methods has generic argument as extendable type:

TweenSettingsExtensions.SetEase<T>(this T t, Ease ease) where T : Tween; //this one cause exception shot upon calling SetEase
SpecialTweenExtensions.SetEase(this Tweener @this, Ease ease)
@havietisov havietisov changed the title Generic extension exception fix Generic extension exception and multiple extension methos for single userdata: fixes Mar 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant