예제 #1
0
 public override void VisitFinallyItem(FinallyItem x)
 {
     using (new ScopeHelper(this, x))
     {
         base.VisitFinallyItem(x);
     }
 }
예제 #2
0
 public override void VisitFinallyItem(FinallyItem x)
 {
     // finally BLOCK
     using (new ScopeHelper(this, x))
     {
         ConsumeToken(Tokens.T_FINAL, "finally", x.Span.Start);
         VisitElement(x.Body);
     }
 }
예제 #3
0
 /// <summary>
 /// Visit <see cref="FinallyItem"/>.
 /// </summary>
 virtual public void VisitFinallyItem(FinallyItem x)
 {
     VisitElement(x.Body);
 }
예제 #4
0
 override public void VisitFinallyItem(FinallyItem x)
 {
     _serializer.StartSerialize(typeof(FinallyItem).Name, SerializeSpan(x.Span));
     SerializeOptionalProperty("Body", x.Body);
     _serializer.EndSerialize();
 }
예제 #5
0
 public static void Emit(this FinallyItem /*!*/ node, CodeGenerator codeGenerator)
 {
     node.NodeCompiler <IFinallyItemCompiler>().Emit(node, codeGenerator);
 }
예제 #6
0
 public static void Analyze(this FinallyItem /*!*/ node, Analyzer /*!*/ analyzer)
 {
     node.NodeCompiler <IFinallyItemCompiler>().Analyze(node, analyzer);
 }
예제 #7
0
 void IFinallyItemCompiler.Emit(FinallyItem node, CodeGenerator codeGenerator)
 {
     Emit(node, codeGenerator);
 }
예제 #8
0
 void IFinallyItemCompiler.Analyze(FinallyItem node, Analyzer analyzer)
 {
     Analyze(node, analyzer);
 }
예제 #9
0
 private void Emit(FinallyItem /*!*/ node, CodeGenerator codeGenerator)
 {
     codeGenerator.IL.BeginFinallyBlock();
     node.Statements.Emit(codeGenerator);
 }
예제 #10
0
 private void Analyze(FinallyItem /*!*/ node, Analyzer /*!*/ analyzer)
 {
     analyzer.EnterConditionalCode();
     node.Statements.Analyze(analyzer);
     analyzer.LeaveConditionalCode();
 }