in intellij-plugin/educational-core/src/com/jetbrains/edu/coursecreator/projectView/CCNode.kt [28:54]
override fun modifyChildNode(childNode: AbstractTreeNode<*>): AbstractTreeNode<*>? {
val node = super.modifyChildNode(childNode)
if (node != null) return node
val value = childNode.value
if (value is PsiDirectory) {
return CCNode(myProject, value, settings, item)
}
if (value is PsiElement) {
val psiFile = value.containingFile
val virtualFile = psiFile.virtualFile
val course = StudyTaskManager.getInstance(myProject).course ?: return null
if (course.configurator == null) return CCStudentInvisibleFileNode(myProject, psiFile, settings)
if (EduUtilsKt.isTaskDescriptionFile(virtualFile.name)) {
return null
}
if (!virtualFile.isTestsFile(myProject)) {
return CCStudentInvisibleFileNode(myProject, psiFile, settings)
}
else {
if (isCourseCreator(myProject)) {
return CCStudentInvisibleFileNode(myProject, psiFile, settings)
}
}
}
return null
}