/*******************************************************************************
- * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
+ * Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Common Public License v0.5
+ * are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/cpl-v05.html
+ * http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
- ******************************************************************************/
+ *******************************************************************************/
package net.sourceforge.phpdt.internal.compiler.lookup;
+import net.sourceforge.phpdt.core.compiler.CharOperation;
+
/**
* Specific local variable location used to:
* - either provide emulation for outer local variables used from within innerclass constructs,
* the user arguments.
*/
-import net.sourceforge.phpdt.internal.compiler.util.CharOperation;
-
public class SyntheticArgumentBinding extends LocalVariableBinding {
{
this.isArgument = true;
- this.used = true;
+ this.useFlag = USED;
}
+
// if the argument is mapping to an outer local variable, this denotes the outer actual variable
public LocalVariableBinding actualOuterLocalVariable;
// if the argument has a matching synthetic field
final static char[] OuterLocalPrefix = { 'v', 'a', 'l', '$' };
final static char[] EnclosingInstancePrefix = { 't', 'h', 'i', 's', '$' };
-public SyntheticArgumentBinding(LocalVariableBinding actualOuterLocalVariable) {
- super(
- CharOperation.concat(OuterLocalPrefix, actualOuterLocalVariable.name),
- actualOuterLocalVariable.type,
- AccFinal,
- true);
- this.actualOuterLocalVariable = actualOuterLocalVariable;
-}
-public SyntheticArgumentBinding(ReferenceBinding enclosingType) {
- super(
- CharOperation.concat(
- SyntheticArgumentBinding.EnclosingInstancePrefix,
- String.valueOf(enclosingType.depth()).toCharArray()),
- enclosingType,
- AccFinal,
- true);
-}
+
+ public SyntheticArgumentBinding(LocalVariableBinding actualOuterLocalVariable) {
+
+ super(
+ CharOperation.concat(OuterLocalPrefix, actualOuterLocalVariable.name),
+ actualOuterLocalVariable.type,
+ AccFinal,
+ true);
+ this.actualOuterLocalVariable = actualOuterLocalVariable;
+ }
+
+ public SyntheticArgumentBinding(ReferenceBinding enclosingType) {
+
+ super(
+ CharOperation.concat(
+ SyntheticArgumentBinding.EnclosingInstancePrefix,
+ String.valueOf(enclosingType.depth()).toCharArray()),
+ enclosingType,
+ AccFinal,
+ true);
+ }
}