forked from JavaTX/JavaCompilerCore
20 lines
997 B
Java
20 lines
997 B
Java
package de.dhbwstuttgart.target.tree.expression;
|
|
|
|
import de.dhbwstuttgart.target.tree.MethodParameter;
|
|
import de.dhbwstuttgart.target.tree.TargetMethod;
|
|
import de.dhbwstuttgart.target.tree.type.TargetRefType;
|
|
import de.dhbwstuttgart.target.tree.type.TargetType;
|
|
|
|
import java.util.List;
|
|
|
|
public record TargetMethodCall(TargetType type, TargetType returnType, List<TargetType> parameterTypes, TargetExpression expr, List<TargetExpression> args, TargetType owner, String name, boolean isStatic, boolean isInterface) implements TargetStatementExpression {
|
|
public TargetMethodCall(TargetType type, TargetExpression expr, List<TargetExpression> args, TargetType owner, String name, boolean isStatic, boolean isInterface) {
|
|
this(type, type, args.stream().map(TargetExpression::type).toList(), expr, args, owner, name, isStatic, isInterface);
|
|
}
|
|
|
|
|
|
public String getDescriptor() {
|
|
return TargetMethod.getDescriptor(returnType, parameterTypes.toArray(TargetType[]::new));
|
|
}
|
|
}
|