diff --git a/compiler/frontend.android/src/org/jetbrains/jet/lang/resolve/android/AndroidUIXmlParser.kt b/compiler/frontend.android/src/org/jetbrains/jet/lang/resolve/android/AndroidUIXmlParser.kt index 73b756f9985..af84a8b4220 100644 --- a/compiler/frontend.android/src/org/jetbrains/jet/lang/resolve/android/AndroidUIXmlParser.kt +++ b/compiler/frontend.android/src/org/jetbrains/jet/lang/resolve/android/AndroidUIXmlParser.kt @@ -9,6 +9,7 @@ import org.jetbrains.kotlin.psi.JetPsiFactory import org.jetbrains.kotlin.psi.JetFile import javax.xml.parsers.SAXParser import java.util.HashMap +import com.intellij.openapi.vfs.VirtualFile abstract class AndroidUIXmlParser { @@ -94,11 +95,16 @@ abstract class AndroidUIXmlParser { private fun parseSingleFile(file: File): String { val ids: MutableCollection = ArrayList() val handler = AndroidXmlHandler({ id, wClass -> ids.add(AndroidWidget(id, wClass)) }) - saxParser.parse(FileInputStream(file), handler) - val res = produceKotlinProperties(KotlinStringWriter(), ids).toString() - fileCache[file] = res fileModificationTime[file] = file.lastModified() - return res + try { + saxParser.parse(FileInputStream(file), handler) + val res = produceKotlinProperties(KotlinStringWriter(), ids).toString() + fileCache[file] = res + return res + } catch (e: Exception) { + fileCache[file] = "" + return "" + } } private fun doParse(): CacheAction? {