-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Labels
Description
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?
Reactions are currently unavailable