Do not escape AS_SAFE,NOT_IN,NOT_IS in DescriptorRenderer

This commit is contained in:
Alexander Udalov
2013-09-18 17:20:45 +04:00
parent 3da06ee110
commit c029cbdf62
3 changed files with 23 additions and 9 deletions
@@ -52,9 +52,6 @@ public class KeywordStringsGenerated {
"do",
"when",
"trait",
"This",
"AS_SAFE",
"NOT_IN",
"NOT_IS"
"This"
));
}
@@ -13,6 +13,10 @@ val `in` = `class`<`trait`>(null)
fun <`in` : `trait`> `trait`.`fun`(`false`: `trait`): `trait` where `in` : Number
val AS_SAFE = 1
val NOT_IN = 2
val NOT_IS = 3
//internal final annotation class `true` : jet.Annotation defined in root package
//public constructor `true`() defined in `true`
//internal val `val`: jet.Int defined in root package
@@ -28,3 +32,6 @@ fun <`in` : `trait`> `trait`.`fun`(`false`: `trait`): `trait` where `in` : Numbe
//internal fun <`in` : `trait`> `trait`.`fun`(`false`: `trait`): `trait` where `in` : jet.Number defined in root package
//<`in` : `trait` & jet.Number> defined in `fun`
//value-parameter val `false`: `trait` defined in `fun`
//internal val AS_SAFE: jet.Int defined in root package
//internal val NOT_IN: jet.Int defined in root package
//internal val NOT_IS: jet.Int defined in root package
@@ -26,6 +26,9 @@ import org.jetbrains.jet.utils.Printer;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class GenerateKeywordStrings {
public static final File DEST_FILE = new File("compiler/frontend/src/org/jetbrains/jet/renderer/KeywordStringsGenerated.java");
@@ -50,12 +53,19 @@ public class GenerateKeywordStrings {
p.println("public static final Set<String> KEYWORDS = new HashSet<String>(Arrays.asList(");
p.pushIndent();
IElementType[] types = JetTokens.KEYWORDS.getTypes();
for (int i = 0, length = types.length; i < length; i++) {
assert types[i] instanceof JetKeywordToken : "Not a keyword in JetTokens.KEYWORDS: " + types[i];
JetKeywordToken keyword = (JetKeywordToken) types[i];
List<String> strings = new ArrayList<String>();
for (IElementType type : JetTokens.KEYWORDS.getTypes()) {
assert type instanceof JetKeywordToken : "Not a keyword in JetTokens.KEYWORDS: " + type;
JetKeywordToken keyword = (JetKeywordToken) type;
assert !keyword.isSoft() : "Soft keyword in JetTokens.KEYWORDS: " + keyword.getValue();
p.println("\"" + keyword.getValue() + "\""+ (i + 1 < length ? "," : ""));
if (keyword != JetTokens.AS_SAFE && keyword != JetTokens.NOT_IN && keyword != JetTokens.NOT_IS) {
strings.add(keyword.getValue());
}
}
for (Iterator<String> iterator = strings.iterator(); iterator.hasNext(); ) {
String string = iterator.next();
p.println("\"" + string + "\"" + (iterator.hasNext() ? "," : ""));
}
p.popIndent();