org.eclipse.xtext.xtend2.validation
Class Xtend2JavaValidator

java.lang.Object
  extended by org.eclipse.xtext.validation.AbstractInjectableValidator
      extended by org.eclipse.xtext.validation.AbstractDeclarativeValidator
          extended by org.eclipse.xtext.xbase.validation.AbstractXbaseJavaValidator
              extended by org.eclipse.xtext.xbase.validation.XbaseJavaValidator
                  extended by org.eclipse.xtext.xbase.annotations.validation.XbaseWithAnnotationsJavaValidator
                      extended by org.eclipse.xtext.xtend2.validation.Xtend2JavaValidator
All Implemented Interfaces:
org.eclipse.emf.ecore.EValidator, ValidationMessageAcceptor

public class Xtend2JavaValidator
extends XbaseWithAnnotationsJavaValidator

Author:
Jan Koehnlein - Initial contribution and API, Sebastian Zarnekow, Sven Efftinge

Nested Class Summary
protected  class Xtend2JavaValidator.Signature
           
 
Nested classes/interfaces inherited from class org.eclipse.xtext.validation.AbstractDeclarativeValidator
AbstractDeclarativeValidator.State, AbstractDeclarativeValidator.StateAccess
 
Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.EValidator
org.eclipse.emf.ecore.EValidator.Descriptor, org.eclipse.emf.ecore.EValidator.PatternMatcher, org.eclipse.emf.ecore.EValidator.Registry, org.eclipse.emf.ecore.EValidator.SubstitutionLabelProvider, org.eclipse.emf.ecore.EValidator.ValidationDelegate
 
Field Summary
 
Fields inherited from class org.eclipse.xtext.validation.AbstractInjectableValidator
CURRENT_LANGUAGE_NAME
 
Fields inherited from interface org.eclipse.xtext.validation.ValidationMessageAcceptor
INSIGNIFICANT_INDEX
 
Fields inherited from interface org.eclipse.emf.ecore.EValidator
MARKER, RELATED_URIS_ATTRIBUTE, URI_ATTRIBUTE
 
Constructor Summary
Xtend2JavaValidator()
           
 
Method Summary
protected  void addVisibilityError(java.lang.Iterable<JvmOperation> operations, java.lang.String message, java.lang.String ISSUE_ID)
           
protected  java.lang.Iterable<JvmOperation> allSuperOperations(XtendClass xtendClass)
           
protected  java.lang.String canonicalName(JvmIdentifiableElement element)
           
 void checkAnnotationTarget(XAnnotation annotation)
           
 void checkAssignment(XAssignment assignment)
           
 void checkClassPath(XtendClass clazz)
           
 void checkCreateFunctionIsNotTypeVoid(XtendFunction func)
           
 void checkDispatchFunctions(XtendClass clazz)
           
 void checkDuplicateAndOverriddenFunctions(XtendClass xtendClass)
           
protected  void checkFunctionOverride(XtendFunction function)
           
 void checkImports(XtendFile file)
           
 void checkInnerExpressions(XBlockExpression block)
           
 void checkMemberNamesAreUnique(XtendClass xtendClass)
           
 void checkNoReturnsInCreateExtensions(XtendFunction func)
           
 void checkNoSideffectFreeExpressionsInBlockExpression(XBlockExpression blockExpression)
           
 void checkNoVoidInDependencyDeclaration(XtendField dep)
           
 void checkParameterNames(XtendFunction function)
           
 void checkSuperTypes(XtendClass xtendClass)
           
 void checkVariableNameShadowing(XtendFunction func)
           
 void checkWhitespaceInRichStrings(RichString richString)
           
 void checkXtendParameterNotPrimitiveVoid(XtendParameter param)
           
protected  void collectReturnExpressions(org.eclipse.emf.ecore.EObject expr, java.util.List<XReturnExpression> found)
           
 void dispatchFuncWithTypeParams(XtendFunction func)
           
protected  void doCheckWhitespaceIn(RichString richString)
           
protected  org.eclipse.emf.ecore.EObject getContainingAnnotationTarget(XAnnotation annotation)
           
protected  java.util.List<org.eclipse.emf.ecore.EPackage> getEPackages()
           
protected  java.util.List<JvmType> getParamTypes(JvmOperation jvmOperation, boolean wrapPrimitives)
           
protected  java.lang.String getReadableErasure(JvmIdentifiableElement element, java.util.List<JvmFormalParameter> parameters)
           
protected  java.lang.String getReadableSignature(JvmIdentifiableElement element, java.util.List<JvmFormalParameter> parameters)
           
protected  java.lang.String getReadableSignature(java.lang.String elementName, java.util.List<JvmTypeReference> parameters)
           
protected  Xtend2JavaValidator.Signature getSignature(JvmOperation operation)
           
protected  java.util.Map<java.lang.Class<?>,java.lang.annotation.ElementType> getTargetInfos()
           
protected  java.util.Set<org.eclipse.emf.ecore.EReference> getTypeConformanceCheckedReferences()
           
protected  boolean hasCycleInHierarchy(JvmGenericType type, java.util.List<JvmGenericType> processedSuperTypes)
           
protected  boolean isInterface(JvmDeclaredType type)
           
protected  boolean isMorePrivateThan(JvmVisibility o1, JvmVisibility o2)
           
 
Methods inherited from class org.eclipse.xtext.xbase.annotations.validation.XbaseWithAnnotationsJavaValidator
checkAllAttributesConfigured, checkAnnotationValueConformance, checkTypeConformance, checkTypeConformance
 
Methods inherited from class org.eclipse.xtext.xbase.validation.XbaseJavaValidator
canonicalName, canonicalName, checkCast, checkCasts, checkClosureParameterTypes, checkClosureParams, checkDeclaredVariableName, checkDeclaredVariableName, checkImplicitReturn, checkInstanceOf, checkInstantiationOfAbstractClass, checkReceiverOfStaticFeature, checkReceiverOfStaticFeature, checkReturn, checkSpreadOperatorNotUsed, checkTypeArguments, checkTypeArguments, checkTypeGuards, checkTypeReferenceIsNotVoid, checkTypeReferenceIsNotVoid, checkTypes, checkTypes, checkTypes, checkUniqueVariableName, checkUniqueVariableName, checkUniqueVariableName, checkUniqueVariableName, checkUniqueVariableName, checkVariableDeclaration, checkVariableIsNotInferredAsVoid, doCheckReceiverOfStaticFeature, ensureNotPrimitiveNorWildcard, getEarlyExitComputer, getNameOfTypes, getScopeProvider, getTypeProvider, getTypeRefs, getTypesFactory, isConformant, isConformant, isFinal, isImplicitReturn, isInterface, isSideEffectFree, validateType
 
Methods inherited from class org.eclipse.xtext.validation.AbstractDeclarativeValidator
acceptError, acceptError, acceptInfo, acceptInfo, acceptWarning, acceptWarning, checkDone, createDiagnostic, createDiagnostic, error, error, error, error, error, error, error, getChain, getCheckMode, getContext, getCurrentMethod, getCurrentObject, getMessageAcceptor, guard, info, info, info, info, info, info, internalValidate, newInstance, setInjector, setMessageAcceptor, toDiagnosticSeverity, warning, warning, warning, warning, warning, warning, warning
 
Methods inherited from class org.eclipse.xtext.validation.AbstractInjectableValidator
getCurrentLanguage, isLanguageSpecific, isResponsible, register, validate, validate, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Xtend2JavaValidator

public Xtend2JavaValidator()
Method Detail

getEPackages

protected java.util.List<org.eclipse.emf.ecore.EPackage> getEPackages()
Overrides:
getEPackages in class XbaseWithAnnotationsJavaValidator

getTypeConformanceCheckedReferences

protected java.util.Set<org.eclipse.emf.ecore.EReference> getTypeConformanceCheckedReferences()
Overrides:
getTypeConformanceCheckedReferences in class XbaseJavaValidator

checkNoSideffectFreeExpressionsInBlockExpression

public void checkNoSideffectFreeExpressionsInBlockExpression(XBlockExpression blockExpression)
Overrides:
checkNoSideffectFreeExpressionsInBlockExpression in class XbaseJavaValidator

checkAnnotationTarget

public void checkAnnotationTarget(XAnnotation annotation)

getContainingAnnotationTarget

protected org.eclipse.emf.ecore.EObject getContainingAnnotationTarget(XAnnotation annotation)

getTargetInfos

protected java.util.Map<java.lang.Class<?>,java.lang.annotation.ElementType> getTargetInfos()

checkAssignment

public void checkAssignment(XAssignment assignment)
Overrides:
checkAssignment in class XbaseJavaValidator

checkVariableNameShadowing

public void checkVariableNameShadowing(XtendFunction func)

checkNoVoidInDependencyDeclaration

public void checkNoVoidInDependencyDeclaration(XtendField dep)

checkMemberNamesAreUnique

public void checkMemberNamesAreUnique(XtendClass xtendClass)

checkXtendParameterNotPrimitiveVoid

public void checkXtendParameterNotPrimitiveVoid(XtendParameter param)

checkClassPath

public void checkClassPath(XtendClass clazz)

checkWhitespaceInRichStrings

public void checkWhitespaceInRichStrings(RichString richString)

doCheckWhitespaceIn

protected void doCheckWhitespaceIn(RichString richString)

checkSuperTypes

public void checkSuperTypes(XtendClass xtendClass)

hasCycleInHierarchy

protected boolean hasCycleInHierarchy(JvmGenericType type,
                                      java.util.List<JvmGenericType> processedSuperTypes)

checkDuplicateAndOverriddenFunctions

public void checkDuplicateAndOverriddenFunctions(XtendClass xtendClass)

checkFunctionOverride

protected void checkFunctionOverride(XtendFunction function)

isMorePrivateThan

protected boolean isMorePrivateThan(JvmVisibility o1,
                                    JvmVisibility o2)

allSuperOperations

protected java.lang.Iterable<JvmOperation> allSuperOperations(XtendClass xtendClass)

isInterface

protected boolean isInterface(JvmDeclaredType type)

canonicalName

protected java.lang.String canonicalName(JvmIdentifiableElement element)

getSignature

protected Xtend2JavaValidator.Signature getSignature(JvmOperation operation)

getReadableSignature

protected java.lang.String getReadableSignature(JvmIdentifiableElement element,
                                                java.util.List<JvmFormalParameter> parameters)

getReadableSignature

protected java.lang.String getReadableSignature(java.lang.String elementName,
                                                java.util.List<JvmTypeReference> parameters)

getReadableErasure

protected java.lang.String getReadableErasure(JvmIdentifiableElement element,
                                              java.util.List<JvmFormalParameter> parameters)

checkParameterNames

public void checkParameterNames(XtendFunction function)

dispatchFuncWithTypeParams

public void dispatchFuncWithTypeParams(XtendFunction func)

checkDispatchFunctions

public void checkDispatchFunctions(XtendClass clazz)

addVisibilityError

protected void addVisibilityError(java.lang.Iterable<JvmOperation> operations,
                                  java.lang.String message,
                                  java.lang.String ISSUE_ID)

getParamTypes

protected java.util.List<JvmType> getParamTypes(JvmOperation jvmOperation,
                                                boolean wrapPrimitives)

checkNoReturnsInCreateExtensions

public void checkNoReturnsInCreateExtensions(XtendFunction func)

checkCreateFunctionIsNotTypeVoid

public void checkCreateFunctionIsNotTypeVoid(XtendFunction func)

checkInnerExpressions

public void checkInnerExpressions(XBlockExpression block)
Overrides:
checkInnerExpressions in class XbaseJavaValidator

collectReturnExpressions

protected void collectReturnExpressions(org.eclipse.emf.ecore.EObject expr,
                                        java.util.List<XReturnExpression> found)

checkImports

public void checkImports(XtendFile file)