/** * Returns the validation results of a single pattern * * @param pattern * @since 2.0 */ public PatternSetValidationDiagnostics validate(Pattern pattern) { return validate(ImmutableList.of(pattern)); }
/** * Returns the validation results of a single pattern and all its (transitively )referenced patterns. * * @param pattern * @since 2.0 */ public PatternSetValidationDiagnostics validateTransitively(Pattern pattern) { Set<Pattern> patternsToValidate = PatternLanguageHelper.getReferencedPatternsTransitive(pattern); return validate(patternsToValidate); }
protected PatternParsingResults parse(InputStream in, URI uriToUse, Map<?, ?> options, ResourceSet resourceSet) { Resource resource = resource(in, uriToUse, options, resourceSet); EList<EObject> contents = resource.getContents(); List<Pattern> patterns = new ArrayList<>(); PatternSetValidationDiagnostics diagnostics = validator.validate(resource); for (EObject eObject : contents) { if (eObject instanceof PatternModel) { for (Pattern pattern : ((PatternModel) eObject).getPatterns()) { patterns.add(pattern); } } } return new PatternParsingResults(patterns, diagnostics, getOrCreateSpecificationBuilder()); }
Injector injector = XtextInjectorProvider.INSTANCE.getInjector(); PatternSetValidator validator = injector.getInstance(PatternSetValidator.class); PatternSetValidationDiagnostics validatorResult = validator.validate(newPatternsByName.values()); if (logger != null) validatorResult.logErrors(logger); if (validatorResult.getStatus().equals(PatternValidationStatus.ERROR)) {