public static Grammar getGrammar(EObject grammarElement) { EObject root = getRootContainer(grammarElement); if (root instanceof Grammar) { return (Grammar) root; } return null; }
protected List<EObject> getEntryPoints(EObject object) { EObject rootContainer = EcoreUtil.getRootContainer(object); if (rootContainer instanceof XExpression) { return Collections.singletonList(rootContainer); } return Collections.emptyList(); }
protected static Collection<EObject> getRootContainers( Collection<? extends EObject> eObjects) { Collection<EObject> rootContainers = new UniqueEList.FastCompare<EObject>(); for (Iterator<? extends EObject> i = eObjects.iterator(); i.hasNext();) { rootContainers.add(EcoreUtil.getRootContainer(i.next())); } return rootContainers; }
protected static Collection<EObject> getRootContainers( Collection<? extends EObject> eObjects) { Collection<EObject> rootContainers = new UniqueEList.FastCompare<EObject>(); for (Iterator<? extends EObject> i = eObjects.iterator(); i.hasNext();) { rootContainers.add(EcoreUtil.getRootContainer(i.next())); } return rootContainers; }
/** * Disposes not only the specified <tt>object</tt> but all of the objects * in the content tree that contains it, from the root down. * * @param object an object to dispose utterly * * @since 1.2 */ static void disposeAll(EObject object) { ObjectUtil.dispose(EcoreUtil.getRootContainer(object)); }
/** Replies the generator configuration. * * @return the configuration. */ public GeneratorConfig getGeneratorConfig() { if (this.generatorConfig == null) { this.generatorConfig = this.generatorConfigProvider.get( EcoreUtil.getRootContainer(this.contextObject)); } return this.generatorConfig; }
/** * Disposes not only the specified <tt>object</tt> but all of the objects * in the content tree that contains it, from the root down. * * @param object an object to dispose utterly * * @since 1.2 */ static void disposeAll(EObject object) { ObjectUtil.dispose(EcoreUtil.getRootContainer(object)); }
public String endAtomicExpr(final EObject it, final AtomicExpr atomicExpr) { EObject _rootContainer = EcoreUtil.getRootContainer(atomicExpr); boolean _hasProperty = EObjectPropertiesAdapter.hasProperty(_rootContainer, "equals"); if (_hasProperty) { EObject _rootContainer_1 = EcoreUtil.getRootContainer(atomicExpr); EObjectPropertiesAdapter.removeProperty(_rootContainer_1, "equals"); return ")"; } return ""; }
/** Replies the generator configuration v2. * * @return the configuration. */ public GeneratorConfig2 getGeneratorConfig2() { if (this.generatorConfig2 == null) { this.generatorConfig2 = this.generatorConfigProvider2.get( EcoreUtil.getRootContainer(this.contextObject)); } return this.generatorConfig2; }
public String endAtomicExpr(final EObject it, final AtomicExpr atomicExpr) { EObject _rootContainer = EcoreUtil.getRootContainer(atomicExpr); boolean _hasProperty = EObjectPropertiesAdapter.hasProperty(_rootContainer, "equals"); if (_hasProperty) { EObject _rootContainer_1 = EcoreUtil.getRootContainer(atomicExpr); EObjectPropertiesAdapter.removeProperty(_rootContainer_1, "equals"); return ")"; } return ""; }
/** * @param eObject the adapter holding the stack * @return the operator at the top of the stack and removes it */ public static String popOperator(EObject eObject) { EObject rootContainer = EcoreUtil.getRootContainer(eObject); Stack<String> stack = (Stack<String>) EObjectPropertiesAdapter.getProperty(rootContainer, OPERATOR_STACK); if (stack!=null && !stack.isEmpty()) { return stack.pop(); } return ""; }
protected List<ImportNormalizer> internalGetImportedNamespaceResolvers(EObject context, boolean ignoreCase) { if(EcoreUtil.getRootContainer(context) != context) return Collections.emptyList(); XImportSection importSection = importsConfiguration.getImportSection((XtextResource) context.eResource()); if(importSection != null) { return getImportedNamespaceResolvers(importSection, ignoreCase); } return Collections.emptyList(); }
public IScope scope_EEnum(EnumValue ctx, EReference ref) { PatternModel model = (PatternModel) getRootContainer(ctx); final Collection<EEnum> enums = Lists.newArrayList(); for (PackageImport decl : EMFPatternLanguageHelper.getPackageImportsIterable(model)) { if (decl.getEPackage() != null) { Iterables.addAll(enums, Iterables.filter(decl.getEPackage().getEClassifiers(), EEnum.class)); } } return Scopes.scopeFor(enums); }
@Check(CheckType.NORMAL) public void checkDataTypeUnique(final Type dataType) { final String dataTypeId = NAME_RESOLVER.apply(dataType); Iterator<EObject> dataTypes = filter(getRootContainer(dataType).eAllContents(), new Predicate<EObject>() { public boolean apply(EObject eObject) { return eObject instanceof Type && !dataType.equals(eObject) && NAME_RESOLVER.apply(eObject).equals(dataTypeId); } }); if (dataTypes.hasNext()) { error("Duplicate type '" + dataTypeId + "' detected", null); } }
@Check(CheckType.NORMAL) public void checkValidatorUnique(final Validator validator) { final String validatorId = NAME_RESOLVER.apply(validator); Iterator<EObject> validators = filter(getRootContainer(validator).eAllContents(), new Predicate<EObject>() { public boolean apply(EObject eObject) { return eObject instanceof Validator && !validator.equals(eObject) && NAME_RESOLVER.apply(eObject).equals(validatorId); } }); if (validators.hasNext()) { error("Duplicate validator '" + validatorId + "' detected", null); } }
private IScope scope_EEnum(EnumValue ctx) { PatternModel model = (PatternModel) getRootContainer(ctx); final Collection<EEnum> enums = Lists.newArrayList(); for (PackageImport decl : PatternLanguageHelper.getPackageImportsIterable(model)) { if (decl.getEPackage() != null) { Iterables.addAll(enums, Iterables.filter(decl.getEPackage().getEClassifiers(), EEnum.class)); } } return Scopes.scopeFor(enums); }
/** Replies if the generation is for Java version 8 at least. * * @param context the context. * @return {@code true} if Java 8 or newer. */ protected boolean isAtLeastJava8(EObject context) { return this.generatorConfigProvider.get(EcoreUtil.getRootContainer(context)).getJavaSourceVersion().isAtLeast(JavaVersion.JAVA8); }
protected Grammar getGrammar(XtextTemplateContext xtextTemplateContext) { EObject grammarElement = xtextTemplateContext.getContentAssistContext() .getRootNode().getGrammarElement(); if (grammarElement == null && grammarAccess != null) return grammarAccess.getGrammar(); return (Grammar) EcoreUtil.getRootContainer(grammarElement); }
public IScope scope_PackageImport(EObject ctx, EReference ref) { EObject root = getRootContainer(ctx); if (root instanceof PatternModel) { SimpleAttributeResolver<PackageImport, String> attributeResolver = SimpleAttributeResolver.<PackageImport, String>newResolver(String.class, "alias"); final EList<PackageImport> elements = ((PatternModel) root).getImportPackages().getPackageImport(); return new SimpleScope(IScope.NULLSCOPE,Scopes.scopedElementsFor(elements, QualifiedName.wrapper(attributeResolver))); } else { return IScope.NULLSCOPE; } }
private IScope scope_PackageImport(EObject ctx) { EObject root = getRootContainer(ctx); if (root instanceof PatternModel) { SimpleAttributeResolver<PackageImport, String> attributeResolver = SimpleAttributeResolver.<PackageImport, String>newResolver(String.class, "alias"); final EList<PackageImport> elements = ((PatternModel) root).getImportPackages().getPackageImport(); return new SimpleScope(IScope.NULLSCOPE,Scopes.scopedElementsFor(elements, QualifiedName.wrapper(attributeResolver))); } else { return IScope.NULLSCOPE; } }