org.fulib.scenarios.ast.CompilationContext Maven / Gradle / Ivy
Show all versions of fulibScenarios Show documentation
// Generated by GenTreeSrc v0.10.2
// DO NOT EDIT - CHANGES WILL BE LOST ON RE-GENERATE
package org.fulib.scenarios.ast;
import java.util.List;
import java.util.Map;
import org.fulib.scenarios.library.Library;
import org.fulib.scenarios.tool.Config;
public interface CompilationContext extends Node
{
// =============== Static Methods ===============
static CompilationContext of(Config config, Map groups, List libraries) { return new Impl(config, groups, libraries); }
// =============== Properties ===============
Config getConfig();
void setConfig(Config config);
Map getGroups();
void setGroups(Map groups);
List getLibraries();
void setLibraries(List libraries);
// =============== Methods ===============
default R accept(CompilationContext.Visitor
visitor, P par) { return visitor.visit(this, par); }
@Override default
R accept(Node.Visitor
visitor, P par) { return visitor.visit(this, par); }
// =============== Classes ===============
class Impl implements CompilationContext
{
// =============== Fields ===============
private Config config;
private Map groups;
private List libraries;
// =============== Constructors ===============
public Impl() {}
public Impl(Config config, Map groups, List libraries)
{
this.config = config;
this.groups = groups;
this.libraries = libraries;
}
// =============== Properties ===============
@Override public Config getConfig() { return this.config; }
@Override public void setConfig(Config config) { this.config = config; }
@Override public Map getGroups() { return this.groups; }
@Override public void setGroups(Map groups) { this.groups = groups; }
@Override public List getLibraries() { return this.libraries; }
@Override public void setLibraries(List libraries) { this.libraries = libraries; }
}
interface Visitor
{
// =============== Methods ===============
default R visit(CompilationContext compilationContext, P par) { throw new UnsupportedOperationException(this.getClass().getName() + ".visit(" + compilationContext.getClass().getName() + ")"); }
}
}