# Class: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Util

Utility routines to build IR templates.

## Static Method: L
- parameter: `id`, type: `int`
- parameter: `bitsize`, type: `int`
- parameter: `flags`, type: `int`
- parameter: `customHandler`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INodeHandler`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node

## Static Method: L
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching everything \(terminals and non\-terminals alike, of any bitsize\)

## Static Method: L
- parameter: `id`, type: `int`
- parameter: `bitsize`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching terminals and non\-terminals of the provided bitsize

## Static Method: LC
- parameter: `value`, type: `long`
- parameter: `bitsize`, type: `int`
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching a given immediate with an explicit bitsize

## Static Method: LC
- parameter: `value`, type: `long`
- parameter: `bitsize`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching a given immediate with an explicit bitsize

## Static Method: LC
- parameter: `value`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching a given immediate, regardless of its bitsize

## Static Method: LI
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching immediates only

## Static Method: LIV
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching immediates and variables only

## Static Method: LT
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching all terminals, but terminals only

## Static Method: LV
- parameter: `id`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Leaf`

Description: Create a leaf node matching variables only

## Static Method: N
- parameter: `operator`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.O`
- parameter: `operands`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INode[]`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Node`


## Static Method: N
- parameter: `opgrp`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.OGroup`
- parameter: `operands`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INode[]`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.Node`


## Static Method: SD
- parameter: `pattern`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INode`
- parameter: `replacement`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INode`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.SubstitutionDefinition`


## Static Method: calculateProperties
- parameter: `root`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.compiler.INode`


