public List<EPackage> getGeneratedPackages() { final List<EPackage> result = new ArrayList<EPackage>(); final ResourceSet resourceSet = grammar.eResource().getResourceSet(); if (resourceSet == null) throw new NullPointerException("resourceSet may not be null"); Iterables.addAll(result, Iterables.filter(Iterables.transform( Iterables.filter(grammar.getMetamodelDeclarations(), GeneratedMetamodel.class), new Function<AbstractMetamodelDeclaration, EPackage>() { public EPackage apply(AbstractMetamodelDeclaration param) { return param.getEPackage(); } }), Predicates.notNull())); return getPackagesSortedByName(result); }
public void setGrammarIdToURIMap(String[] grammarIdToURIMap) { grammarIdToGrammarElementMap = new EObject[grammarIdToURIMap.length]; ResourceSet grammarResourceSet = grammarAccess.getGrammar().eResource().getResourceSet(); for (int grammarId = 0; grammarId < grammarIdToURIMap.length; ++grammarId) { URI uri = URI.createURI(grammarIdToURIMap[grammarId], true); EObject grammarElement = grammarResourceSet.getEObject(uri, true); if (grammarElement == null) { throw new IllegalStateException( "Apparently the grammar has changed so that it's no longer possible to identify the " + "serialized grammar elements. The following grammar element URI is no longer valid: " + uri.toString()); } grammarIdToGrammarElementMap[grammarId] = grammarElement; } }
protected IScope createScope(final Grammar grammar, final EClass type, IScope parent) { final IResourceDescription resourceDescription = resourceDecriptionProvider.getResourceDescription(grammar.eResource()); return SelectableBasedScope.createScope(parent, resourceDescription, type, false); }
public KeywordHelper(Grammar grammar, boolean ignoreCase, GrammarAccessExtensions grammarUtil) { this.ignoreCase = ignoreCase; this.grammarUtil = grammarUtil; keywordValueToToken = createKeywordMap(grammar); grammar.eResource().getResourceSet().eAdapters().add(this); }
public void removeGeneratedPackages() { final ResourceSet resourceSet = grammar.eResource().getResourceSet(); final List<Resource> resources = resourceSet.getResources(); final Collection<EPackage> packages = getGeneratedPackages(); for(int i = 0; i < resources.size(); i++) { Resource r = resources.get(i); if (!(r instanceof GrammarResource)) { CONTENT: for (EObject content : r.getContents()) { if (content instanceof EPackage && packages.contains(content) || generatedEPackages != null && generatedEPackages.containsValue(content)) { clearPackage(r, (EPackage) content); break CONTENT; } } } } }
public void discardHelper(Grammar grammar) { grammar.eResource().getResourceSet().eAdapters().remove(this); }
public Grammar getSuperGrammar(final Grammar grammar) { boolean _isEmpty = grammar.getUsedGrammars().isEmpty(); if (_isEmpty) { return null; } Adapter _existingAdapter = EcoreUtil.getExistingAdapter(grammar, SemanticSequencerExtensions.SuperGrammar.class); SemanticSequencerExtensions.SuperGrammar sg = ((SemanticSequencerExtensions.SuperGrammar) _existingAdapter); if ((sg != null)) { return sg.grammar; } final URI uri = IterableExtensions.<Grammar>head(grammar.getUsedGrammars()).eResource().getURI(); final Resource resource = this.cloneResourceSet(grammar.eResource().getResourceSet()).getResource(uri, true); EObject _head = IterableExtensions.<EObject>head(resource.getContents()); final Grammar result = ((Grammar) _head); EList<Adapter> _eAdapters = grammar.eAdapters(); SemanticSequencerExtensions.SuperGrammar _superGrammar = new SemanticSequencerExtensions.SuperGrammar(result); _eAdapters.add(_superGrammar); return result; }
String grammarName = (String) valueConverterService.toValue("", "GrammarID", node); if (grammarName != null) { final ResourceSet resourceSet = grammar.eResource().getResourceSet(); List<Resource> resources = resourceSet.getResources(); for(int i = 0; i < resources.size(); i++) {
protected boolean isAssignableFrom(EClass left, EClass right) { if (right != null && left.isSuperTypeOf(right)) return true; EClass eObjectType = GrammarUtil.findEObject(grammar); if (left == eObjectType) return true; if (grammar != null) { Resource grammarResource = grammar.eResource(); if (grammarResource != null) { ResourceSet resourceSet = grammarResource.getResourceSet(); if (resourceSet != null) { EPackage.Registry registry = resourceSet.getPackageRegistry(); if (registry != null) { EPackage ecorePackage = registry.getEPackage(EcorePackage.eNS_URI); if (ecorePackage != null) { EClassifier eObjectFromRegistry = ecorePackage.getEClassifier(EcorePackage.Literals.EOBJECT.getName()); if (left == eObjectFromRegistry) { return true; } } } } } } if (right != null && left.getInstanceClass() != null && right.getInstanceClass() != null) { boolean result = left.getInstanceClass().isAssignableFrom(right.getInstanceClass()); return result; } return false; }
/** * Create a clone of the original grammar. The clone will not refer to a node model. */ private Grammar cloneGrammarIntoNewResourceSet(final Grammar original) { final Resource originalResource = original.eResource(); XtextResourceSet _xtextResourceSet = new XtextResourceSet(); final XtextResourceSet clonedResourceSet = EcoreUtil2.<XtextResourceSet>clone(_xtextResourceSet, originalResource.getResourceSet()); final Resource clonedResource = clonedResourceSet.getResource(originalResource.getURI(), false); EObject _head = IterableExtensions.<EObject>head(clonedResource.getContents()); return ((Grammar) _head); }
_extensionToFactoryMap.put( FragmentFakingEcoreResource.FactoryImpl.ECORE_SUFFIX, _factoryImpl); final ResourceSet resourceSet = EcoreUtil2.<ResourceSet>clone(cloneInto, this.getLanguage().getGrammar().eResource().getResourceSet()); EObject _head = IterableExtensions.<EObject>head(resourceSet.getResource(this.getLanguage().getGrammar().eResource().getURI(), true).getContents()); final Grammar copy = ((Grammar) _head); String _xifexpression = null;
final ResourceSet workingResourceSet = clonedGrammar.eResource().getResourceSet(); final Function1<GeneratedMetamodel, EPackage> _function = (GeneratedMetamodel it) -> { return it.getEPackage();
protected void doGenerateXtendInferrer() { final TypeReference firstRuleType = TypeReference.typeRef(GenModelUtil2.getJavaTypeName(IterableExtensions.<AbstractRule>head(this.getLanguage().getGrammar().getRules()).getType().getClassifier(), this.getLanguage().getGrammar().eResource().getResourceSet())); TypeReference _jvmModelInferrer = this.getJvmModelInferrer(); StringConcatenationClient _client = new StringConcatenationClient() {
ResourceSet _resourceSet = this.getGrammar().eResource().getResourceSet(); final TypeReference rootType = new TypeReference(((EClass) _classifier), _resourceSet); TypeReference _exampleRuntimeTest = this.exampleRuntimeTest();
_builder.append("if(eObject instanceof "); EClassifier _classifier = exportedRule.getType().getClassifier(); ResourceSet _resourceSet = ResourceDescriptionStrategyFragment.this.getGrammar().eResource().getResourceSet(); TypeReference _typeReference = new TypeReference(((EClass) _classifier), _resourceSet); _builder.append(_typeReference, "\t\t");