001/*
002 * Copyright (c) 2012-2017 Institut National des Sciences Appliquées de Lyon (INSA-Lyon)
003 *
004 * All rights reserved. This program and the accompanying materials
005 * are made available under the terms of the Eclipse Public License v1.0
006 * which accompanies this distribution, and is available at
007 * http://www.eclipse.org/legal/epl-v10.html
008 */
009
010package org.eclipse.golo.compiler.ir;
011
012import java.util.Set;
013import java.util.Collection;
014
015public interface FunctionContainer {
016  Set<GoloFunction> getFunctions();
017
018  void addFunction(GoloFunction func);
019
020  default void addFunctions(Collection<GoloFunction> funcs) {
021    for (GoloFunction f : funcs) {
022      addFunction(f);
023    }
024  }
025
026  boolean hasFunctions();
027}