Generate keyword strings for DescriptorRenderer
This is done in order to kill dependency of DescriptorRendererImpl on JetTokens
This commit is contained in:
@@ -19,7 +19,6 @@ package org.jetbrains.jet.renderer;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Sets;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.psi.tree.IElementType;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.lang.descriptors.*;
|
||||
import org.jetbrains.jet.lang.descriptors.annotations.Annotated;
|
||||
@@ -33,21 +32,10 @@ import org.jetbrains.jet.lang.resolve.name.Name;
|
||||
import org.jetbrains.jet.lang.types.*;
|
||||
import org.jetbrains.jet.lang.types.expressions.ExpressionTypingUtils;
|
||||
import org.jetbrains.jet.lang.types.lang.KotlinBuiltIns;
|
||||
import org.jetbrains.jet.lexer.JetKeywordToken;
|
||||
import org.jetbrains.jet.lexer.JetTokens;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
private static final Set<String> KEYWORDS = Sets.newHashSet();
|
||||
static {
|
||||
for (IElementType elementType : JetTokens.KEYWORDS.getTypes()) {
|
||||
assert elementType instanceof JetKeywordToken;
|
||||
assert !((JetKeywordToken) elementType).isSoft();
|
||||
KEYWORDS.add(((JetKeywordToken) elementType).getValue());
|
||||
}
|
||||
}
|
||||
|
||||
private final boolean shortNames;
|
||||
private final boolean withDefinedIn;
|
||||
private final Set<DescriptorRenderer.Modifier> modifiers;
|
||||
@@ -161,7 +149,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
@NotNull
|
||||
private String renderName(@NotNull Name identifier) {
|
||||
String asString = identifier.toString();
|
||||
return escape(KEYWORDS.contains(asString) ? '`' + asString + '`' : asString);
|
||||
return escape(KeywordStringsGenerated.KEYWORDS.contains(asString) ? '`' + asString + '`' : asString);
|
||||
}
|
||||
|
||||
private void renderName(@NotNull DeclarationDescriptor descriptor, @NotNull StringBuilder builder) {
|
||||
@@ -692,7 +680,7 @@ public class DescriptorRendererImpl implements DescriptorRenderer {
|
||||
}
|
||||
|
||||
private void renderNamespace(@NotNull NamespaceDescriptor namespace, @NotNull StringBuilder builder) {
|
||||
builder.append(renderKeyword(JetTokens.PACKAGE_KEYWORD.getValue())).append(" ");
|
||||
builder.append(renderKeyword("package")).append(" ");
|
||||
renderName(namespace, builder);
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,60 @@
|
||||
/*
|
||||
* Copyright 2010-2013 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.jetbrains.jet.renderer;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Set;
|
||||
import java.util.HashSet;
|
||||
|
||||
/** This class is generated by {@link "org.jetbrains.jet.generators.frontend.GenerateKeywordStrings"}. DO NOT MODIFY MANUALLY */
|
||||
public class KeywordStringsGenerated {
|
||||
private KeywordStringsGenerated() {}
|
||||
|
||||
public static final Set<String> KEYWORDS = new HashSet<String>(Arrays.asList(
|
||||
"package",
|
||||
"as",
|
||||
"type",
|
||||
"class",
|
||||
"this",
|
||||
"super",
|
||||
"val",
|
||||
"var",
|
||||
"fun",
|
||||
"for",
|
||||
"null",
|
||||
"true",
|
||||
"false",
|
||||
"is",
|
||||
"in",
|
||||
"throw",
|
||||
"return",
|
||||
"break",
|
||||
"continue",
|
||||
"object",
|
||||
"if",
|
||||
"try",
|
||||
"else",
|
||||
"while",
|
||||
"do",
|
||||
"when",
|
||||
"trait",
|
||||
"This",
|
||||
"AS_SAFE",
|
||||
"NOT_IN",
|
||||
"NOT_IS"
|
||||
));
|
||||
}
|
||||
Reference in New Issue
Block a user