public interface com.oracle.truffle.llvm.runtime.NodeFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.oracle.truffle.llvm.runtime.NodeFactory
  super_class: java.lang.Object
{
  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInsertElement(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      resultType  
      vector      
      element     
      index       

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createExtractElement(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      resultType  
      vector      
      index       

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createShuffleVector(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      llvmType  
      vector1   
      vector2   
      mask      

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLoad(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      resolvedResultType  
      loadTarget          

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createStore(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.memory.store.LLVMOffsetStoreNode createOffsetMemoryStore(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/memory/store/LLVMOffsetStoreNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Exceptions:
      throws com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException
    MethodParameters:
              Name  Flags
      resolvedType  
      value         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWXchg(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWAdd(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWSub(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWAnd(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWNand(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWOr(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createRMWXor(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      pointerNode  
      valueNode    
      type         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createFence();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVectorLiteralNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
        Name  Flags
      values  
      type    

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createRetVoid();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createNonVoidRet(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      retValue      
      resolvedType  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createFunctionArgNode(int, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      argIndex   
      paramType  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createFunctionInvoke(com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.FunctionType, int, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/FunctionType;IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      writeResult          
      functionNode         
      argNodes             
      type                 
      normalIndex          
      unwindIndex          
      normalPhiWriteNodes  
      unwindPhiWriteNodes  

  public abstract com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode createFrameWrite(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      llvmType  
      result    
      slot      

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createExtractValue(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      type           
      targetAddress  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createTypedElementPointer(long, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                   Name  Flags
      indexedTypeLength  
      targetType         
      aggregateAddress   
      index              

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVectorizedTypedElementPointer(long, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JLcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                   Name  Flags
      indexedTypeLength  
      targetType         
      aggregateAddress   
      index              

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createSelect(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      type        
      condition   
      trueValue   
      falseValue  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createZeroVectorInitializer(int, com.oracle.truffle.llvm.runtime.types.VectorType);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/types/VectorType;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      nrElements  
      llvmType    

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createUnreachableNode();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createIndirectBranch(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      value         
      labelTargets  
      phiWrites     

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createSwitch(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[I[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      cond           
      labels         
      cases          
      llvmType       
      phiWriteNodes  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createConditionalBranch(int, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (IILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      trueIndex           
      falseIndex          
      conditionNode       
      truePhiWriteNodes   
      falsePhiWriteNodes  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createUnconditionalBranch(int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode);
    descriptor: (ILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                    Name  Flags
      unconditionalIndex  
      phi                 

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createArrayLiteral(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.ArrayType, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/ArrayType;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                           Name  Flags
      arrayValues                
      arrayType                  
      arrayGetStackSpaceFactory  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createPrimitiveArrayLiteral(java.lang.Object, com.oracle.truffle.llvm.runtime.types.ArrayType, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/llvm/runtime/types/ArrayType;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                           Name  Flags
      arrayValues                
      arrayType                  
      arrayGetStackSpaceFactory  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createBitcast(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      fromNode    
      targetType  
      fromType    

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createArithmeticOp(com.oracle.truffle.llvm.runtime.ArithmeticOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/ArithmeticOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
       Name  Flags
      op     
      type   
      left   
      right  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createUnaryOp(com.oracle.truffle.llvm.runtime.UnaryOperation, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/UnaryOperation;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      op       
      type     
      operand  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAlloca(com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      type  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAlloca(com.oracle.truffle.llvm.runtime.types.Type, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
           Name  Flags
      type       
      alignment  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createGetUniqueStackSpace(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion, com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      type             
      uniquesRegion    
      frameDescriptor  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createAllocaArray(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      elementType  
      numElements  
      alignment    

  public abstract com.oracle.truffle.llvm.runtime.memory.VarargsAreaStackAllocationNode createVarargsAreaStackAllocation();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/VarargsAreaStackAllocationNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInsertValue(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, long, long, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;JJLcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      resultAggregate  
      sourceAggregate  
      size             
      offset           
      valueToInsert    
      llvmType         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createZeroNode(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, long);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;J)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      addressNode  
      size         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createStructureConstantNode(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory, boolean, com.oracle.truffle.llvm.runtime.types.Type[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[]);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;Z[Lcom/oracle/truffle/llvm/runtime/types/Type;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      structureType         
      getStackSpaceFactory  
      packed                
      types                 
      constants             

  public abstract com.oracle.truffle.api.nodes.RootNode createFunction(com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[], com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion, com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode[], com.oracle.truffle.api.frame.FrameDescriptor, com.oracle.truffle.api.frame.FrameSlot, com.oracle.truffle.llvm.runtime.types.symbols.LocalVariableDebugInfo, java.lang.String, java.lang.String, int, com.oracle.truffle.api.source.Source, com.oracle.truffle.llvm.runtime.debug.scope.LLVMSourceLocation);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$UniquesRegion;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/api/frame/FrameSlot;Lcom/oracle/truffle/llvm/runtime/types/symbols/LocalVariableDebugInfo;Ljava/lang/String;Ljava/lang/String;ILcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/llvm/runtime/debug/scope/LLVMSourceLocation;)Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      exceptionValueSlot    
      basicBlockNodes       
      uniquesRegion         
      copyArgumentsToFrame  
      frameDescriptor       
      loopSuccessorSlot     
      debugInfo             
      name                  
      originalName          
      argumentCount         
      bcSource              
      location              

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createInlineAssemblerExpression(java.lang.String, java.lang.String, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, com.oracle.truffle.llvm.runtime.types.Type);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;Lcom/oracle/truffle/llvm/runtime/types/Type;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      asmExpression  
      asmFlags       
      args           
      argTypes       
      retType        

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLandingPad(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.api.frame.FrameSlot, boolean, long[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/api/frame/FrameSlot;Z[J[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                         Name  Flags
      allocateLandingPadValue  
      exceptionSlot            
      cleanup                  
      clauseKinds              
      entries                  
      getStack                 

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createResumeInstruction(com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      exceptionSlot  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createCompareExchangeInstruction(com.oracle.truffle.llvm.runtime.types.AggregateType, com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/AggregateType;Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
             Name  Flags
      returnType   
      elementType  
      ptrNode      
      cmpNode      
      newNode      

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createLLVMBuiltin(com.oracle.truffle.llvm.runtime.types.symbols.Symbol, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder, int);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/symbols/Symbol;[Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;Lcom/oracle/truffle/llvm/runtime/types/Type$TypeArrayBuilder;I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                     Name  Flags
      target               
      args                 
      argsTypes            
      callerArgumentCount  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode createPhi(com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode[], com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[], com.oracle.truffle.llvm.runtime.nodes.vars.LLVMWriteNode[]);
    descriptor: ([Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;[Lcom/oracle/truffle/llvm/runtime/nodes/vars/LLVMWriteNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                Name  Flags
      cycleFrom       
      cycleWrites     
      ordinaryWrites  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createCopyStructByValue(com.oracle.truffle.llvm.runtime.types.Type, com.oracle.truffle.llvm.runtime.GetStackSpaceFactory, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/Type;Lcom/oracle/truffle/llvm/runtime/GetStackSpaceFactory;Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                      Name  Flags
      type                  
      getStackSpaceFactory  
      parameterNode         

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createVarArgCompoundValue(long, int, com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode);
    descriptor: (JILcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
               Name  Flags
      length         
      alignment      
      parameterNode  

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMMemMoveNode createMemMove();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemMoveNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMMemSetNode createMemSet();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemSetNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMAllocateNode createAllocateGlobalsBlock(com.oracle.truffle.llvm.runtime.types.StructureType, boolean);
    descriptor: (Lcom/oracle/truffle/llvm/runtime/types/StructureType;Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMAllocateNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
            Name  Flags
      structType  
      readOnly    

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMMemoryOpNode createProtectGlobalsBlock();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemoryOpNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMMemoryOpNode createFreeGlobalsBlock(boolean);
    descriptor: (Z)Lcom/oracle/truffle/llvm/runtime/memory/LLVMMemoryOpNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
          Name  Flags
      readOnly  

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMControlFlowNode createLoop(com.oracle.truffle.api.nodes.RepeatingNode, int[]);
    descriptor: (Lcom/oracle/truffle/api/nodes/RepeatingNode;[I)Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMControlFlowNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
              Name  Flags
      body          
      successorIDs  

  public abstract com.oracle.truffle.api.nodes.RepeatingNode createLoopDispatchNode(com.oracle.truffle.api.frame.FrameSlot, java.util.List<? extends com.oracle.truffle.llvm.runtime.nodes.api.LLVMStatementNode>, com.oracle.truffle.llvm.runtime.nodes.base.LLVMBasicBlockNode[], int, int[], int[], com.oracle.truffle.api.frame.FrameSlot);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/util/List;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/nodes/RepeatingNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/util/List<+Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMStatementNode;>;[Lcom/oracle/truffle/llvm/runtime/nodes/base/LLVMBasicBlockNode;I[I[ILcom/oracle/truffle/api/frame/FrameSlot;)Lcom/oracle/truffle/api/nodes/RepeatingNode;
    MethodParameters:
                    Name  Flags
      exceptionValueSlot  
      list                
      originalBodyNodes   
      headerId            
      indexMapping        
      successors          
      successorSlot       

  public abstract com.oracle.truffle.llvm.runtime.nodes.api.LLVMExpressionNode createGetStackFromFrame();
    descriptor: ()Lcom/oracle/truffle/llvm/runtime/nodes/api/LLVMExpressionNode;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess createStackAccess(com.oracle.truffle.api.frame.FrameDescriptor);
    descriptor: (Lcom/oracle/truffle/api/frame/FrameDescriptor;)Lcom/oracle/truffle/llvm/runtime/memory/LLVMStack$LLVMStackAccess;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
                 Name  Flags
      frameDescriptor  
}
SourceFile: "NodeFactory.java"
InnerClasses:
  public abstract LLVMStackAccess = com.oracle.truffle.llvm.runtime.memory.LLVMStack$LLVMStackAccess of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public final UniquesRegion = com.oracle.truffle.llvm.runtime.memory.LLVMStack$UniquesRegion of com.oracle.truffle.llvm.runtime.memory.LLVMStack
  public TypeArrayBuilder = com.oracle.truffle.llvm.runtime.types.Type$TypeArrayBuilder of com.oracle.truffle.llvm.runtime.types.Type
  public final TypeOverflowException = com.oracle.truffle.llvm.runtime.types.Type$TypeOverflowException of com.oracle.truffle.llvm.runtime.types.Type