private SemanticResolver(
            ParserOptions parserOptions,
            Dictionary <string, DbParameterReferenceExpression> parameters,
            Dictionary <string, DbVariableReferenceExpression> variables,
            TypeResolver typeResolver)
        {
            _parserOptions = parserOptions;
            _parameters    = parameters;
            _variables     = variables;
            _typeResolver  = typeResolver;

            //
            // Creates Scope manager
            //
            _scopeManager = new ScopeManager(NameComparer);

            //
            // Push a root scope region
            //
            EnterScopeRegion();

            //
            // Add command free variables to the root scope
            //
            foreach (var variable in _variables.Values)
            {
                CurrentScope.Add(variable.VariableName, new FreeVariableScopeEntry(variable));
            }
        }
Example #2
0
 private SemanticResolver(
     ParserOptions parserOptions,
     Dictionary <string, DbParameterReferenceExpression> parameters,
     Dictionary <string, DbVariableReferenceExpression> variables,
     TypeResolver typeResolver)
 {
     this._parserOptions = parserOptions;
     this._parameters    = parameters;
     this._variables     = variables;
     this._typeResolver  = typeResolver;
     this._scopeManager  = new ScopeManager((IEqualityComparer <string>) this.NameComparer);
     this.EnterScopeRegion();
     foreach (DbVariableReferenceExpression varRef in this._variables.Values)
     {
         this.CurrentScope.Add(varRef.VariableName, (ScopeEntry) new FreeVariableScopeEntry(varRef));
     }
 }
Example #3
0
 internal ScopeRegion(ScopeManager scopeManager, int firstScopeIndex, int scopeRegionIndex)
 {
     _scopeManager = scopeManager;
     _firstScopeIndex = firstScopeIndex;
     _scopeRegionIndex = scopeRegionIndex;
 }
Example #4
0
 internal ScopeRegion(ScopeManager scopeManager, int firstScopeIndex, int scopeRegionIndex)
 {
     _scopeManager     = scopeManager;
     _firstScopeIndex  = firstScopeIndex;
     _scopeRegionIndex = scopeRegionIndex;
 }
Example #5
0
 internal ScopeRegion(ScopeManager scopeManager, int firstScopeIndex, int scopeRegionIndex)
 {
     this._scopeManager     = scopeManager;
     this._firstScopeIndex  = firstScopeIndex;
     this._scopeRegionIndex = scopeRegionIndex;
 }