Form methods marked as @protected

Hi all,

I have a question regarding form methods which are marked as @protected in their JSDoc annotation.

The code below is in a base_from which is then extended by other forms:

/**
 * Some method in the base_form
 * @protected
 * @properties={typeid:24,uuid:"CF39C76D-63B4-46D4-9590-0090D68081FD"}
 */
function methodX()
{
    ...
}

/**
 * Another method in the base_form
 * @private
 * @param {RuntimeForm<base_form>} formInstance - some form which extends the base_form
 * @properties={typeid:24,uuid:"CF39C76D-63B4-46D4-9590-0090D68081CD"}
 */
function methodY(formInstance)
{
    //call the protected method which is perfectly valid
    frmInstance.methodX();  //<--- this produces a warning "The function methodX is private" !!!??
}

Why does Servoy produce a warning when inside the implementation of a method of the base_form the code references a form which extends the base_form and is calling on that form instance a protected method defined in the base_form? After all the code which is referencing methodX is only in the base_form. To me this is a bug. In addition, the code analysis picks up the protected method as “private” even though the solutionExplorer shows is with the protected member icon.
Am I correct or am I missing something?

We don’t support this currently, it doesn’t see that frmInstance is a base form of the form you are currently in and because of that you can call a protected method
protected methods are for now only callable from a sub form itself.

everything thats goes over a “property” so xxxxx.yyyy will be seen as a public access (so yyyy must be public, everything else is private)

the code analyzer is not that sophisticated (as the java one), protected/private is not really a language thing, this is just some extra docs to make it a bit nicer.