public class CompilerModuleExtensionImpl extends CompilerModuleExtension
Disposable.ParentPRODUCTION, TESTEP_NAME| Constructor and Description |
|---|
CompilerModuleExtensionImpl(Module module) |
| Modifier and Type | Method and Description |
|---|---|
void |
commit() |
void |
dispose()
Usually not invoked directly, see class javadoc.
|
VirtualFilePointer |
getCompilerOutputForTestsPointer() |
VirtualFile |
getCompilerOutputPath()
Returns a compiler output path for production sources of the module, if it is valid.
|
VirtualFile |
getCompilerOutputPathForTests()
Returns a compiler output path for test sources of the module, if it is valid.
|
VirtualFilePointer |
getCompilerOutputPointer() |
java.lang.String |
getCompilerOutputUrl()
Returns a compiler output path URL for production sources of the module.
|
java.lang.String |
getCompilerOutputUrlForTests()
Returns a compiler output path URL for test sources of the module.
|
CompilerModuleExtension |
getModifiableModel(boolean writable)
Note: don't call this method directly from client code.
|
Module |
getModule() |
VirtualFile [] |
getOutputRoots(boolean includeTests) |
java.lang.String [] |
getOutputRootUrls(boolean includeTests) |
Project |
getProject() |
void |
inheritCompilerOutputPath(boolean inherit)
Makes this module inheriting compiler output from its project
|
boolean |
isChanged() |
boolean |
isCompilerOutputPathInherited()
Returns
true if compiler output for this module is inherited from a project |
boolean |
isExcludeOutput() |
void |
readExternal(Element element) |
void |
setCompilerOutputPath(java.lang.String url) |
void |
setCompilerOutputPath(VirtualFile file) |
void |
setCompilerOutputPathForTests(java.lang.String url) |
void |
setCompilerOutputPathForTests(VirtualFile file) |
void |
setExcludeOutput(boolean exclude) |
void |
writeExternal(Element element) |
getInstancepublic CompilerModuleExtensionImpl(Module module)
public void readExternal(Element element)
readExternal in class ModuleExtensionpublic void writeExternal(Element element)
writeExternal in class ModuleExtensionpublic VirtualFile getCompilerOutputPath()
CompilerModuleExtensiongetCompilerOutputPath in class CompilerModuleExtensionpublic VirtualFile getCompilerOutputPathForTests()
CompilerModuleExtensiongetCompilerOutputPathForTests in class CompilerModuleExtensionpublic java.lang.String getCompilerOutputUrl()
CompilerModuleExtensiongetCompilerOutputUrl in class CompilerModuleExtensionpublic java.lang.String getCompilerOutputUrlForTests()
CompilerModuleExtensiongetCompilerOutputUrlForTests in class CompilerModuleExtensionpublic void setCompilerOutputPath(VirtualFile file)
setCompilerOutputPath in class CompilerModuleExtensionpublic void setCompilerOutputPath(java.lang.String url)
setCompilerOutputPath in class CompilerModuleExtensionpublic void setCompilerOutputPathForTests(VirtualFile file)
setCompilerOutputPathForTests in class CompilerModuleExtensionpublic void setCompilerOutputPathForTests(java.lang.String url)
setCompilerOutputPathForTests in class CompilerModuleExtensionpublic Module getModule()
public Project getProject()
public void inheritCompilerOutputPath(boolean inherit)
CompilerModuleExtensioninheritCompilerOutputPath in class CompilerModuleExtensioninherit - whether or not compiler output is inheritedpublic boolean isCompilerOutputPathInherited()
CompilerModuleExtensiontrue if compiler output for this module is inherited from a projectisCompilerOutputPathInherited in class CompilerModuleExtensionpublic VirtualFilePointer getCompilerOutputPointer()
getCompilerOutputPointer in class CompilerModuleExtensionpublic VirtualFilePointer getCompilerOutputForTestsPointer()
getCompilerOutputForTestsPointer in class CompilerModuleExtensionpublic void setExcludeOutput(boolean exclude)
setExcludeOutput in class CompilerModuleExtensionpublic boolean isExcludeOutput()
isExcludeOutput in class CompilerModuleExtensionpublic CompilerModuleExtension getModifiableModel(boolean writable)
ModuleExtension
ModifiableRootModel modifiableModel = ModuleRootManager.getInstance(module).getModifiableModel();
CompilerModuleExtension extension = modifiableModel.getModuleExtension(CompilerModuleExtension.class);
try {
// ...
}
finally {
modifiableModel.commit();
}
The point is that call to commit() on CompilerModuleExtension obtained like
'CompilerModuleExtension.getInstance(module).getModifiableModel(true)' doesn't dispose the model.
Call to ModifiableRootModel.commit() not only commits linked extensions but disposes them as well.getModifiableModel in class ModuleExtensionwritable - flag which identifies if resulting model is writablepublic void commit()
commit in class ModuleExtensionpublic boolean isChanged()
isChanged in class ModuleExtensionpublic void dispose()
Disposablepublic VirtualFile [] getOutputRoots(boolean includeTests)
getOutputRoots in class CompilerModuleExtensionpublic java.lang.String [] getOutputRootUrls(boolean includeTests)
getOutputRootUrls in class CompilerModuleExtension