Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 package com.facebook.presto.byteCode.control;
 
 
 import java.util.List;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 
 public class TryCatch
         implements FlowControl
 {
     private final CompilerContext context;
     private final String comment;
     private final ByteCodeNode tryNode;
     private final ByteCodeNode catchNode;
     private final String exceptionName;
 
     public TryCatch(CompilerContext contextString commentByteCodeNode tryNodeByteCodeNode catchNodeParameterizedType exceptionType)
     {
         this. = checkNotNull(context"context is null");
         this. = comment;
         this. = checkNotNull(tryNode"tryNode is null");
         this. = checkNotNull(catchNode"catchNode is null");
         this. = (exceptionType != null) ? exceptionType.getClassName() : null;
     }
 
     @Override
     public String getComment()
     {
         return ;
     }
 
     public ByteCodeNode getTryNode()
     {
         return ;
     }
 
     public ByteCodeNode getCatchNode()
     {
         return ;
     }
 
     public String getExceptionName()
     {
         return ;
     }
 
     @Override
     public void accept(MethodVisitor visitor)
     {
         LabelNode tryStart = new LabelNode("tryStart");
         LabelNode tryEnd = new LabelNode("tryEnd");
         LabelNode handler = new LabelNode("handler");
         LabelNode done = new LabelNode("done");
 
         Block block = new Block();
 
         // try block
         block.visitLabel(tryStart)
                 .append()
                 .visitLabel(tryEnd)
                 .gotoLabel(done);
 
         // handler block
         block.visitLabel(handler)
                 .append();
 
         // all done
         block.visitLabel(done);
 
         block.accept(visitor);
         visitor.visitTryCatchBlock(tryStart.getLabel(), tryEnd.getLabel(), handler.getLabel(), );
     }
 
     @Override
     public List<ByteCodeNodegetChildNodes()
     {
         return ImmutableList.of();
     }
    @Override
    public <T> T accept(ByteCodeNode parentByteCodeVisitor<T> visitor)
    {
        return visitor.visitTryCatch(parentthis);
    }
New to GrepCode? Check out our FAQ X