/*******************************************************************************
 * Copyright (c) 2013 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/
package x.y.z;

import i.NoRefInterface;
import i.NoRefInterfaceImpl;


public class testI4 {

	void method1() {
		NoRefInterface clazz = new NoRefInterfaceImpl();
		clazz.noRefInterfaceMethod();
		//not a problem since the field is in-lined
		String str = NoRefInterface.fNoRefInterfaceField;
	}
}
