From 6acf478de403db085b828c1c8b87ee014de9f3ec Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 19 Aug 1999 15:18:03 +0000 Subject: [PATCH] added a comment git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1151 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/decompiler/ClassAnalyzer.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/jode/jode/decompiler/ClassAnalyzer.java b/jode/jode/decompiler/ClassAnalyzer.java index 44e7913..ca7bdb0 100644 --- a/jode/jode/decompiler/ClassAnalyzer.java +++ b/jode/jode/decompiler/ClassAnalyzer.java @@ -56,6 +56,22 @@ public class ClassAnalyzer MethodAnalyzer staticConstructor; MethodAnalyzer[] constructors; + /** + * outerValues are used in method scoped classes: If a method + * scoped class uses a local of the surrounding method, the java + * compiler adds the locals to the param list of each constructor + * of the method scoped class. Each invocation of the constructor + * must give the correct values for these locals. + * + * These extra parameters are the outerValues. + * + * The main problem here is, that we don't know immediately if a + * parameter is a standard parameter or a local of the outer + * method. We may shrink this array if we notice a problem later. + * + * @see #shrinkOuterValues + * @see #addOuterValueListener + */ Expression[] outerValues; boolean jikesAnonymousInner = false;