aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/main/java/tools/refinery/language/scoping/imports/NamedImport.java
blob: f5e89605c035d0e57101bcb380f7dddba6c94aec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/*
 * SPDX-FileCopyrightText: 2024 The Refinery Authors <https://refinery.tools/>
 *
 * SPDX-License-Identifier: EPL-2.0
 */
package tools.refinery.language.scoping.imports;

import org.eclipse.emf.common.util.URI;
import org.eclipse.xtext.naming.QualifiedName;

import java.util.List;

public record NamedImport(URI uri, QualifiedName qualifiedName, List<QualifiedName> aliases,
						  boolean alsoImplicit) implements Import {
	public static NamedImport implicit(URI uri, QualifiedName qualifiedName) {
		return new NamedImport(uri, qualifiedName, List.of(), true);
	}

	public static NamedImport explicit(URI uri, QualifiedName qualifiedName, List<QualifiedName> aliases) {
		return new NamedImport(uri, qualifiedName, aliases, false);
	}
}