java.lang.Object
antlr.TreeParser
com.sun.jdo.spi.persistence.support.ejb.ejbqlc.Semantic
All Implemented Interfaces:
SemanticTokenTypes

public class Semantic extends antlr.TreeParser implements SemanticTokenTypes
This class defines the semantic analysis of the EJBQL compiler. Input of this pass is the AST as produced by the parser, that consists of EJBQLAST nodes. The result is a typed EJBQLAST tree.
Author:
Michael Bouschen, Shing Wai Chan
  • Field Details

    • DISABLE_ORDERBY_VALIDATION_PROPERTY

      public static final String DISABLE_ORDERBY_VALIDATION_PROPERTY
      Name of the property to disable order by validation.
      See Also:
    • symtab

      protected SymbolTable symtab
      Symbol table handling names of variables and parameters.
    • typeSupport

      protected TypeSupport typeSupport
      Type info access helper.
    • paramSupport

      protected ParameterSupport paramSupport
      Parameter info helper.
    • method

      protected Method method
      The Method instance of the finder/selector method.
    • resultTypeMapping

      protected int resultTypeMapping
      result-type-mapping element from the DD.
    • finderNotSelector

      protected boolean finderNotSelector
      Flag indicating finder or selector.
    • isAggregate

      protected boolean isAggregate
      Flag indicating have aggregate function or not.
    • ejbName

      protected String ejbName
      The ejb-name.
    • msgs

      protected static final ResourceBundle msgs
      I18N support.
    • _tokenNames

      public static final String[] _tokenNames
    • _tokenSet_0

      public static final antlr.collections.impl.BitSet _tokenSet_0
  • Constructor Details

    • Semantic

      public Semantic()
  • Method Details

    • init

      public void init(TypeSupport typeSupport, ParameterSupport paramSupport, Method method, int resultTypeMapping, boolean finderNotSelector, String ejbName)
      Initializes the semantic analysis.
      Parameters:
      typeSupport - type info access helper.
      paramSupport - parameter info helper.
      method - method instance of the finder/selector method.
      resultTypeMapping - result-type-mapping element from the DD
      finderNotSelector - true for finder; false for selector
      ejbName - the ejb name of the finder/selector method.
    • reportError

      public void reportError(antlr.RecognitionException ex)
      Overrides:
      reportError in class antlr.TreeParser
    • reportError

      public void reportError(String s)
      Overrides:
      reportError in class antlr.TreeParser
    • query

      public final void query(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • fromClause

      public final void fromClause(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • selectClause

      public final void selectClause(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • whereClause

      public final void whereClause(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • orderbyClause

      public final void orderbyClause(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • identificationVarDecl

      public final void identificationVarDecl(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • collectionMemberDecl

      public final void collectionMemberDecl(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • rangeVarDecl

      public final void rangeVarDecl(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • collectionValuedPathExpression

      public final void collectionValuedPathExpression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • distinct

      public final void distinct(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • projection

      public final void projection(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • singleValuedPathExpression

      public final void singleValuedPathExpression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • cmpPathExpression

      public final void cmpPathExpression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • countExpr

      public final void countExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • expression

      public final void expression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • orderbyItem

      public final void orderbyItem(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • conditionalExpr

      public final void conditionalExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • relationalExpr

      public final void relationalExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • binaryArithmeticExpr

      public final void binaryArithmeticExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • unaryExpr

      public final void unaryExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • betweenExpr

      public final void betweenExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • likeExpr

      public final void likeExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • inExpr

      public final void inExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • nullComparisonExpr

      public final void nullComparisonExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • emptyCollectionComparisonExpr

      public final void emptyCollectionComparisonExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • collectionMemberExpr

      public final void collectionMemberExpr(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • function

      public final void function(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • primary

      public final void primary(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • pattern

      public final void pattern(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • escape

      public final void escape(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • inputParameter

      public final void inputParameter(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • escapeCharacter

      public final void escapeCharacter(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • inCollection

      public final void inCollection(antlr.collections.AST _t, Object valueExprTypeInfo) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • member

      public final void member(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • identificationVariable

      public final void identificationVariable(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • singleValuedCmrPathExpression

      public final void singleValuedCmrPathExpression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • concat

      public final void concat(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • substring

      public final void substring(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • length

      public final void length(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • locate

      public final void locate(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • abs

      public final void abs(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • sqrt

      public final void sqrt(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • mod

      public final void mod(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • literal

      public final void literal(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • pathExpression

      public final void pathExpression(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • objectDenoter

      public final void objectDenoter(antlr.collections.AST _t) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException
    • inCollectionElement

      public final void inCollectionElement(antlr.collections.AST _t, Object valueExprTypeInfo) throws antlr.RecognitionException
      Throws:
      antlr.RecognitionException