diff --git a/j2k/src/org/jetbrains/jet/j2k/Converter.java b/j2k/src/org/jetbrains/jet/j2k/Converter.java index d0c5eea6e8c..5248e92d7af 100644 --- a/j2k/src/org/jetbrains/jet/j2k/Converter.java +++ b/j2k/src/org/jetbrains/jet/j2k/Converter.java @@ -1,5 +1,6 @@ package org.jetbrains.jet.j2k; +import com.google.common.collect.Sets; import com.intellij.psi.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -35,17 +36,17 @@ public class Converter { private static PsiType ourMethodReturnType = null; @NotNull - private static Set settings = new HashSet(); + private static Set flags = Sets.newHashSet(); private Converter() { } - public static boolean addSetting(@NotNull String value) { - return settings.add(value); + public static boolean addFlag(@NotNull J2KConverterFlags flag) { + return flags.add(flag); } - public static boolean hasSetting(@NotNull String value) { - return settings.contains(value); + public static boolean hasFlag(@NotNull J2KConverterFlags flag) { + return flags.contains(flag); } public static void setClassIdentifiers(@NotNull Set identifiers) { @@ -394,7 +395,7 @@ public class Converter { final IdentifierImpl identifier = new IdentifierImpl(method.getName()); final Type returnType = typeToType(method.getReturnType(), ConverterUtil.isAnnotatedAsNotNull(method.getModifierList())); - final Block body = hasSetting("declarations-only") + final Block body = hasFlag(J2KConverterFlags.SKIP_BODIES) ? Block.EMPTY_BLOCK : blockToBlock(method.getBody(), notEmpty); // #TODO final Element params = createFunctionParameters(method); diff --git a/j2k/src/org/jetbrains/jet/j2k/J2KConverterFlags.java b/j2k/src/org/jetbrains/jet/j2k/J2KConverterFlags.java new file mode 100644 index 00000000000..49afae27106 --- /dev/null +++ b/j2k/src/org/jetbrains/jet/j2k/J2KConverterFlags.java @@ -0,0 +1,10 @@ +package org.jetbrains.jet.j2k; + +/** + * @author abreslav + */ +public enum J2KConverterFlags { + FULLY_QUALIFIED_TYPE_NAMES, + SKIP_BODIES, + SKIP_NON_PUBLIC_MEMBERS +} diff --git a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinCli.java b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinCli.java index 094fa5db7de..b876dd7991c 100644 --- a/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinCli.java +++ b/j2k/src/org/jetbrains/jet/j2k/JavaToKotlinCli.java @@ -50,7 +50,7 @@ // String to = commandLine.getOptionValue("to"); // // for (Option o : commandLine.getOptions()) { -// Converter.addSetting(o.getLongOpt()); +// Converter.addFlag(o.getLongOpt()); // } // // if (!from.isEmpty() && !to.isEmpty()) diff --git a/j2k/src/org/jetbrains/jet/j2k/ast/Class.java b/j2k/src/org/jetbrains/jet/j2k/ast/Class.java index 77b27d2637b..b9e6fb0687b 100644 --- a/j2k/src/org/jetbrains/jet/j2k/ast/Class.java +++ b/j2k/src/org/jetbrains/jet/j2k/ast/Class.java @@ -3,6 +3,7 @@ package org.jetbrains.jet.j2k.ast; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.j2k.Converter; +import org.jetbrains.jet.j2k.J2KConverterFlags; import org.jetbrains.jet.j2k.util.AstUtil; import java.util.HashSet; @@ -38,7 +39,7 @@ public class Class extends Member { static List getMembers(List members) { List withoutPrivate = new LinkedList(); - if (Converter.hasSetting("public-only")) { + if (Converter.hasFlag(J2KConverterFlags.SKIP_NON_PUBLIC_MEMBERS)) { for (Member m : members) { if (m.accessModifier().equals("public") || m.accessModifier().equals("protected")) { withoutPrivate.add(m); diff --git a/j2k/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java b/j2k/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java index 8263b8af421..4863ae1249c 100644 --- a/j2k/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java +++ b/j2k/src/org/jetbrains/jet/j2k/visitors/TypeVisitor.java @@ -4,6 +4,7 @@ import com.intellij.psi.*; import com.intellij.psi.impl.source.PsiClassReferenceType; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.j2k.Converter; +import org.jetbrains.jet.j2k.J2KConverterFlags; import org.jetbrains.jet.j2k.ast.*; import org.jetbrains.jet.j2k.util.AstUtil; @@ -81,7 +82,7 @@ public class TypeVisitor extends PsiTypeVisitor { if (psiClass != null) { String qualifiedName = psiClass.getQualifiedName(); if (qualifiedName != null) { - if (!qualifiedName.equals("java.lang.Object") && Converter.hasSetting("fqn")) { + if (!qualifiedName.equals("java.lang.Object") && Converter.hasFlag(J2KConverterFlags.FULLY_QUALIFIED_TYPE_NAMES)) { return new IdentifierImpl(qualifiedName); } if (qualifiedName.equals(JAVA_LANG_ITERABLE)) {