package org.whole.lang.queries.util;
import org.whole.lang.model.IEntity;
import org.whole.lang.templates.AbstractTemplateFactory;
import org.whole.lang.templates.AbstractTemplateManager;
import org.whole.lang.templates.ITemplateFactory;
public class BindVariablesInPathTemplateManager extends AbstractTemplateManager {
private static class SingletonHolder {
private static final BindVariablesInPathTemplateManager instance = new BindVariablesInPathTemplateManager();
}
public static BindVariablesInPathTemplateManager instance() {
return SingletonHolder.instance;
}
private BindVariablesInPathTemplateManager() {
put("findClassDeclarationsBAD2", newFindClassDeclarationsBAD2());
put("findClassDeclarationsOK1", newFindClassDeclarationsOK1());
put("findClassDeclarationsBAD1", newFindClassDeclarationsBAD1());
put("findClassDeclarationsOK2", newFindClassDeclarationsOK2());
put("compilationUnit", newCompilationUnit());
}
public ITemplateFactory<IEntity> newFindClassDeclarationsBAD2() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("MethodDeclaration");
b0.VariableTest("methodDeclaration");
b0._And();
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.ExpressionTest_();
b0.Path_(2);
b0.FeatureStep("modifiers");
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newFindClassDeclarationsOK1() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("MethodDeclaration");
b0.VariableTest("methodDeclaration");
b0._And();
b0._Filter();
b0.Filter_();
b0.SelfStep();
b0.ExpressionTest_();
b0.Path_(1);
b0.Filter_();
b0.FeatureStep("modifiers");
b0.ExpressionTest_();
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._ExpressionTest();
b0._Filter();
b0._Path();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newFindClassDeclarationsBAD1() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("MethodDeclaration");
b0.VariableTest("methodDeclaration");
b0._And();
b0._Filter();
b0.Filter_();
b0.FeatureStep("modifiers");
b0.ExpressionTest_();
b0.Filter_();
b0.ChildStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newFindClassDeclarationsOK2() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.IBuilderOperation op) {
org.whole.lang.queries.builders.IQueriesBuilder b0 = (org.whole.lang.queries.builders.IQueriesBuilder) op.wGetBuilder(org.whole.lang.queries.reflect.QueriesLanguageKit.URI);
b0.Path_(2);
b0.Filter_();
b0.DescendantStep();
b0.And_();
b0.TypeTest("MethodDeclaration");
b0.VariableTest("methodDeclaration");
b0._And();
b0._Filter();
b0.Filter_();
b0.DescendantStep();
b0.ExpressionTest_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.StageUpFragment_();
org.whole.lang.java.builders.IJavaBuilder b2 = (org.whole.lang.java.builders.IJavaBuilder) op.wGetBuilder(org.whole.lang.java.reflect.JavaLanguageKit.URI);
b2.Modifier("public");
b1._StageUpFragment();
b0._ExpressionTest();
b0._Filter();
b0._Path();
}
};
}
public ITemplateFactory<IEntity> newCompilationUnit() {
return new AbstractTemplateFactory<IEntity>() {
public void apply(org.whole.lang.builders.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.CompilationUnit_();
b0.PackageDeclaration_();
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.Resolver();
b1.Resolver();
b0.QualifiedName("org.whole.lang");
b0._PackageDeclaration();
b0.ImportDeclarations_(6);
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.bindings.BindingManagerFactory");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.bindings.IBindingManager");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.model.IEntity");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.visitors.GenericIdentityVisitor");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.visitors.GenericTraversalFactory");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0.ImportDeclaration_();
b0.QualifiedName("org.whole.lang.visitors.VisitException");
b0.ImportModifier(false);
b0.ImportModifier(false);
b0._ImportDeclaration();
b0._ImportDeclarations();
b0.TypeDeclarations_(1);
b0.ClassDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(1);
b0.Modifier("public");
b0._ExtendedModifiers();
b0.SimpleName("CheckPaternityVisitor");
b1.Resolver();
b0.SimpleType("GenericIdentityVisitor");
b1.Resolver();
b0.BodyDeclarations_(4);
b0.FieldDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(1);
b0.Modifier("private");
b0._ExtendedModifiers();
b0.SimpleType("IBindingManager");
b0.VariableDeclarationFragments_(1);
b0.VariableDeclarationFragment_();
b0.SimpleName("bm");
b0.ExtraDimensions(0);
b1.Resolver();
b0._VariableDeclarationFragment();
b0._VariableDeclarationFragments();
b0._FieldDeclaration();
b0.ConstructorDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(1);
b0.Modifier("public");
b0._ExtendedModifiers();
b1.Resolver();
b0.SimpleName("CheckPaternityVisitor");
b0.Parameters();
b1.Resolver();
b1.Resolver();
b0.Block_(1);
b0.ExpressionStatement_();
b0.Assignment_();
b0.SimpleName("bm");
b0.AssignmentOperator("=");
b0.MethodInvocation_();
b0.QualifiedName("BindingManagerFactory.instance");
b0.Types();
b0.SimpleName("createBindingManager");
b0.Arguments();
b0._MethodInvocation();
b0._Assignment();
b0._ExpressionStatement();
b0._Block();
b0._ConstructorDeclaration();
b0.MethodDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(2);
b0.MarkerAnnotation_();
b0.SimpleName("Override");
b0._MarkerAnnotation();
b0.Modifier("public");
b0._ExtendedModifiers();
b1.Resolver();
b0.PrimitiveType("void");
b0.SimpleName("visit");
b0.Parameters_(1);
b0.SingleVariableDeclaration_();
b1.Resolver();
b0.SimpleType("IEntity");
b0.Varargs(false);
b0.SimpleName("entity");
b0.ExtraDimensions(0);
b1.Resolver();
b0._SingleVariableDeclaration();
b0._Parameters();
b1.Resolver();
b1.Resolver();
b0.Block_(2);
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.SimpleName("bm");
b0.Types();
b0.SimpleName("wDef");
b0.Arguments_(2);
b0.StringLiteral("parent");
b0.MethodInvocation_();
b0.SimpleName("entity");
b0.Types();
b0.SimpleName("wGetParent");
b0.Arguments();
b0._MethodInvocation();
b0._Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.MethodInvocation_();
b0.QualifiedName("GenericTraversalFactory.instance");
b0.Types();
b0.SimpleName("downUp");
b0.Arguments_(2);
b0.ClassInstanceCreation_();
b1.Resolver();
b1.Resolver();
b0.SimpleType("GenericIdentityVisitor");
b1.Resolver();
b0.AnonymousClassDeclaration_(1);
b0.MethodDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(1);
b0.Modifier("public");
b0._ExtendedModifiers();
b1.Resolver();
b0.PrimitiveType("void");
b0.SimpleName("visit");
b0.Parameters_(1);
b0.SingleVariableDeclaration_();
b1.Resolver();
b0.SimpleType("IEntity");
b0.Varargs(false);
b0.SimpleName("entity");
b0.ExtraDimensions(0);
b1.Resolver();
b0._SingleVariableDeclaration();
b0._Parameters();
b1.Resolver();
b1.Resolver();
b0.Block_(2);
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.SimpleName("bm");
b0.Types();
b0.SimpleName("wEnterScope");
b0.Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.SimpleName("bm");
b0.Types();
b0.SimpleName("wDef");
b0.Arguments_(2);
b0.StringLiteral("parent");
b0.SimpleName("entity");
b0._Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0._Block();
b0._MethodDeclaration();
b0._AnonymousClassDeclaration();
b0._ClassInstanceCreation();
b0.ClassInstanceCreation_();
b1.Resolver();
b1.Resolver();
b0.SimpleType("GenericIdentityVisitor");
b1.Resolver();
b0.AnonymousClassDeclaration_(1);
b0.MethodDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(1);
b0.Modifier("public");
b0._ExtendedModifiers();
b1.Resolver();
b0.PrimitiveType("void");
b0.SimpleName("visit");
b0.Parameters_(1);
b0.SingleVariableDeclaration_();
b1.Resolver();
b0.SimpleType("IEntity");
b0.Varargs(false);
b0.SimpleName("entity");
b0.ExtraDimensions(0);
b1.Resolver();
b0._SingleVariableDeclaration();
b0._Parameters();
b1.Resolver();
b1.Resolver();
b0.Block_(2);
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.SimpleName("bm");
b0.Types();
b0.SimpleName("wExitScope");
b0.Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0.IfStatement_();
b0.InfixExpression_();
b0.MethodInvocation_();
b0.SimpleName("bm");
b0.Types();
b0.SimpleName("wGet");
b0.Arguments_(1);
b0.StringLiteral("parent");
b0._Arguments();
b0._MethodInvocation();
b0.InfixOperator("!=");
b0.MethodInvocation_();
b0.SimpleName("entity");
b0.Types();
b0.SimpleName("wGetParent");
b0.Arguments();
b0._MethodInvocation();
b0.Expressions();
b0._InfixExpression();
b0.ThrowStatement_();
b0.ClassInstanceCreation_();
b1.Resolver();
b1.Resolver();
b0.SimpleType("VisitException");
b1.Resolver();
b1.Resolver();
b0._ClassInstanceCreation();
b0._ThrowStatement();
b1.Resolver();
b0._IfStatement();
b0._Block();
b0._MethodDeclaration();
b0._AnonymousClassDeclaration();
b0._ClassInstanceCreation();
b0._Arguments();
b0._MethodInvocation();
b0.Types();
b0.SimpleName("visit");
b0.Arguments_(1);
b0.SimpleName("entity");
b0._Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0._Block();
b0._MethodDeclaration();
b0.MethodDeclaration_();
b1.Resolver();
b0.ExtendedModifiers_(2);
b0.Modifier("public");
b0.Modifier("static");
b0._ExtendedModifiers();
b1.Resolver();
b0.PrimitiveType("boolean");
b0.SimpleName("check");
b0.Parameters_(1);
b0.SingleVariableDeclaration_();
b1.Resolver();
b0.SimpleType("IEntity");
b0.Varargs(false);
b0.SimpleName("entity");
b0.ExtraDimensions(0);
b1.Resolver();
b0._SingleVariableDeclaration();
b0._Parameters();
b1.Resolver();
b1.Resolver();
b0.Block_(1);
b0.TryStatement_();
b0.Block_(2);
b0.ExpressionStatement_();
b0.MethodInvocation_();
b0.ClassInstanceCreation_();
b1.Resolver();
b1.Resolver();
b0.SimpleType("CheckPaternityVisitor");
b1.Resolver();
b1.Resolver();
b0._ClassInstanceCreation();
b0.Types();
b0.SimpleName("visit");
b0.Arguments_(1);
b0.SimpleName("entity");
b0._Arguments();
b0._MethodInvocation();
b0._ExpressionStatement();
b0.ReturnStatement_();
b0.BooleanLiteral(true);
b0._ReturnStatement();
b0._Block();
b0.CatchClauses_(1);
b0.CatchClause_();
b0.SingleVariableDeclaration_();
b1.Resolver();
b0.SimpleType("VisitException");
b0.Varargs(false);
b0.SimpleName("e");
b0.ExtraDimensions(0);
b1.Resolver();
b0._SingleVariableDeclaration();
b0.Block_(1);
b0.ReturnStatement_();
b0.BooleanLiteral(false);
b0._ReturnStatement();
b0._Block();
b0._CatchClause();
b0._CatchClauses();
b0.Block();
b0._TryStatement();
b0._Block();
b0._MethodDeclaration();
b0._BodyDeclarations();
b0._ClassDeclaration();
b0._TypeDeclarations();
b0._CompilationUnit();
}
};
}
}