예제 #1
0
        public override void VisitCFGCatchBlock(CatchBlock x)
        {
            VisitCFGBlockInit(x);

            // add catch control variable to the state
            Accept(x.Variable);
            x.TypeRef.Accept(this);
            State.SetLocalType(State.GetLocalHandle(x.Variable.Name.NameValue), TypeCtx.GetTypeMask(x.TypeRef.TypeRef));

            //
            x.Variable.ResultType = x.TypeRef.ResolvedType;

            //
            VisitCFGBlockInternal(x);
        }
예제 #2
0
        public override void VisitCFGCatchBlock(CatchBlock x)
        {
            VisitCFGBlockInit(x);

            // add catch control variable to the state
            Accept(x.Variable);
            VisitTypeRef(x.TypeRef);
            SetVar(x.Variable.Name.NameValue.Value, TypeCtx.GetTypeMask(x.TypeRef.TypeRef));

            //
            x.Variable.ResultType = x.TypeRef.ResolvedType;

            //
            VisitCFGBlockInternal(x);
        }