Skip to content

Unable to calculate the type of a varargs parameter. #2368

@gpr-indevelopment

Description

@gpr-indevelopment

I have received an exception when trying to symbol solve the following method:

public void execute(final ComponentBase _this) {
        String regexText = null;
        String functionName = "getRegexValues";
	final ObjectContext scemAdapter = _this.getChildByAlias("scem_adapter");
        final Integer outputIdx = scemAdapter.getListString("NWT_RESULTADO_TEXT").indexOf("asyn");
        if (outputIdx >= 0) {
            String outpuText = scemAdapter.getListString("NWT_RESULTADO_TEXT_VALUE").get(outputIdx);
	}
	_this.getParent().set("NWT_RESULTADO_INERCIA", _this.getRoot().executeMethod(functionName,regexText,outpuText,1));
}
java.lang.RuntimeException: Unable to calculate the type of a parameter of a method call. Method call: _this.getParent().set("NWT_RESULTADO_IEC_ETA_100", _this.getRoot().executeMethod(functionName, regexText, outpuText, 5)), Parameter: _this.getRoot().executeMethod(functionName, regexText, outpuText, 5)

The class referenced by _this is ComponentBase.class, that extends ObjectContext.class. Both classes can be found inside a jar file that I added to my CombinedTypeSolver via JarTypeSolver. I have also added a new ReflectionTypeSolver() to the configuration. The method executeMethod can be found in ObjectContext.class (retrieved by the getRoot() method) has the following signature:

public Object executeMethod(String methodName, Object... values) {
        //...
}

The same exception was thrown on other java files whenever executeMethod was called. Since both dependencies were correctly added to the CombinedTypeSolver, I wonder:

  • Is the symbol solver capable of tracing the reference of a method that takes varargs as a parameter?
  • Are there any other reasons of why this might be occurring? Am I missing something?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions