org.eclipse.xtext.xtext.ecoreInference
Class EClassifierInfos

java.lang.Object
  extended by org.eclipse.xtext.xtext.ecoreInference.EClassifierInfos

public class EClassifierInfos
extends java.lang.Object

A possible extension would be to normalize the type hierarchy and remove redundant supertype references. We currently don't think thats necessary as EMF handles multiple inheritance gracefully.

Author:
Jan Köhnlein - Initial contribution and API, Sebastian Zarnekow

Constructor Summary
EClassifierInfos(Grammar grammar)
           
 
Method Summary
 boolean addInfo(AbstractMetamodelDeclaration alias, java.lang.String name, EClassifierInfo metatypeInfo)
           
 boolean addInfo(TypeRef typeRef, EClassifierInfo metatypeInfo)
           
 void addParent(EClassifierInfos parent)
           
 java.util.List<EClassifierInfo.EClassInfo> getAllEClassInfos()
           
 org.eclipse.emf.ecore.EClassifier getCompatibleTypeNameOf(java.util.Collection<org.eclipse.emf.ecore.EClassifier> classifiers, boolean useParent)
           
 EClassifierInfo getCompatibleTypeOf(java.util.Collection<EClassifierInfo> types)
           
 EClassifierInfo getInfo(AbstractMetamodelDeclaration alias, java.lang.String name)
           
 EClassifierInfo getInfo(org.eclipse.emf.ecore.EClassifier eClassifier)
           
 EClassifierInfo getInfo(TypeRef typeRef)
           
 EClassifierInfo getInfoOrNull(org.eclipse.emf.ecore.EClassifier eClassifier)
           
 EClassifierInfo getInfoOrNull(TypeRef typeRef)
           
 java.util.List<EClassifierInfos> getParents()
           
 java.util.List<EClassifierInfo.EClassInfo> getSuperTypeInfos(EClassifierInfo.EClassInfo subTypeInfo)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EClassifierInfos

public EClassifierInfos(Grammar grammar)
Method Detail

getParents

public java.util.List<EClassifierInfos> getParents()

addParent

public void addParent(EClassifierInfos parent)

addInfo

public boolean addInfo(TypeRef typeRef,
                       EClassifierInfo metatypeInfo)

addInfo

public boolean addInfo(AbstractMetamodelDeclaration alias,
                       java.lang.String name,
                       EClassifierInfo metatypeInfo)

getInfo

public EClassifierInfo getInfo(TypeRef typeRef)

getInfoOrNull

public EClassifierInfo getInfoOrNull(TypeRef typeRef)

getInfo

public EClassifierInfo getInfo(AbstractMetamodelDeclaration alias,
                               java.lang.String name)

getInfo

public EClassifierInfo getInfo(org.eclipse.emf.ecore.EClassifier eClassifier)

getInfoOrNull

public EClassifierInfo getInfoOrNull(org.eclipse.emf.ecore.EClassifier eClassifier)

getCompatibleTypeOf

public EClassifierInfo getCompatibleTypeOf(java.util.Collection<EClassifierInfo> types)

getCompatibleTypeNameOf

public org.eclipse.emf.ecore.EClassifier getCompatibleTypeNameOf(java.util.Collection<org.eclipse.emf.ecore.EClassifier> classifiers,
                                                                 boolean useParent)

getAllEClassInfos

public java.util.List<EClassifierInfo.EClassInfo> getAllEClassInfos()

getSuperTypeInfos

public java.util.List<EClassifierInfo.EClassInfo> getSuperTypeInfos(EClassifierInfo.EClassInfo subTypeInfo)
                                                             throws UnexpectedClassInfoException
Throws:
UnexpectedClassInfoException