   OperandV = @operand.Codegen()
   if not OperandV then return null
   
-  F = TheModule.getFunction("unary"+@Opcode)
+  F = TheModule.getFunction("unary"+@opcode)
   if not F
     throw new Error("Unknown unary operator")
   
-  return Builder.CreateCall(F, OperandV, "unop")
+  return Builder.createCall(F, [OperandV], "unop")
 
 BinaryExprAST::Codegen = ->
   # Special case '=' because we don't want to emit the LHS as an expression.

    @getNextToken()  # eat ')'.
    
    # Verify right number of names for operator.
    if Kind && ArgNames.size() != Kind
      return ErrorP("Invalid number of operands for operator")
    
    return new PrototypeAST(FnName, ArgNames, Kind != 0, BinaryPrecedence)

  
  # If this is an operator, install it.
  if @Proto.isBinaryOp()
    parser.binopPrecedence[@Proto.getOperatorName()] = @Proto.precedence
  
  # Create a new basic block to start insertion into.
  BB = TheFunction.addBasicBlock("entry")
