![JAR search and dependency download from the Maven repository](/logo.png)
tech.harmonysoft.oss.traute.javac.common.CompilationUnitProcessingContext Maven / Gradle / Ivy
package tech.harmonysoft.oss.traute.javac.common;
import com.sun.source.tree.CompilationUnitTree;
import com.sun.tools.javac.tree.TreeMaker;
import com.sun.tools.javac.util.Names;
import org.jetbrains.annotations.NotNull;
import tech.harmonysoft.oss.traute.common.stats.StatsCollector;
import tech.harmonysoft.oss.traute.common.settings.TrautePluginSettings;
import tech.harmonysoft.oss.traute.javac.log.TrautePluginLogger;
import tech.harmonysoft.oss.traute.javac.text.ExceptionTextGeneratorManager;
import java.util.HashSet;
import java.util.Set;
/**
* Holds data necessary for processing a {@link CompilationUnitTree} given by {@code javac}
*/
public class CompilationUnitProcessingContext {
private final Set imports = new HashSet<>();
@NotNull private final TrautePluginSettings pluginSettings;
@NotNull private final TreeMaker astFactory;
@NotNull private final Names symbolsTable;
@NotNull private final TrautePluginLogger logger;
@NotNull private final StatsCollector statsCollector;
@NotNull private final ExceptionTextGeneratorManager exceptionTextGeneratorManager;
public CompilationUnitProcessingContext(@NotNull TrautePluginSettings pluginSettings,
@NotNull TreeMaker astFactory,
@NotNull Names symbolsTable,
@NotNull TrautePluginLogger logger,
@NotNull StatsCollector statsCollector,
@NotNull ExceptionTextGeneratorManager exceptionTextGeneratorManager)
{
this.pluginSettings = pluginSettings;
this.statsCollector = statsCollector;
this.astFactory = astFactory;
this.symbolsTable = symbolsTable;
this.logger = logger;
this.exceptionTextGeneratorManager = exceptionTextGeneratorManager;
}
public void addImport(@NotNull String importText) {
imports.add(importText);
}
@NotNull
public TrautePluginSettings getPluginSettings() {
return pluginSettings;
}
@NotNull
public Set getImports() {
return imports;
}
@NotNull
public TreeMaker getAstFactory() {
return astFactory;
}
@NotNull
public Names getSymbolsTable() {
return symbolsTable;
}
@NotNull
public TrautePluginLogger getLogger() {
return logger;
}
@NotNull
public StatsCollector getStatsCollector() {
return statsCollector;
}
@NotNull
public ExceptionTextGeneratorManager getExceptionTextGeneratorManager() {
return exceptionTextGeneratorManager;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy