38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
if( !pTemplateRuleSet )
return nullopt;
return pTemplateRuleSet->buildSignature( c, *ValueFromIRExpr( tpl ) );
}
optional< Value > BuildTemplateParam( const Context& c, const Term& tpl, const Term& arg )
{
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
if( !pTemplateRuleSet )
return nullopt;
return pTemplateRuleSet->buildParamDecl( c, *ValueFromIRExpr( tpl ), *ValueFromIRExpr( arg ) );
}
void TemplateSetup( const Context& c, UnificationContext& uc, const Term& tpl )
{
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
|
|
|
|
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
if( !pTemplateRuleSet )
return nullopt;
return pTemplateRuleSet->buildSignature( c, *ValueFromIRExpr( tpl ) );
}
Value BuildTemplateParam( const Context& c, const Term& tpl, const Term& arg )
{
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
if( !pTemplateRuleSet )
return PoisonValue();
return pTemplateRuleSet->buildParamDecl( c, *ValueFromIRExpr( tpl ), *ValueFromIRExpr( arg ) );
}
void TemplateSetup( const Context& c, UnificationContext& uc, const Term& tpl )
{
const auto pTemplateRuleSet = GetTemplateRuleSet( c, tpl );
|