public void build(final RuleBuildContext context,
final BoundIdentifiers usedIdentifiers,
final Declaration[] previousDeclarations,
final Declaration[] localDeclarations,
final PredicateConstraint predicateConstraint,
final PredicateDescr predicateDescr,
final AnalysisResult analysis) {
final String className = "predicate" + context.getNextId();
predicateDescr.setClassMethodName( className );
final Map vars = createVariableContext( className,
(String) predicateDescr.getContent(),
context,
previousDeclarations,
localDeclarations,
usedIdentifiers.getGlobals() );
generateMethodTemplate("predicateMethod", context, vars);
byte[] bytecode = createPredicateBytecode(context, vars);
registerInvokerBytecode(context, vars, bytecode, predicateConstraint);
}