/** * INTERNAL * Validate node and calculate its type. */ public void validate(ParseTreeContext context) { TypeHelper typeHelper = context.getTypeHelper(); classConstant = typeHelper.resolveSchema(variableName); if (classConstant != null){ setType(Class.class); return; } String name = getCanonicalVariableName(); if (context.isRangeVariable(name)) { String schema = context.schemaForVariable(name); setType(typeHelper.resolveSchema(schema)); } else { Node path = context.pathForVariable(name); if (path == null) { throw JPQLException.aliasResolutionException( context.getQueryInfo(), getLine(), getColumn(), name); } else { setType(path.getType()); } } context.usedVariable(name); if (context.isDeclaredInOuterScope(name)) { context.registerOuterScopeVariable(name); } }
/** * INTERNAL * Validate node and calculate its type. */ public void validate(ParseTreeContext context) { TypeHelper typeHelper = context.getTypeHelper(); classConstant = typeHelper.resolveSchema(variableName); if (classConstant != null){ setType(Class.class); return; } String name = getCanonicalVariableName(); if (context.isRangeVariable(name)) { String schema = context.schemaForVariable(name); setType(typeHelper.resolveSchema(schema)); } else { Node path = context.pathForVariable(name); if (path == null) { throw JPQLException.aliasResolutionException( context.getQueryInfo(), getLine(), getColumn(), name); } else { setType(path.getType()); } } context.usedVariable(name); if (context.isDeclaredInOuterScope(name)) { context.registerOuterScopeVariable(name); } }
/** * INTERNAL * Validate node and calculate its type. */ public void validate(ParseTreeContext context) { TypeHelper typeHelper = context.getTypeHelper(); classConstant = typeHelper.resolveSchema(variableName); if (classConstant != null){ setType(Class.class); return; } String name = getCanonicalVariableName(); if (context.isRangeVariable(name)) { String schema = context.schemaForVariable(name); setType(typeHelper.resolveSchema(schema)); } else { Node path = context.pathForVariable(name); if (path == null) { throw JPQLException.aliasResolutionException( context.getQueryInfo(), getLine(), getColumn(), name); } else { setType(path.getType()); } } context.usedVariable(name); if (context.isDeclaredInOuterScope(name)) { context.registerOuterScopeVariable(name); } }