Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java')
-rw-r--r--plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java20
1 files changed, 14 insertions, 6 deletions
diff --git a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java
index 860df8a8..f1c2b3dc 100644
--- a/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java
+++ b/plugins/org.eclipse.xpand/src/org/eclipse/xpand2/XpandFacade.java
@@ -36,16 +36,24 @@ public class XpandFacade {
/**
* @deprecated use XpandFacade.create instead
*/
+ @Deprecated
public XpandFacade(final XpandExecutionContext ctx) {
this.ctx = ctx;
}
public void evaluate(final String definitionName, final Object targetObject, Object... params) {
- params = params == null ? new Object[0] : params;
+ evaluate2(definitionName, targetObject, params != null ? Arrays.asList(params) : null);
+ }
+
+ public void evaluate2(final String definitionName, final Object targetObject, List<Object> paramList) {
+ if (paramList == null) {
+ paramList = Collections.emptyList();
+ }
final Type targetType = ctx.getType(targetObject);
- final Type[] paramTypes = new Type[params.length];
+ final Type[] paramTypes = new Type[paramList.size()];
for (int i = 0; i < paramTypes.length; i++) {
- paramTypes[i] = ctx.getType(params[i]);
+ Object obj = paramList.get(i);
+ paramTypes[i] = ctx.getType(obj);
}
final XpandDefinition def = ctx.findDefinition(definitionName, targetType, paramTypes);
@@ -55,8 +63,8 @@ public class XpandFacade {
ctx = (XpandExecutionContext) ctx.cloneWithVariable(new Variable(ExecutionContext.IMPLICIT_VARIABLE,
targetObject));
- for (int i = 0; i < params.length; i++) {
- final Variable v = new Variable(def.getParams()[i].getName().getValue(), params[i]);
+ for (int i = 0; i < paramList.size(); i++) {
+ final Variable v = new Variable(def.getParams()[i].getName().getValue(), paramList.get(i));
ctx = (XpandExecutionContext) ctx.cloneWithVariable(v);
}
ctx = (XpandExecutionContext) ctx.cloneWithResource(def.getOwner());
@@ -85,7 +93,7 @@ public class XpandFacade {
return issues.toArray(new AnalysationIssue[issues.size()]);
}
- public static XpandFacade create(XpandExecutionContextImpl execCtx) {
+ public static XpandFacade create(XpandExecutionContext execCtx) {
return new XpandFacade(execCtx);
}
}

Back to the top