org.eclipse.xtend.core.jvmmodel
Class SyntheticNameClashResolver

java.lang.Object
  extended by org.eclipse.xtend.core.jvmmodel.SyntheticNameClashResolver

public class SyntheticNameClashResolver
extends java.lang.Object

Renames synthetic elements to avoid name clashes. Dispatch methods are handled by validation.

Author:
Jan Koehnlein - Initial contribution and API

Constructor Summary
SyntheticNameClashResolver()
           
 
Method Summary
protected  boolean collides(JvmIdentifiableElement element, java.lang.String currentName, com.google.common.collect.Multimap<java.lang.String,JvmIdentifiableElement> scope)
           
protected  boolean isAnonymousExtensionField(org.eclipse.emf.ecore.EObject source)
           
protected  boolean isCreateExtension(org.eclipse.emf.ecore.EObject source)
           
protected  boolean isRenameable(JvmIdentifiableElement element)
           
 void resolveNameClashes(JvmGenericType type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SyntheticNameClashResolver

public SyntheticNameClashResolver()
Method Detail

resolveNameClashes

public void resolveNameClashes(JvmGenericType type)

collides

protected boolean collides(JvmIdentifiableElement element,
                           java.lang.String currentName,
                           com.google.common.collect.Multimap<java.lang.String,JvmIdentifiableElement> scope)

isRenameable

protected boolean isRenameable(JvmIdentifiableElement element)

isAnonymousExtensionField

protected boolean isAnonymousExtensionField(org.eclipse.emf.ecore.EObject source)

isCreateExtension

protected boolean isCreateExtension(org.eclipse.emf.ecore.EObject source)