blob: 97ea1a2bef20b3ed24d9e52ddc6cf406d3f325cd [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2019 GK Software SE, 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:
* Stephan Herrmann - initial API and implementation
*******************************************************************************/
package org.eclipse.jdt.internal.compiler.lookup;
import org.eclipse.jdt.core.compiler.CharOperation;
/** A package binding that is known not to be a {@link SplitPackageBinding}. */
public class PlainPackageBinding extends PackageBinding {
/** Create a toplevel package. */
public PlainPackageBinding(char[] topLevelPackageName, LookupEnvironment environment, ModuleBinding enclosingModule) {
super(new char[][] {topLevelPackageName}, null, environment, enclosingModule);
}
/** Create a default package. */
public PlainPackageBinding(LookupEnvironment environment) {
super(CharOperation.NO_CHAR_CHAR, null, environment, environment.module);
}
/** Create a normal package. */
public PlainPackageBinding(char[][] compoundName, PackageBinding parent, LookupEnvironment environment, ModuleBinding enclosingModule) {
super(compoundName, parent, environment, enclosingModule);
}
protected PlainPackageBinding(char[][] compoundName, LookupEnvironment environment) {
// for problem bindings
super(compoundName, environment);
}
@Override
public PlainPackageBinding getIncarnation(ModuleBinding moduleBinding) {
if (this.enclosingModule == moduleBinding)
return this;
return null;
}
}