use of org.eclipse.n4js.n4mf.ModuleFilterSpecifier in project n4js by eclipse.
the class AbstractN4JSCore method handleWildcardsAndRelativeNavigation.
private List<String> handleWildcardsAndRelativeNavigation(String absoluteLocationPath, String projectRelativeSourcePath, ModuleFilter moduleFilter) {
List<String> relativeResolvedPaths = new ArrayList<>();
for (ModuleFilterSpecifier spec : moduleFilter.getModuleSpecifiers()) {
String specPath = spec.getSourcePath();
if (specPath != null)
if (projectRelativeSourcePath.equals(specPath) == false)
// nothing will be found here
continue;
String basePathToCheck = absoluteLocationPath + "/" + (specPath != null ? specPath : projectRelativeSourcePath);
String pathsToFind = "/" + spec.getModuleSpecifierWithWildcard();
List<String> resolvedPaths = WildcardPathFilter.collectPathsByWildcardPath(basePathToCheck, pathsToFind);
relativeResolvedPaths.addAll(resolvedPaths);
}
return relativeResolvedPaths;
}
use of org.eclipse.n4js.n4mf.ModuleFilterSpecifier in project n4js by eclipse.
the class N4MFSemanticSequencer method sequence.
@Override
public void sequence(ISerializationContext context, EObject semanticObject) {
EPackage epackage = semanticObject.eClass().getEPackage();
ParserRule rule = context.getParserRule();
Action action = context.getAssignedAction();
Set<Parameter> parameters = context.getEnabledBooleanParameters();
if (epackage == N4mfPackage.eINSTANCE)
switch(semanticObject.eClass().getClassifierID()) {
case N4mfPackage.BOOTSTRAP_MODULE:
sequence_BootstrapModule(context, (BootstrapModule) semanticObject);
return;
case N4mfPackage.DECLARED_VERSION:
sequence_DeclaredVersion(context, (DeclaredVersion) semanticObject);
return;
case N4mfPackage.EXEC_MODULE:
sequence_ExecModule(context, (ExecModule) semanticObject);
return;
case N4mfPackage.EXTENDED_RUNTIME_ENVIRONMENT:
sequence_ExtendedRuntimeEnvironment(context, (ExtendedRuntimeEnvironment) semanticObject);
return;
case N4mfPackage.IMPLEMENTED_PROJECTS:
sequence_ImplementedProjects(context, (ImplementedProjects) semanticObject);
return;
case N4mfPackage.INIT_MODULES:
sequence_InitModules(context, (InitModules) semanticObject);
return;
case N4mfPackage.MODULE_FILTER:
sequence_ModuleFilter(context, (ModuleFilter) semanticObject);
return;
case N4mfPackage.MODULE_FILTER_SPECIFIER:
sequence_ModuleFilterSpecifier(context, (ModuleFilterSpecifier) semanticObject);
return;
case N4mfPackage.PROJECT_DEPENDENCIES:
sequence_ProjectDependencies(context, (ProjectDependencies) semanticObject);
return;
case N4mfPackage.PROJECT_DEPENDENCY:
sequence_ProjectDependency(context, (ProjectDependency) semanticObject);
return;
case N4mfPackage.PROJECT_DESCRIPTION:
sequence_ProjectDescription(context, (ProjectDescription) semanticObject);
return;
case N4mfPackage.PROJECT_REFERENCE:
sequence_ProjectReference(context, (ProjectReference) semanticObject);
return;
case N4mfPackage.PROVIDED_RUNTIME_LIBRARIES:
sequence_ProvidedRuntimeLibraries(context, (ProvidedRuntimeLibraries) semanticObject);
return;
case N4mfPackage.PROVIDED_RUNTIME_LIBRARY_DEPENDENCY:
sequence_ProvidedRuntimeLibraryDependency(context, (ProvidedRuntimeLibraryDependency) semanticObject);
return;
case N4mfPackage.REQUIRED_RUNTIME_LIBRARIES:
sequence_RequiredRuntimeLibraries(context, (RequiredRuntimeLibraries) semanticObject);
return;
case N4mfPackage.REQUIRED_RUNTIME_LIBRARY_DEPENDENCY:
sequence_RequiredRuntimeLibraryDependency(context, (RequiredRuntimeLibraryDependency) semanticObject);
return;
case N4mfPackage.SIMPLE_PROJECT_DESCRIPTION:
sequence_SimpleProjectDescription(context, (SimpleProjectDescription) semanticObject);
return;
case N4mfPackage.SOURCE_FRAGMENT:
sequence_SourceFragment(context, (SourceFragment) semanticObject);
return;
case N4mfPackage.TESTED_PROJECT:
sequence_TestedProject(context, (TestedProject) semanticObject);
return;
case N4mfPackage.TESTED_PROJECTS:
sequence_TestedProjects(context, (TestedProjects) semanticObject);
return;
case N4mfPackage.VERSION_CONSTRAINT:
sequence_VersionConstraint(context, (VersionConstraint) semanticObject);
return;
}
if (errorAcceptor != null)
errorAcceptor.accept(diagnosticProvider.createInvalidContextOrTypeDiagnostic(semanticObject, context));
}
Aggregations