package scotch.compiler.intermediate;
import static scotch.compiler.syntax.reference.DefinitionReference.rootRef;
import java.util.List;
import com.google.common.collect.ImmutableList;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import scotch.compiler.syntax.reference.DefinitionReference;
import scotch.compiler.target.BytecodeGenerator;
@EqualsAndHashCode(callSuper = false)
@ToString
public class IntermediateRoot extends IntermediateDefinition {
private final List<DefinitionReference> references;
public IntermediateRoot(List<DefinitionReference> references) {
this.references = ImmutableList.copyOf(references);
}
@Override
public void generateBytecode(BytecodeGenerator generator) {
references.forEach(generator::generateBytecode);
}
@Override
public DefinitionReference getReference() {
return rootRef();
}
}