e50eb73fb1
+ Add more data to the exception message
49 lines
1.9 KiB
XML
49 lines
1.9 KiB
XML
<project name="JetLexer" default="lexer">
|
|
<property name="home" value="${basedir}"/>
|
|
<property name="flex.base" value="${home}/../../dependencies/jflex"/>
|
|
<property name="out.dir" value="${basedir}/tmpout"/>
|
|
|
|
<macrodef name="flex">
|
|
<attribute name="flexfile"/>
|
|
<attribute name="destdir"/>
|
|
<attribute name="skeleton" default="${flex.base}/idea-flex.skeleton"/>
|
|
<sequential>
|
|
<delete dir="${out.dir}"/>
|
|
<mkdir dir="${out.dir}"/>
|
|
<java classname="JFlex.Main"
|
|
jvmargs="-Xmx512M"
|
|
fork="true"
|
|
failonerror="true">
|
|
<arg value="-sliceandcharat"/>
|
|
<arg value="-skel"/>
|
|
<arg value="@{skeleton}"/>
|
|
<arg value="-d"/>
|
|
<arg value="${out.dir}"/>
|
|
<arg value="@{flexfile}"/>
|
|
<classpath>
|
|
<pathelement location="${flex.base}/JFlex.jar"/>
|
|
</classpath>
|
|
</java>
|
|
<move todir="@{destdir}">
|
|
<fileset dir="${out.dir}">
|
|
<include name="*.java"/>
|
|
</fileset>
|
|
</move>
|
|
<delete dir="${out.dir}"/>
|
|
</sequential>
|
|
</macrodef>
|
|
|
|
<target name="lexer">
|
|
<flex flexfile="${home}/src/org/jetbrains/jet/lexer/Jet.flex"
|
|
destdir="${home}/src/org/jetbrains/jet/lexer/"/>
|
|
|
|
<!-- This is a hack, but we don't want to alter the skeleton we are using now, because being in sync with IDEA is more important-->
|
|
<replaceregexp file="${home}/src/org/jetbrains/jet/lexer/_JetLexer.java"
|
|
match="throw new KotlinLexerException\(message\);"
|
|
replace="throw new KotlinLexerException(message + "\\\\n at '" + yytext() + "'\\\\n" + zzBuffer);"/>
|
|
|
|
<flex flexfile="${home}/src/org/jetbrains/jet/kdoc/lexer/KDoc.flex"
|
|
destdir="${home}/src/org/jetbrains/jet/kdoc/lexer/"/>
|
|
</target>
|
|
</project>
|