Locale { @Pure @Inline(value = "Locale.getStringWithDefaultFrom(($1), ($2), ($3), ($4))", imported = {Locale.class}) public static String getStringFrom(String resourcePath, String key, Object... params) { return getStringWithDefaultFrom(resourcePath, key, key, params); } private  Locale(); static Charset[] getPriorizedDecodingCharsets(); static void setPriorizedDecodingCharsets(Charset[] charsets); @Pure @Inline(value = "Locale.getStringWithDefaultFrom(ClassLoaderFinder.findClassLoader(), ($1), ($2), ($3), ($4))", imported = {Locale.class, ClassLoaderFinder.class}) static String getStringWithDefaultFrom(String resourcePath, String key, String defaultValue, Object... params); @Pure static String getStringWithDefaultFrom(ClassLoader classLoader, String resourcePath, String key,
			String defaultValue, Object... params); @Pure @Inline(value = "Locale.getStringWithDefaultFrom(($1), ($2), ($3), ($4))", imported = {Locale.class}) static String getStringFrom(String resourcePath, String key, Object... params); @Pure @Inline(value = "Locale.getStringWithDefaultFrom(($1), ($2), ($3), ($3), ($4))", imported = {Locale.class}) static String getStringFrom(ClassLoader classLoader, String resourcePath, String key, Object... params); @Pure static String getString(Class<?> resource, String key, Object... params); @Pure static String getString(ClassLoader classLoader, Class<?> resource, String key, Object... params); static String getString(String key, Object... params); @Pure static String getString(ClassLoader classLoader, String key, Object... params); @Pure static String getStringWithDefault(Class<?> resource, String key, String defaultValue, Object... params); @Pure static String getStringWithDefault(ClassLoader classLoader, Class<?> resource, String key,
			String defaultValue, Object... params); @Pure static String getStringWithDefault(String key, String defaultValue, Object... params); @Pure static String getStringWithDefault(ClassLoader classLoader, String key, String defaultValue, Object... params); @Pure static String decodeString(byte[] bytes); static String decodeString(InputStream stream); static boolean decodeString(InputStream stream, List<String> lineArray);  }
@Test public void getStringFromStringStringObjectArray() { assertEquals(NOKEY, Locale.getStringFrom(RESOURCE1,NOKEY,P1,P2,P3)); assertEquals( "ABC P1 'P2' {2}", Locale.getStringFrom(RESOURCE1,KEY1,P1,P2,P3)); assertEquals( "ABC P3 'P1' {2}", Locale.getStringFrom(RESOURCE1,KEY1,P3,P1,P2)); assertEquals( NOKEY, Locale.getStringFrom(RESOURCE2,NOKEY,P1,P2,P3)); assertEquals( "DEF P1 'P2' {2}", Locale.getStringFrom(RESOURCE2,KEY1,P1,P2,P3)); assertEquals( "DEF P3 'P1' {2}", Locale.getStringFrom(RESOURCE2,KEY1,P3,P1,P2)); assertInlineParameterUsage(Locale.class, "getStringFrom", String.class, String.class, Object[].class); }
@Test public void getStringFromClassLoaderStringStringObjectArray() { ClassLoader l = LocaleTest.class.getClassLoader(); assertEquals(NOKEY, Locale.getStringFrom(l, RESOURCE1,NOKEY,P1,P2,P3)); assertEquals( "ABC P1 'P2' {2}", Locale.getStringFrom(l, RESOURCE1,KEY1,P1,P2,P3)); assertEquals( "ABC P3 'P1' {2}", Locale.getStringFrom(l, RESOURCE1,KEY1,P3,P1,P2)); assertEquals( NOKEY, Locale.getStringFrom(l, RESOURCE2,NOKEY,P1,P2,P3)); assertEquals( "DEF P1 'P2' {2}", Locale.getStringFrom(l, RESOURCE2,KEY1,P1,P2,P3)); assertEquals( "DEF P3 'P1' {2}", Locale.getStringFrom(l, RESOURCE2,KEY1,P3,P1,P2)); assertInlineParameterUsage(Locale.class, "getStringFrom", ClassLoader.class, String.class, String.class, Object[].class); }