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.expression;
 
 
 
 import java.util.List;
 
 import static com.google.common.base.Preconditions.checkArgument;
 import static com.google.common.base.Preconditions.checkNotNull;
 
         extends ByteCodeExpression
 {
     public static InvokeByteCodeExpression createInvoke(
             ByteCodeExpression instance,
             String methodName,
             ParameterizedType returnType,
             Iterable<ParameterizedTypeparameterTypes,
             Iterable<? extends ByteCodeExpressionparameters)
     {
         return new InvokeByteCodeExpression(
                 checkNotNull(instance"instance is null"),
                 instance.getType(),
                 checkNotNull(methodName"methodName is null"),
                 checkNotNull(returnType"returnType is null"),
                 checkNotNull(parameterTypes"parameterTypes is null"),
                 checkNotNull(parameters"parameters is null"));
     }
 
     @Nullable
     private final ByteCodeExpression instance;
     private final ParameterizedType methodTargetType;
     private final String methodName;
     private final ParameterizedType returnType;
     private final List<ByteCodeExpressionparameters;
     private final ImmutableList<ParameterizedTypeparameterTypes;
 
     public InvokeByteCodeExpression(
             @Nullable ByteCodeExpression instance,
             ParameterizedType methodTargetType,
             String methodName,
             ParameterizedType returnType,
             Iterable<ParameterizedTypeparameterTypes,
             Iterable<? extends ByteCodeExpressionparameters)
     {
         super(checkNotNull(returnType"returnType is null"));
         checkArgument(instance == null || !instance.getType().isPrimitive(), "Type %s does not have methods"getType());
         this. = instance;
         this. = checkNotNull(methodTargetType"methodTargetType is null");
         this. = checkNotNull(methodName"methodName is null");
         this. = returnType;
         this. = ImmutableList.copyOf(checkNotNull(parameterTypes"parameterTypes is null"));
         this. = ImmutableList.copyOf(checkNotNull(parameters"parameters is null"));
     }
 
     @Override
     public ByteCodeNode getByteCode()
     {
         Block block = new Block(null);
         if ( != null) {
             block.append();
         }
 
         for (ByteCodeExpression parameter : ) {
             block.append(parameter);
         }
 
         if ( == null) {
             return block.invokeStatic();
         }
         else if (.getType().isInterface()) {
             return block.invokeInterface();
         }
         else {
             return block.invokeVirtual();
         }
     }
 
     @Override
     protected String formatOneLine()
     {
        if ( == null) {
            return .getSimpleName() + "." +  + "(" + Joiner.on(", ").join() + ")";
        }
        return  + "." +  + "(" + Joiner.on(", ").join() + ")";
    }
    @Override
    public List<ByteCodeNodegetChildNodes()
    {
        ImmutableList.Builder<ByteCodeNodechildren = ImmutableList.builder();
        if ( != null) {
            children.add();
        }
        children.addAll();
        return children.build();
    }
New to GrepCode? Check out our FAQ X