package org.whole.lang.matchers; import org.whole.lang.builders.IBuilderOperation; import org.whole.lang.templates.AbstractTemplateFactory; public class FunctionPattern extends AbstractTemplateFactory<org.whole.lang.java.model.ClassDeclaration> { public void apply(IBuilderOperation op) { org.whole.lang.java.builders.IJavaBuilder b0 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI); b0.ClassDeclaration_(); org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI); b1.Resolver(); b0.ExtendedModifiers_(1); b0.Modifier("public"); b0._ExtendedModifiers(); b0.SimpleName("FunctionPattern"); b1.Resolver(); b1.Resolver(); b1.Resolver(); b0.BodyDeclarations_(2); b0.MethodDeclaration_(); b1.Resolver(); b0.ExtendedModifiers_(2); b0.Modifier("public"); b0.Modifier("static"); b0._ExtendedModifiers(); b1.Resolver(); b0.PrimitiveType("int"); b1.Variable_(); b1.VarType("http://lang.whole.org/Java#SimpleName"); b1.VarName("factName"); b1.Quantifier("!"); b1._Variable(); b0.Parameters_(1); b0.SingleVariableDeclaration_(); b1.Resolver(); b0.PrimitiveType("int"); b0.Varargs(false); b0.SimpleName("n"); b0.ExtraDimensions(0); b1.Resolver(); b0._SingleVariableDeclaration(); b0._Parameters(); b1.Resolver(); b1.Resolver(); b0.Block_(3); b0.VariableDeclarationStatement_(); b1.Resolver(); b0.PrimitiveType("int"); b0.VariableDeclarationFragments_(1); b0.VariableDeclarationFragment_(); b0.SimpleName("result"); b0.ExtraDimensions(0); b0.ByteLiteral((byte) 1); b0._VariableDeclarationFragment(); b0._VariableDeclarationFragments(); b0._VariableDeclarationStatement(); b0.WhileStatement_(); b0.InfixExpression_(); b0.SimpleName("n"); b0.InfixOperator(">"); b0.ByteLiteral((byte) 0); b0.Expressions(); b0._InfixExpression(); b0.Block_(2); b0.ExpressionStatement_(); b0.Assignment_(); b0.SimpleName("result"); b0.AssignmentOperator("="); b0.InfixExpression_(); b0.SimpleName("result"); b0.InfixOperator("*"); b0.SimpleName("n"); b0.Expressions(); b0._InfixExpression(); b0._Assignment(); b0._ExpressionStatement(); b0.ExpressionStatement_(); b0.Assignment_(); b0.SimpleName("n"); b0.AssignmentOperator("="); b0.InfixExpression_(); b0.SimpleName("n"); b0.InfixOperator("-"); b0.ByteLiteral((byte) 1); b0.Expressions(); b0._InfixExpression(); b0._Assignment(); b0._ExpressionStatement(); b0._Block(); b0._WhileStatement(); b0.ReturnStatement_(); b0.SimpleName("result"); b0._ReturnStatement(); b0._Block(); b0._MethodDeclaration(); b0.MethodDeclaration_(); b1.Resolver(); b0.ExtendedModifiers_(2); b0.Modifier("public"); b0.Modifier("static"); b0._ExtendedModifiers(); b1.Resolver(); b0.PrimitiveType("void"); b0.SimpleName("main"); b0.Parameters_(1); b0.SingleVariableDeclaration_(); b1.Resolver(); b0.ArrayType_(); b0.SimpleType("String"); b0._ArrayType(); b0.Varargs(false); b0.SimpleName("args"); b0.ExtraDimensions(0); b1.Resolver(); b0._SingleVariableDeclaration(); b0._Parameters(); b1.Resolver(); b1.Resolver(); b0.Block_(1); b0.ExpressionStatement_(); b0.MethodInvocation_(); b0.QualifiedName("System.out"); b0.Types(); b0.SimpleName("println"); b0.Arguments_(1); b0.MethodInvocation_(); b1.Resolver(); b0.Types(); b1.Variable_(); b1.VarType("http://lang.whole.org/Java#SimpleName"); b1.VarName("factName"); b1.Quantifier("!"); b1._Variable(); b0.Arguments_(1); b1.Variable_(); b1.VarType("http://lang.whole.org/Java#ByteLiteral"); b1.VarName("factArg"); b1.Quantifier("!"); b1._Variable(); b0._Arguments(); b0._MethodInvocation(); b0._Arguments(); b0._MethodInvocation(); b0._ExpressionStatement(); b0._Block(); b0._MethodDeclaration(); b0._BodyDeclarations(); b0._ClassDeclaration(); } }