From fac5e5d6de4b3165d65a38ac621f7e4a347c16b8 Mon Sep 17 00:00:00 2001 From: Daniil Ovchinnikov Date: Tue, 8 Nov 2016 19:23:15 +0300 Subject: [PATCH] [groovy] add transformations bundle --- .../GroovyTransformationsBundle.kt | 42 +++++++++++++++++++ .../GroovyTransformationsBundle.properties | 0 2 files changed, 42 insertions(+) create mode 100644 plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.kt create mode 100644 plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.properties diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.kt b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.kt new file mode 100644 index 000000000000..3dd6640cbf79 --- /dev/null +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.kt @@ -0,0 +1,42 @@ +/* + * Copyright 2000-2016 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. + */ + +@file:JvmName(name = "GroovyTransformationsBundle") + +package org.jetbrains.plugins.groovy.transformations + +import com.intellij.CommonBundle +import com.intellij.reference.SoftReference +import org.jetbrains.annotations.PropertyKey +import java.lang.ref.Reference +import java.util.* + +const val BUNDLE = "org.jetbrains.plugins.groovy.transformations.GroovyTransformationsBundle" + +fun message(@PropertyKey(resourceBundle = BUNDLE) key: String, vararg params: Any) = CommonBundle.message(getBundle(), key, *params) + +private var ourBundle: Reference? = null + +private fun getBundle(): ResourceBundle { + var bundle = SoftReference.dereference(ourBundle) + + if (bundle == null) { + bundle = ResourceBundle.getBundle(BUNDLE)!! + ourBundle = SoftReference(bundle) + } + + return bundle +} \ No newline at end of file diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.properties b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/transformations/GroovyTransformationsBundle.properties new file mode 100644 index 000000000000..e69de29bb2d1