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;
 
 public class LookupSwitch
         implements FlowControl
 {
     public static LookupSwitchBuilder lookupSwitchBuilder()
     {
         return new LookupSwitchBuilder();
     }
 
     public static class LookupSwitchBuilder
     {
         private final List<CaseStatementcases = new ArrayList<>();
         private String comment;
         private LabelNode defaultCase;
 
         public LookupSwitchBuilder defaultCase(LabelNode defaultCase)
         {
             this. = defaultCase;
             return this;
         }
 
         public LookupSwitchBuilder comment(String formatObject... args)
         {
             this. = String.format(formatargs);
             return this;
         }
 
         public LookupSwitchBuilder addCase(int keyLabelNode label)
         {
             .add(CaseStatement.caseStatement(keylabel));
             return this;
         }
 
         public LookupSwitchBuilder addCase(CaseStatement caseStatement)
         {
             .add(caseStatement);
             return this;
         }
 
         public LookupSwitch build()
         {
             return new LookupSwitch();
         }
     }
 
     private final String comment;
     private final LabelNode defaultCase;
     private final SortedSet<CaseStatementcases;
 
     private LookupSwitch(String commentLabelNode defaultCaseIterable<CaseStatementcases)
     {
         this. = comment;
         this. = defaultCase;
         this. = ImmutableSortedSet.copyOf(cases);
     }
 
     @Override
     public String getComment()
     {
         return ;
     }
 
     public SortedSet<CaseStatementgetCases()
     {
         return ;
     }
 
     public LabelNode getDefaultCase()
     {
         return ;
     }
 
     @Override
    public void accept(MethodVisitor visitor)
    {
        int[] keys = new int[.size()];
        Label[] labels = new Label[.size()];
        int index = 0;
        for (CaseStatement caseStatement : ) {
            keys[index] = caseStatement.getKey();
            labels[index] = caseStatement.getLabel().getLabel();
            index++;
        }
        visitor.visitLookupSwitchInsn(.getLabel(), keyslabels);
    }
    @Override
    public List<ByteCodeNodegetChildNodes()
    {
        return ImmutableList.of();
    }
    @Override
    public <T> T accept(ByteCodeNode parentByteCodeVisitor<T> visitor)
    {
        return visitor.visitLookupSwitch(parentthis);
    }
New to GrepCode? Check out our FAQ X