From 829173d5ece4fa419abbb6d6bb8ddd2c7ca632f6 Mon Sep 17 00:00:00 2001 From: Stepan Koltsov Date: Sat, 7 Apr 2012 06:32:18 +0400 Subject: [PATCH] di: shortcut to initialize constant enum fields --- .../src/org/jetbrains/jet/di/AllInjectorsGenerator.java | 3 +-- .../org/jetbrains/jet/di/DependencyInjectorGenerator.java | 5 +++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/injector-generator/src/org/jetbrains/jet/di/AllInjectorsGenerator.java b/injector-generator/src/org/jetbrains/jet/di/AllInjectorsGenerator.java index 945299b9447..22113e44678 100644 --- a/injector-generator/src/org/jetbrains/jet/di/AllInjectorsGenerator.java +++ b/injector-generator/src/org/jetbrains/jet/di/AllInjectorsGenerator.java @@ -132,8 +132,7 @@ public class AllInjectorsGenerator { generator.addPublicField(PsiClassFinderForJvm.class); generator.addField(false, ModuleDescriptor.class, null, new GivenExpression("new org.jetbrains.jet.lang.descriptors.ModuleDescriptor(\"\")")); - generator.addField(false, CompilerSpecialMode.class, null, - new GivenExpression("CompilerSpecialMode.REGULAR")); + generator.addField(CompilerSpecialMode.REGULAR); // Parameters generator.addPublicParameter(Project.class); diff --git a/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java b/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java index 9efbe132e87..20339b14d06 100644 --- a/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java +++ b/injector-generator/src/org/jetbrains/jet/di/DependencyInjectorGenerator.java @@ -183,6 +183,11 @@ public class DependencyInjectorGenerator { return addField(false, type, null, null); } + public Field addField(Enum enu) { + Class clazz = enu.getClass(); + return addField(false, clazz, null, new GivenExpression(clazz.getSimpleName() + "." + enu.name())); + } + public Field addField(boolean isPublic, Class type, @Nullable String name, @Nullable Expression init) { return addField(isPublic, new DiType(type), name, init); }