diff options
author | Mathias <mathias@spray.io> | 2015-05-06 12:22:38 +0200 |
---|---|---|
committer | Mathias <mathias@spray.io> | 2015-05-06 12:41:50 +0200 |
commit | 5843587ac6472c067aa08347d43f68b78857b053 (patch) | |
tree | 04aa8ef9d0d88a035c3b5202b0175dafb25de8cd /src/main/scala | |
parent | 36a845cb6b889b7255021edf1c891c8c5069b923 (diff) | |
download | spray-json-5843587ac6472c067aa08347d43f68b78857b053.tar.gz spray-json-5843587ac6472c067aa08347d43f68b78857b053.tar.bz2 spray-json-5843587ac6472c067aa08347d43f68b78857b053.zip |
Fix automatic field name discovery for member names with mangled prefix, closes #142
Diffstat (limited to 'src/main/scala')
-rw-r--r-- | src/main/scala/spray/json/ProductFormats.scala | 3 |
1 files changed, 2 insertions, 1 deletions
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") |