本文整理汇总了Java中org.spoofax.interpreter.terms.IStrategoConstructor.getArity方法的典型用法代码示例。如果您正苦于以下问题:Java IStrategoConstructor.getArity方法的具体用法?Java IStrategoConstructor.getArity怎么用?Java IStrategoConstructor.getArity使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.spoofax.interpreter.terms.IStrategoConstructor
的用法示例。
在下文中一共展示了IStrategoConstructor.getArity方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: doSlowMatch
import org.spoofax.interpreter.terms.IStrategoConstructor; //导入方法依赖的package包/类
@Override
protected boolean doSlowMatch(IStrategoTerm second, int commonStorageType) {
if (second == this)
return true;
if (second == null || second.getTermType() != CTOR)
return false;
IStrategoConstructor other = (IStrategoConstructor) second;
return name.equals(other.getName()) && arity == other.getArity();
}
示例2: hasConstructor
import org.spoofax.interpreter.terms.IStrategoConstructor; //导入方法依赖的package包/类
public static boolean hasConstructor(IStrategoAppl t, String ctorName, int arity) {
final IStrategoConstructor constructor = t.getConstructor();
return constructor.getName().equals(ctorName) && constructor.getArity() == arity;
}
示例3: isInjection
import org.spoofax.interpreter.terms.IStrategoConstructor; //导入方法依赖的package包/类
private boolean isInjection(IStrategoNamed prod) {
// Injections are terms on the following form:
// . prod([<term>],cf(<term>),<term>)
// . prod([<term>],lex(sort(<str>)),<term>)
// . lit(<str>)
// TODO: optimize - use constants for these constructors (a la parseproductionreader)
if(!prod.getName().equals("prod"))
return false;
if(prod.getSubterm(1).getTermType() != APPL)
return false;
final String nm = ((IStrategoNamed) prod.getSubterm(1)).getName();
if(!(nm.equals("cf") || nm.equals("lex")))
return false;
if(prod.getSubterm(0).getTermType() != LIST)
return false;
IStrategoList ls = ((IStrategoList) prod.getSubterm(0));
if(ls.getSubtermCount() != 1)
return false;
if(ls.head().getTermType() != APPL)
return false;
final IStrategoConstructor fun = ((IStrategoAppl) ls.head()).getConstructor();
return !(fun.getName().equals("lit") && fun.getArity() == 1);
}