Package de.firemage.autograder.core
Class CodeModel
java.lang.Object
de.firemage.autograder.core.CodeModel
- All Implemented Interfaces:
AutoCloseable
The model is build lazily to work better with the multithreaded core architecture.
-
Method Summary
Modifier and TypeMethodDescriptionstatic CodeModelbuildFor(SourceInfo file, Path jar, ClassLoader classLoader) voidclose()voidspoon.reflect.declaration.CtMethod<Void>findMain()spoon.reflect.declaration.CtPackagespoon.reflect.factory.Factoryspoon.reflect.CtModelgetModel()booleanChecks if the code has a main method.<E extends spoon.reflect.declaration.CtElement>
voidprocessWith(spoon.processing.Processor<E> processor)
-
Method Details
-
buildFor
-
ensureModelBuild
public void ensureModelBuild() -
getFactory
public spoon.reflect.factory.Factory getFactory() -
getModel
public spoon.reflect.CtModel getModel() -
processWith
public <E extends spoon.reflect.declaration.CtElement> void processWith(spoon.processing.Processor<E> processor) -
findMain
-
hasMainMethod
public boolean hasMainMethod()Checks if the code has a main method.- Returns:
- true if it has, false otherwise
-
getBasePackage
public spoon.reflect.declaration.CtPackage getBasePackage() -
close
- Specified by:
closein interfaceAutoCloseable- Throws:
IOException
-