From 208735d92eed891c700f3af4369d9f3404df54bb Mon Sep 17 00:00:00 2001 From: Mikhail Mutcianko Date: Fri, 18 Jul 2014 15:26:32 +0400 Subject: [PATCH] suppress xml errors in converter - simply ignore malformed layouts, xml editor in ide will highlight them anyway --- .../jet/lang/resolve/android/AndroidUIXmlParser.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) 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? {