"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

This forum is meant for questions and discussions about the X# language and tools
Post Reply
Thomas
Posts: 93
Joined: Thu Oct 25, 2018 11:39 am

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Post by Thomas »

Hi All,

since version 2.0.8.1 there is a different behaviour with the "NoMethod" method in late bound calls compared to version 2.0.7 respectively Vulcan. The method name is not provided any more as first parameter.
According to the Whatsnew-Documentation you did some changes to the "NoMethod" method in 2.0.8.0?
For example:

Code: Select all

PUBLIC CLASS SomeXsClass
	PUBLIC METHOD NoMethod()
                LOCAL nParams := PCount() AS INT
                ...
		LOCAL paramVal1 := _GETMPARAM(1) AS USUAL
		RETURN paramVal1
	
FUNCTION Test()
        LOCAL cResult AS STRING
        LOCAL oSomeClass := SomeXsClass{} AS USUAL
        
        cResult := oSomeClass:XXSomeMethod("Blablabla")  
        //cResult: "Blablabla", expected "XxSomeMethod"


Could you please check this?

Thomas
User avatar
robert
Posts: 4518
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Post by robert »

Thomas,

We changed this indeed. Vulcan had deviated from VO in this area. Vulcan added the method name to the parameters list.
VO did not do that.

To retrieve the name of the method you have to call NoMethod() now (or check RuntimeState.NoMethod)

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Thomas
Posts: 93
Joined: Thu Oct 25, 2018 11:39 am

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Post by Thomas »

Hi Robert,

I understand...
But please consider to keep the old and maybe "wrong" vulcan behaviour when using the vulcan-dialect in X#, as there is an existing codebase already running on vulcan!

Thomas
User avatar
robert
Posts: 4518
Joined: Fri Aug 21, 2015 10:57 am
Location: Netherlands

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Post by robert »

Thomas,
Thomas wrote: But please consider to keep the old and maybe "wrong" vulcan behaviour when using the vulcan-dialect in X#, as there is an existing codebase already running on vulcan!
I will see if I can change the runtime code to include the method name when the current dialect is Vulcan and to not include the method name when the current dialect is any of the other dialects.

Robert
XSharp Development Team
The Netherlands
robert@xsharp.eu
Thomas
Posts: 93
Joined: Thu Oct 25, 2018 11:39 am

"NoMethod" late bound call bug? (B2.10 - X# runtime , Vulcan dialect)

Post by Thomas »

Robert, that would be great!

Thank you
Thomas
Post Reply