From 5843587ac6472c067aa08347d43f68b78857b053 Mon Sep 17 00:00:00 2001 From: Mathias Date: Wed, 6 May 2015 12:22:38 +0200 Subject: Fix automatic field name discovery for member names with mangled prefix, closes #142 --- src/main/scala/spray/json/ProductFormats.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/main/scala/spray/json/ProductFormats.scala') diff --git a/src/main/scala/spray/json/ProductFormats.scala b/src/main/scala/spray/json/ProductFormats.scala index b1aac8e..7d6c63e 100644 --- a/src/main/scala/spray/json/ProductFormats.scala +++ b/src/main/scala/spray/json/ProductFormats.scala @@ -72,7 +72,8 @@ trait ProductFormats extends ProductFormatsInstances { val copyDefaultMethods = clazz.getMethods.filter(_.getName.startsWith("copy$default$")).sortBy( _.getName.drop("copy$default$".length).takeWhile(_ != '(').toInt) val fields = clazz.getDeclaredFields.filterNot { f => - f.getName.startsWith("$") || Modifier.isTransient(f.getModifiers) || Modifier.isStatic(f.getModifiers) + import Modifier._ + (f.getModifiers & (TRANSIENT | STATIC | 0x1000 /* SYNTHETIC*/)) > 0 } if (copyDefaultMethods.length != fields.length) sys.error("Case class " + clazz.getName + " declares additional fields") -- cgit v1.2.3