org.protelis.lang.interpreter.impl.FunctionCall Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of protelis-interpreter Show documentation
Show all versions of protelis-interpreter Show documentation
The Protelis language interpreter
/*
* Copyright (C) 2021, Danilo Pianini and contributors listed in the project's build.gradle.kts or pom.xml file.
*
* This file is part of Protelis, and is distributed under the terms of the GNU General Public License,
* with a linking exception, as described in the file LICENSE.txt in this project's top directory.
*/
package org.protelis.lang.interpreter.impl;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
import org.protelis.lang.ProtelisLoadingUtilities;
import org.protelis.lang.datatype.FunctionDefinition;
import org.protelis.lang.interpreter.ProtelisAST;
import org.protelis.lang.interpreter.util.Bytecode;
import org.protelis.lang.interpreter.util.Reference;
import org.protelis.lang.loading.Metadata;
import org.protelis.vm.ExecutionContext;
import java.util.HashMap;
import java.util.List;
import java.util.Objects;
import static com.google.common.collect.Maps.newLinkedHashMapWithExpectedSize;
/**
* Call a Protelis function.
*/
public final class FunctionCall extends AbstractProtelisAST