com.sun.jdo.spi.persistence.support.ejb.ejbqlc
Class Semantic

java.lang.Object
  extended by antlr.TreeParser
      extended by 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 Summary
static String[] _tokenNames
           
static antlr.collections.impl.BitSet _tokenSet_0
           
static String DISABLE_ORDERBY_VALIDATION_PROPERTY
          Name of the property to disable order by validation.
protected  String ejbName
          The ejb-name.
protected  boolean finderNotSelector
          Flag indicating finder or selector.
protected  boolean isAggregate
          Flag indicating have aggregate function or not.
protected  Method method
          The Method instance of the finder/selector method.
protected static ResourceBundle msgs
          I18N support.
protected  ParameterSupport paramSupport
          Parameter info helper.
protected  int resultTypeMapping
          result-type-mapping element from the DD.
protected  SymbolTable symtab
          Symbol table handling names of variables and parameters.
protected  TypeSupport typeSupport
          Type info access helper.
 
Fields inherited from class antlr.TreeParser
_retTree, astFactory, ASTNULL, inputState, returnAST, tokenNames, traceDepth
 
Fields inherited from interface com.sun.jdo.spi.persistence.support.ejb.ejbqlc.SemanticTokenTypes
ABS, ABSTRACT_SCHEMA_NAME, AND, AS, ASC, AVG, BETWEEN, BY, CMP_FIELD, CMP_FIELD_ACCESS, COLLECTION_CMR_FIELD, COLLECTION_CMR_FIELD_ACCESS, COMMA, CONCAT, COUNT, DESC, DISTINCT, DIV, DOT, DOUBLE_LITERAL, EMPTY, EOF, EQUAL, ESC, ESCAPE, EXPONENT, FALSE, FLOAT_LITERAL, FLOAT_SUFFIX, FLOATINGPOINT_SUFFIX, FROM, GE, GT, HEX_DIGIT, IDENT, IDENTIFICATION_VAR, IDENTIFICATION_VAR_DECL, IN, INPUT_PARAMETER, INT_LITERAL, IS, LE, LENGTH, LIKE, LOCATE, LONG_LITERAL, LPAREN, LT, MAX, MEMBER, MIN, MINUS, MOD, NEWLINE, NOT, NOT_BETWEEN, NOT_EMPTY, NOT_EQUAL, NOT_IN, NOT_LIKE, NOT_MEMBER, NOT_NULL, NULL, NULL_TREE_LOOKAHEAD, OBJECT, OF, OR, ORDER, PLUS, QUERY, RANGE, RPAREN, SELECT, SINGLE_CMR_FIELD, SINGLE_CMR_FIELD_ACCESS, SQRT, STAR, STRING_LITERAL, SUBSTRING, SUM, TRUE, UNARY_MINUS, UNARY_PLUS, UNICODE_DIGIT, UNICODE_ESCAPE, UNICODE_STR, UNKNOWN, WHERE, WS
 
Constructor Summary
Semantic()
           
 
Method Summary
 void abs(antlr.collections.AST _t)
           
 void betweenExpr(antlr.collections.AST _t)
           
 void binaryArithmeticExpr(antlr.collections.AST _t)
           
 void cmpPathExpression(antlr.collections.AST _t)
           
 void collectionMemberDecl(antlr.collections.AST _t)
           
 void collectionMemberExpr(antlr.collections.AST _t)
           
 void collectionValuedPathExpression(antlr.collections.AST _t)
           
 void concat(antlr.collections.AST _t)
           
 void conditionalExpr(antlr.collections.AST _t)
           
 void countExpr(antlr.collections.AST _t)
           
 void distinct(antlr.collections.AST _t)
           
 void emptyCollectionComparisonExpr(antlr.collections.AST _t)
           
 void escape(antlr.collections.AST _t)
           
 void escapeCharacter(antlr.collections.AST _t)
           
 void expression(antlr.collections.AST _t)
           
 void fromClause(antlr.collections.AST _t)
           
 void function(antlr.collections.AST _t)
           
 void identificationVarDecl(antlr.collections.AST _t)
           
 void identificationVariable(antlr.collections.AST _t)
           
 void inCollection(antlr.collections.AST _t, Object valueExprTypeInfo)
           
 void inCollectionElement(antlr.collections.AST _t, Object valueExprTypeInfo)
           
 void inExpr(antlr.collections.AST _t)
           
 void init(TypeSupport typeSupport, ParameterSupport paramSupport, Method method, int resultTypeMapping, boolean finderNotSelector, String ejbName)
          Initializes the semantic analysis.
 void inputParameter(antlr.collections.AST _t)
           
 void length(antlr.collections.AST _t)
           
 void likeExpr(antlr.collections.AST _t)
           
 void literal(antlr.collections.AST _t)
           
 void locate(antlr.collections.AST _t)
           
 void member(antlr.collections.AST _t)
           
 void mod(antlr.collections.AST _t)
           
 void nullComparisonExpr(antlr.collections.AST _t)
           
 void objectDenoter(antlr.collections.AST _t)
           
 void orderbyClause(antlr.collections.AST _t)
           
 void orderbyItem(antlr.collections.AST _t)
           
 void pathExpression(antlr.collections.AST _t)
           
 void pattern(antlr.collections.AST _t)
           
 void primary(antlr.collections.AST _t)
           
 void projection(antlr.collections.AST _t)
           
 void query(antlr.collections.AST _t)
           
 void rangeVarDecl(antlr.collections.AST _t)
           
 void relationalExpr(antlr.collections.AST _t)
           
 void reportError(antlr.RecognitionException ex)
           
 void reportError(String s)
           
 void selectClause(antlr.collections.AST _t)
           
 void singleValuedCmrPathExpression(antlr.collections.AST _t)
           
 void singleValuedPathExpression(antlr.collections.AST _t)
           
 void sqrt(antlr.collections.AST _t)
           
 void substring(antlr.collections.AST _t)
           
 void unaryExpr(antlr.collections.AST _t)
           
 void whereClause(antlr.collections.AST _t)
           
 
Methods inherited from class antlr.TreeParser
getAST, getASTFactory, getTokenName, getTokenNames, match, match, matchNot, panic, reportWarning, setASTFactory, setASTNodeClass, setASTNodeType, traceIn, traceIndent, traceOut
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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.


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


Copyright © 2012 GlassFish Community. All Rights Reserved.