From 5dbc37dfbe0e9a039da6744e45012abc3034cdf5 Mon Sep 17 00:00:00 2001 From: Jason Zaugg Date: Fri, 23 Aug 2013 14:23:48 +0200 Subject: SI-7779 Account for class name compactification in reflection We have to assume that the classes we are reflecting on were compiled with the default value for -Xmax-classfile-name (255). With this assumption, we can apply the same name compactification as done in the regular compiler. The REPL is particularly prone to generating long class names with the '$iw' prefixes, so this is an important fix for runtime reflection. Also adds support for getting the runtime class of `O.type` if `O` is a module. --- bincompat-forward.whitelist.conf | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'bincompat-forward.whitelist.conf') diff --git a/bincompat-forward.whitelist.conf b/bincompat-forward.whitelist.conf index 7fdd4329ea..20e5e30b68 100644 --- a/bincompat-forward.whitelist.conf +++ b/bincompat-forward.whitelist.conf @@ -571,6 +571,18 @@ filter { { matchName="scala.reflect.internal.SymbolTable.scala$reflect$internal$Trees$$duplicator" problemName=IncompatibleResultTypeProblem + }, + { + matchName="scala.reflect.runtime.JavaMirrors#JavaMirror.scala$reflect$runtime$JavaMirrors$JavaMirror$$PackageAndClassPattern" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.SymbolTable.compactifyName" + problemName=MissingMethodProblem + }, + { + matchName="scala.reflect.internal.StdNames.compactifyName" + problemName=MissingMethodProblem } ] } -- cgit v1.2.3