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
 
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  java.lang.Iterable<JvmOperation> allSuperOperations(XtendClass xtendClass)
           
protected  java.lang.String canonicalName(JvmIdentifiableElement element)
           
 void caseFuncWithoutParams(XtendFunction func)
           
 void caseFuncWithTypeParams(XtendFunction func)
           
 void checkAnnotationTarget(XAnnotation annotation)
           
 void checkAssignment(XAssignment assignment)
           
 void checkCaseFunctions(XtendClass clazz)
           
 void checkClassPath(XtendClass clazz)
           
 void checkCreateFunctionIsNotTypeVoid(XtendFunction func)
           
 void checkDuplicateAndOverriddenFunctions(XtendClass xtendClass)
           
protected  void checkFunctionOverride(XtendFunction function)
           
 void checkInnerExpressions(XBlockExpression block)
           
 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)
           
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  Pair<java.lang.String,java.util.List<JvmType>> 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 isImplicitReturn(XExpression expr)
           
protected  boolean isInterface(JvmDeclaredType type)
           
 
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, 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, isInterface, isSideEffectFree
 
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)

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)

checkDuplicateAndOverriddenFunctions

public void checkDuplicateAndOverriddenFunctions(XtendClass xtendClass)

isImplicitReturn

protected boolean isImplicitReturn(XExpression expr)
Overrides:
isImplicitReturn in class XbaseJavaValidator

checkFunctionOverride

protected void checkFunctionOverride(XtendFunction function)

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 Pair<java.lang.String,java.util.List<JvmType>> 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)

caseFuncWithoutParams

public void caseFuncWithoutParams(XtendFunction func)

caseFuncWithTypeParams

public void caseFuncWithTypeParams(XtendFunction func)

checkCaseFunctions

public void checkCaseFunctions(XtendClass clazz)

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)