Esempio n. 1
0
        public static void Evaluate(ProcedureStatementBodyBase exec, Scope scope)
        {
            switch (exec)
            {
            case AlterFunctionStatement alterFunc:
                scope.Env.GetSchema(alterFunc.Name).Functions.Set(
                    alterFunc.Name.BaseIdentifier.Value,
                    BuildFunc(alterFunc));
                return;

            case AlterProcedureStatement alterProc:
                scope.Env.GetSchema(alterProc.ProcedureReference.Name).Procedures.Set(
                    alterProc.ProcedureReference.Name.BaseIdentifier.Value,
                    BuildProc(alterProc));
                return;

            case CreateFunctionStatement createFunc:
                scope.Env.GetSchema(createFunc.Name).Functions.Declare(
                    createFunc.Name.BaseIdentifier.Value,
                    BuildFunc(createFunc));
                return;

            case CreateProcedureStatement createProc:
                scope.Env.GetSchema(createProc.ProcedureReference.Name).Procedures.Declare(
                    createProc.ProcedureReference.Name.BaseIdentifier.Value,
                    BuildProc(createProc));
                return;

            default:
                throw FeatureNotSupportedException.Subtype(exec);
            }
        }
 public override void ExplicitVisit(ProcedureStatementBodyBase fragment)
 {
     _fragments.Add(fragment);
 }
 public sealed override void ExplicitVisit(ProcedureStatementBodyBase node)
 {
     base.ExplicitVisit(node);
 }
Esempio n. 4
0
 public override void ExplicitVisit(ProcedureStatementBodyBase node) { this.action(node); }