org.eclipse.xtext.xbase.validation
Class XbaseJavaValidator

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
All Implemented Interfaces:
org.eclipse.emf.ecore.EValidator, ValidationMessageAcceptor
Direct Known Subclasses:
AbstractPureXbaseJavaValidator, AbstractXbaseWithAnnotationsJavaValidator, PureXbaseJavaValidator, XbaseWithAnnotationsJavaValidator

public class XbaseJavaValidator
extends AbstractXbaseJavaValidator


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
XbaseJavaValidator()
           
 
Method Summary
protected  java.lang.String canonicalName(JvmType type)
           
protected  java.lang.String canonicalName(JvmTypeReference typeRef)
           
 void checkAssignment(XAssignment assignment)
           
protected  void checkCast(JvmTypeReference toType, JvmTypeReference fromType)
           
 void checkCasts(XCastedExpression cast)
           
 void checkClosureParameterTypes(XClosure closure)
           
 void checkClosureParams(XClosure closure)
           
protected  void checkDeclaredVariableName(org.eclipse.emf.ecore.EObject nameAndAttributeDeclarator, org.eclipse.emf.ecore.EAttribute attr)
           
protected  void checkDeclaredVariableName(org.eclipse.emf.ecore.EObject nameDeclarator, org.eclipse.emf.ecore.EObject attributeHolder, org.eclipse.emf.ecore.EAttribute attr)
           
 void checkImplicitReturn(XExpression expr)
           
 void checkInnerExpressions(XBlockExpression block)
           
 void checkInstanceOf(XInstanceOfExpression instanceOfExpression)
           
 void checkInstantiationOfAbstractClass(XConstructorCall constructorCall)
           
 void checkNoSideffectFreeExpressionsInBlockExpression(XBlockExpression blockExpression)
           
 void checkReceiverOfStaticFeature(XFeatureCall featureCall)
           
 void checkReceiverOfStaticFeature(XMemberFeatureCall featureCall)
           
 void checkSpreadOperatorNotUsed(XMemberFeatureCall featureCall)
           
 void checkTypeArguments(XAbstractFeatureCall expression)
           
 void checkTypeArguments(XConstructorCall expression)
           
 void checkTypeGuards(XCasePart casePart)
           
 void checkTypeReferenceIsNotVoid(XCasePart expression)
           
 void checkTypeReferenceIsNotVoid(XExpression expression)
           
 void checkTypes(XCatchClause catchClause)
           
 void checkTypes(XExpression obj)
           
 void checkTypes(XForLoopExpression obj)
           
 void checkUniqueVariableName(XClosure closure)
           
 void checkUniqueVariableName(XForLoopExpression forLoop)
           
 void checkUniqueVariableName(XSwitchExpression decl)
           
 void checkUniqueVariableName(XTryCatchFinallyExpression tryCatch)
           
 void checkUniqueVariableName(XVariableDeclaration decl)
           
 void checkVariableDeclaration(XVariableDeclaration declaration)
           
 void checkVariableIsNotInferredAsVoid(XVariableDeclaration declaration)
           
protected  void doCheckReceiverOfStaticFeature(XAbstractFeatureCall featureCall, XExpression receiver)
           
protected  void ensureNotPrimitiveNorWildcard(JvmTypeReference typeRef)
           
protected  IEarlyExitComputer getEarlyExitComputer()
           
protected  java.util.List<org.eclipse.emf.ecore.EPackage> getEPackages()
           
protected  java.lang.String getNameOfTypes(JvmTypeReference expectedType)
           
protected  XbaseScopeProvider getScopeProvider()
           
protected  java.util.Set<org.eclipse.emf.ecore.EReference> getTypeConformanceCheckedReferences()
           
protected  ITypeProvider getTypeProvider()
           
protected  TypeReferences getTypeRefs()
           
protected  TypesFactory getTypesFactory()
           
protected  boolean isConformant(JvmType leftType, JvmTypeReference right)
           
protected  boolean isConformant(JvmTypeReference left, JvmTypeReference right)
           
protected  boolean isFinal(JvmTypeReference expressionTypeRef)
           
protected  boolean isImplicitReturn(XExpression expr)
           
protected  boolean isInterface(JvmType type)
           
protected  boolean isSideEffectFree(XExpression expr)
           
 
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

XbaseJavaValidator

public XbaseJavaValidator()
Method Detail

getTypeConformanceCheckedReferences

protected java.util.Set<org.eclipse.emf.ecore.EReference> getTypeConformanceCheckedReferences()

checkNoSideffectFreeExpressionsInBlockExpression

public void checkNoSideffectFreeExpressionsInBlockExpression(XBlockExpression blockExpression)

isSideEffectFree

protected boolean isSideEffectFree(XExpression expr)

checkTypeReferenceIsNotVoid

public void checkTypeReferenceIsNotVoid(XExpression expression)

checkVariableIsNotInferredAsVoid

public void checkVariableIsNotInferredAsVoid(XVariableDeclaration declaration)

checkClosureParameterTypes

public void checkClosureParameterTypes(XClosure closure)

checkTypeArguments

public void checkTypeArguments(XAbstractFeatureCall expression)

checkTypeArguments

public void checkTypeArguments(XConstructorCall expression)

ensureNotPrimitiveNorWildcard

protected void ensureNotPrimitiveNorWildcard(JvmTypeReference typeRef)

checkTypeReferenceIsNotVoid

public void checkTypeReferenceIsNotVoid(XCasePart expression)

checkUniqueVariableName

public void checkUniqueVariableName(XVariableDeclaration decl)

checkUniqueVariableName

public void checkUniqueVariableName(XSwitchExpression decl)

checkUniqueVariableName

public void checkUniqueVariableName(XForLoopExpression forLoop)

checkUniqueVariableName

public void checkUniqueVariableName(XClosure closure)

checkUniqueVariableName

public void checkUniqueVariableName(XTryCatchFinallyExpression tryCatch)

checkDeclaredVariableName

protected void checkDeclaredVariableName(org.eclipse.emf.ecore.EObject nameAndAttributeDeclarator,
                                         org.eclipse.emf.ecore.EAttribute attr)

checkDeclaredVariableName

protected void checkDeclaredVariableName(org.eclipse.emf.ecore.EObject nameDeclarator,
                                         org.eclipse.emf.ecore.EObject attributeHolder,
                                         org.eclipse.emf.ecore.EAttribute attr)

getScopeProvider

protected XbaseScopeProvider getScopeProvider()

checkTypes

public void checkTypes(XExpression obj)

checkReceiverOfStaticFeature

public void checkReceiverOfStaticFeature(XMemberFeatureCall featureCall)

checkReceiverOfStaticFeature

public void checkReceiverOfStaticFeature(XFeatureCall featureCall)

doCheckReceiverOfStaticFeature

protected void doCheckReceiverOfStaticFeature(XAbstractFeatureCall featureCall,
                                              XExpression receiver)

checkImplicitReturn

public void checkImplicitReturn(XExpression expr)

isImplicitReturn

protected boolean isImplicitReturn(XExpression expr)

getNameOfTypes

protected java.lang.String getNameOfTypes(JvmTypeReference expectedType)

checkTypes

public void checkTypes(XForLoopExpression obj)

checkTypes

public void checkTypes(XCatchClause catchClause)

checkAssignment

public void checkAssignment(XAssignment assignment)

checkVariableDeclaration

public void checkVariableDeclaration(XVariableDeclaration declaration)

checkInnerExpressions

public void checkInnerExpressions(XBlockExpression block)

checkCasts

public void checkCasts(XCastedExpression cast)

checkCast

protected void checkCast(JvmTypeReference toType,
                         JvmTypeReference fromType)

checkTypeGuards

public void checkTypeGuards(XCasePart casePart)

checkInstanceOf

public void checkInstanceOf(XInstanceOfExpression instanceOfExpression)

isFinal

protected boolean isFinal(JvmTypeReference expressionTypeRef)

checkInstantiationOfAbstractClass

public void checkInstantiationOfAbstractClass(XConstructorCall constructorCall)

checkClosureParams

public void checkClosureParams(XClosure closure)

checkSpreadOperatorNotUsed

public void checkSpreadOperatorNotUsed(XMemberFeatureCall featureCall)

getEPackages

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

canonicalName

protected java.lang.String canonicalName(JvmTypeReference typeRef)

canonicalName

protected java.lang.String canonicalName(JvmType type)

isInterface

protected boolean isInterface(JvmType type)

isConformant

protected boolean isConformant(JvmType leftType,
                               JvmTypeReference right)

isConformant

protected boolean isConformant(JvmTypeReference left,
                               JvmTypeReference right)

getTypeProvider

protected ITypeProvider getTypeProvider()

getTypeRefs

protected TypeReferences getTypeRefs()

getTypesFactory

protected TypesFactory getTypesFactory()

getEarlyExitComputer

protected IEarlyExitComputer getEarlyExitComputer()