Class 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 Detail

      • DISABLE_ORDERBY_VALIDATION_PROPERTY

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

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

        protected TypeSupport typeSupport
        Type info access 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.
      • _tokenNames

        public static final String[] _tokenNames
      • _tokenSet_0

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

      • Semantic

        public Semantic()
    • Method Detail

      • 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