blob: b06cbc16a9d103b68c06132ae8e7cb7428a4ff2f [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009, 2018 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* IBM - Initial API and implementation
*******************************************************************************/
package org.eclipse.ocl.expressions.provider;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.ocl.expressions.util.ExpressionsAdapterFactory;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
* The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
* The adapters also support Eclipse property sheets.
* Note that most of the adapters are shared among multiple instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ExpressionsItemProviderAdapterFactory
extends ExpressionsAdapterFactory
implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComposedAdapterFactory parentAdapterFactory;
/**
* This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<Object> supportedTypes = new ArrayList<Object>();
/**
* This constructs an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ExpressionsItemProviderAdapterFactory() {
supportedTypes.add(IEditingDomainItemProvider.class);
supportedTypes.add(IStructuredItemContentProvider.class);
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.AssociationClassCallExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected AssociationClassCallExpItemProvider associationClassCallExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.AssociationClassCallExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createAssociationClassCallExpAdapter() {
if (associationClassCallExpItemProvider == null) {
associationClassCallExpItemProvider = new AssociationClassCallExpItemProvider(
this);
}
return associationClassCallExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.BooleanLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected BooleanLiteralExpItemProvider booleanLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.BooleanLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createBooleanLiteralExpAdapter() {
if (booleanLiteralExpItemProvider == null) {
booleanLiteralExpItemProvider = new BooleanLiteralExpItemProvider(
this);
}
return booleanLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.CollectionItem} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CollectionItemItemProvider collectionItemItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.CollectionItem}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCollectionItemAdapter() {
if (collectionItemItemProvider == null) {
collectionItemItemProvider = new CollectionItemItemProvider(this);
}
return collectionItemItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.CollectionLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CollectionLiteralExpItemProvider collectionLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.CollectionLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCollectionLiteralExpAdapter() {
if (collectionLiteralExpItemProvider == null) {
collectionLiteralExpItemProvider = new CollectionLiteralExpItemProvider(
this);
}
return collectionLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.CollectionRange} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected CollectionRangeItemProvider collectionRangeItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.CollectionRange}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createCollectionRangeAdapter() {
if (collectionRangeItemProvider == null) {
collectionRangeItemProvider = new CollectionRangeItemProvider(this);
}
return collectionRangeItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.EnumLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EnumLiteralExpItemProvider enumLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.EnumLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createEnumLiteralExpAdapter() {
if (enumLiteralExpItemProvider == null) {
enumLiteralExpItemProvider = new EnumLiteralExpItemProvider(this);
}
return enumLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.IfExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IfExpItemProvider ifExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.IfExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createIfExpAdapter() {
if (ifExpItemProvider == null) {
ifExpItemProvider = new IfExpItemProvider(this);
}
return ifExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.IntegerLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IntegerLiteralExpItemProvider integerLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.IntegerLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createIntegerLiteralExpAdapter() {
if (integerLiteralExpItemProvider == null) {
integerLiteralExpItemProvider = new IntegerLiteralExpItemProvider(
this);
}
return integerLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.UnlimitedNaturalLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected UnlimitedNaturalLiteralExpItemProvider unlimitedNaturalLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.UnlimitedNaturalLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createUnlimitedNaturalLiteralExpAdapter() {
if (unlimitedNaturalLiteralExpItemProvider == null) {
unlimitedNaturalLiteralExpItemProvider = new UnlimitedNaturalLiteralExpItemProvider(
this);
}
return unlimitedNaturalLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.InvalidLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected InvalidLiteralExpItemProvider invalidLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.InvalidLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createInvalidLiteralExpAdapter() {
if (invalidLiteralExpItemProvider == null) {
invalidLiteralExpItemProvider = new InvalidLiteralExpItemProvider(
this);
}
return invalidLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.IterateExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IterateExpItemProvider iterateExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.IterateExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createIterateExpAdapter() {
if (iterateExpItemProvider == null) {
iterateExpItemProvider = new IterateExpItemProvider(this);
}
return iterateExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.Variable} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected VariableItemProvider variableItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.Variable}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createVariableAdapter() {
if (variableItemProvider == null) {
variableItemProvider = new VariableItemProvider(this);
}
return variableItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.IteratorExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IteratorExpItemProvider iteratorExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.IteratorExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createIteratorExpAdapter() {
if (iteratorExpItemProvider == null) {
iteratorExpItemProvider = new IteratorExpItemProvider(this);
}
return iteratorExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.LetExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected LetExpItemProvider letExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.LetExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createLetExpAdapter() {
if (letExpItemProvider == null) {
letExpItemProvider = new LetExpItemProvider(this);
}
return letExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.MessageExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected MessageExpItemProvider messageExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.MessageExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createMessageExpAdapter() {
if (messageExpItemProvider == null) {
messageExpItemProvider = new MessageExpItemProvider(this);
}
return messageExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.NullLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected NullLiteralExpItemProvider nullLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.NullLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createNullLiteralExpAdapter() {
if (nullLiteralExpItemProvider == null) {
nullLiteralExpItemProvider = new NullLiteralExpItemProvider(this);
}
return nullLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.OperationCallExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected OperationCallExpItemProvider operationCallExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.OperationCallExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createOperationCallExpAdapter() {
if (operationCallExpItemProvider == null) {
operationCallExpItemProvider = new OperationCallExpItemProvider(
this);
}
return operationCallExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.PropertyCallExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected PropertyCallExpItemProvider propertyCallExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.PropertyCallExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createPropertyCallExpAdapter() {
if (propertyCallExpItemProvider == null) {
propertyCallExpItemProvider = new PropertyCallExpItemProvider(this);
}
return propertyCallExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.RealLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RealLiteralExpItemProvider realLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.RealLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRealLiteralExpAdapter() {
if (realLiteralExpItemProvider == null) {
realLiteralExpItemProvider = new RealLiteralExpItemProvider(this);
}
return realLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.StateExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StateExpItemProvider stateExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.StateExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStateExpAdapter() {
if (stateExpItemProvider == null) {
stateExpItemProvider = new StateExpItemProvider(this);
}
return stateExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.StringLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected StringLiteralExpItemProvider stringLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.StringLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createStringLiteralExpAdapter() {
if (stringLiteralExpItemProvider == null) {
stringLiteralExpItemProvider = new StringLiteralExpItemProvider(
this);
}
return stringLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.TupleLiteralExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TupleLiteralExpItemProvider tupleLiteralExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.TupleLiteralExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTupleLiteralExpAdapter() {
if (tupleLiteralExpItemProvider == null) {
tupleLiteralExpItemProvider = new TupleLiteralExpItemProvider(this);
}
return tupleLiteralExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.TupleLiteralPart} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TupleLiteralPartItemProvider tupleLiteralPartItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.TupleLiteralPart}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTupleLiteralPartAdapter() {
if (tupleLiteralPartItemProvider == null) {
tupleLiteralPartItemProvider = new TupleLiteralPartItemProvider(
this);
}
return tupleLiteralPartItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.TypeExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected TypeExpItemProvider typeExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.TypeExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createTypeExpAdapter() {
if (typeExpItemProvider == null) {
typeExpItemProvider = new TypeExpItemProvider(this);
}
return typeExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.UnspecifiedValueExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected UnspecifiedValueExpItemProvider unspecifiedValueExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.UnspecifiedValueExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createUnspecifiedValueExpAdapter() {
if (unspecifiedValueExpItemProvider == null) {
unspecifiedValueExpItemProvider = new UnspecifiedValueExpItemProvider(
this);
}
return unspecifiedValueExpItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link org.eclipse.ocl.expressions.VariableExp} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected VariableExpItemProvider variableExpItemProvider;
/**
* This creates an adapter for a {@link org.eclipse.ocl.expressions.VariableExp}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createVariableExpAdapter() {
if (variableExpItemProvider == null) {
variableExpItemProvider = new VariableExpItemProvider(this);
}
return variableExpItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComposeableAdapterFactory getRootAdapterFactory() {
return parentAdapterFactory == null
? this
: parentAdapterFactory.getRootAdapterFactory();
}
/**
* This sets the composed adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(
ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean isFactoryForType(Object type) {
return supportedTypes.contains(type) || super.isFactoryForType(type);
}
/**
* This implementation substitutes the factory itself as the key for the adapter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object adapt(Object object, Object type) {
if (isFactoryForType(type)) {
Object adapter = super.adapt(object, type);
if (!(type instanceof Class<?>)
|| (((Class<?>) type).isInstance(adapter))) {
return adapter;
}
}
return null;
}
/**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
/**
* This disposes all of the item providers created by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void dispose() {
if (associationClassCallExpItemProvider != null)
associationClassCallExpItemProvider.dispose();
if (booleanLiteralExpItemProvider != null)
booleanLiteralExpItemProvider.dispose();
if (collectionItemItemProvider != null)
collectionItemItemProvider.dispose();
if (collectionLiteralExpItemProvider != null)
collectionLiteralExpItemProvider.dispose();
if (collectionRangeItemProvider != null)
collectionRangeItemProvider.dispose();
if (enumLiteralExpItemProvider != null)
enumLiteralExpItemProvider.dispose();
if (ifExpItemProvider != null)
ifExpItemProvider.dispose();
if (integerLiteralExpItemProvider != null)
integerLiteralExpItemProvider.dispose();
if (unlimitedNaturalLiteralExpItemProvider != null)
unlimitedNaturalLiteralExpItemProvider.dispose();
if (invalidLiteralExpItemProvider != null)
invalidLiteralExpItemProvider.dispose();
if (iterateExpItemProvider != null)
iterateExpItemProvider.dispose();
if (variableItemProvider != null)
variableItemProvider.dispose();
if (iteratorExpItemProvider != null)
iteratorExpItemProvider.dispose();
if (letExpItemProvider != null)
letExpItemProvider.dispose();
if (messageExpItemProvider != null)
messageExpItemProvider.dispose();
if (nullLiteralExpItemProvider != null)
nullLiteralExpItemProvider.dispose();
if (operationCallExpItemProvider != null)
operationCallExpItemProvider.dispose();
if (propertyCallExpItemProvider != null)
propertyCallExpItemProvider.dispose();
if (realLiteralExpItemProvider != null)
realLiteralExpItemProvider.dispose();
if (stateExpItemProvider != null)
stateExpItemProvider.dispose();
if (stringLiteralExpItemProvider != null)
stringLiteralExpItemProvider.dispose();
if (tupleLiteralExpItemProvider != null)
tupleLiteralExpItemProvider.dispose();
if (tupleLiteralPartItemProvider != null)
tupleLiteralPartItemProvider.dispose();
if (typeExpItemProvider != null)
typeExpItemProvider.dispose();
if (unspecifiedValueExpItemProvider != null)
unspecifiedValueExpItemProvider.dispose();
if (variableExpItemProvider != null)
variableExpItemProvider.dispose();
}
}