X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.scl.compiler%2Fsrc%2Forg%2Fsimantics%2Fscl%2Fcompiler%2Fconstants%2Fgeneric%2FCallJava.java;h=b5ba945797afcd350d1ca6ad2998c7515c2a8045;hb=refs%2Fchanges%2F63%2F1863%2F1;hp=b5a3a8e4d17a4ec6c72fa6e5a3f5e69d70ed4142;hpb=4bf8562ab7cbb3747f9c5844a07469291d43e905;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/generic/CallJava.java b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/generic/CallJava.java index b5a3a8e4d..b5ba94579 100644 --- a/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/generic/CallJava.java +++ b/bundles/org.simantics.scl.compiler/src/org/simantics/scl/compiler/constants/generic/CallJava.java @@ -1,95 +1,115 @@ -package org.simantics.scl.compiler.constants.generic; - -import org.cojen.classfile.TypeDesc; -import org.simantics.scl.compiler.constants.FunctionValue; -import org.simantics.scl.compiler.internal.codegen.references.Val; -import org.simantics.scl.compiler.internal.codegen.types.JavaReferenceValidator; -import org.simantics.scl.compiler.internal.codegen.utils.MethodBuilder; -import org.simantics.scl.compiler.types.TVar; -import org.simantics.scl.compiler.types.Type; - -/** - * This class represents a call to a Java method as an SCL function value. - * It is instantiated by the {@link org.simantics.scl.compiler.compilation.Elaboration.matchType(MethodRef, Type)} method. - */ -public class CallJava extends FunctionValue { - StackItem[] stackItems; - MethodRef methodRef; - OutputFilter filter; - - public CallJava(TVar[] typeParameters, Type effect, Type returnType, - Type[] parameterTypes, StackItem[] stackItems, MethodRef methodRef, - OutputFilter filter) { - super(typeParameters, effect, returnType, parameterTypes); - if(stackItems == null) { - stackItems = new StackItem[parameterTypes.length]; - for(int i=0;i