protected CompileUnit getCompileUnit() { CompileUnit answer = classNode.getCompileUnit(); if (answer == null) { answer = context.getCompileUnit(); } return answer; }
offset++; body.call(context, new GeneratorContext(this.ast, offset), classNode);
private static boolean containsOnlyValidChars(String name) { // TODO: this might not do enough or too much // But it is a good start without spreading logic everywhere String encoded = GeneratorContext.encodeAsValidClassName(name); return encoded.equals(name); }
String name = outerClassName + "$" + context.getNextInnerClassIdx(); controller.setInterfaceClassLoadingClass( new InterfaceHelperClassNode (
MethodNode methodNode = controller.getMethodNode(); String name = classNode.getName() + "$" + controller.getContext().getNextClosureInnerName(outerClass, classNode, methodNode); // add a more informative name boolean staticMethodOrInStaticClass = controller.isStaticMethod() || classNode.isStaticClass();
methodName = methodName.replace('>', '_'); return "_" + classShortName + methodName + "closure" + getNextInnerClassIdx();
protected ClassNode createClosureClass(ClosureExpression expression) { ClassNode outerClass = getOutermostClass(); String name = outerClass.getName() + "$" + context.getNextClosureInnerName(outerClass, classNode, methodNode); // br added a more infomative name boolean staticMethodOrInStaticClass = isStaticMethod() || classNode.isStaticClass();
protected CompileUnit getCompileUnit() { CompileUnit answer = controller.getClassNode().getCompileUnit(); if (answer == null) { answer = context.getCompileUnit(); } return answer; }
methodName = methodName.replace('>', '_'); return "_" + classShortName + methodName + "closure" + getNextInnerClassIdx();
offset++; body.call(context, new GeneratorContext(this.ast, offset), classNode);
protected ClassNode createClosureClass(ClosureExpression expression) { ClassNode outerClass = getOutermostClass(); String name = outerClass.getName() + "$" + context.getNextClosureInnerName(outerClass, classNode, methodNode); // add a more informative name boolean staticMethodOrInStaticClass = isStaticMethod() || classNode.isStaticClass();
public String getNextClosureInnerName(ClassNode owner, ClassNode enclosingClass, MethodNode enclosingMethod) { String methodName = ""; if (enclosingMethod != null) { methodName = enclosingMethod.getName(); if (enclosingClass.isDerivedFrom(ClassHelper.CLOSURE_TYPE)) { methodName = ""; } else { methodName = "_"+encodeAsValidClassName(methodName); } } return methodName + "_closure" + closureClassIdx++; }
protected CompileUnit getCompileUnit() { CompileUnit answer = classNode.getCompileUnit(); if (answer == null) { answer = context.getCompileUnit(); } return answer; }
methodName = methodName.replace('>', '_'); return "_" + classShortName + methodName + "closure" + getNextInnerClassIdx();
context = classNode.getModule().getContext(); if (context == null || context.phase <= phase) { body.call(context, new GeneratorContext(this.ast), classNode);
protected ClassNode createClosureClass(ClosureExpression expression) { ClassNode outerClass = getOutermostClass(); String name = outerClass.getName() + "$" + context.getNextClosureInnerName(outerClass, classNode, methodNode); // add a more informative name boolean staticMethodOrInStaticClass = isStaticMethod() || classNode.isStaticClass();
public ClassNode getScriptClassDummy() { if (scriptDummy!=null) { setScriptBaseClassFromConfig(scriptDummy); return scriptDummy; } String name = getPackageName(); if (name == null) { name = ""; } // now let's use the file name to determine the class name if (getDescription() == null) { throw new RuntimeException("Cannot generate main(String[]) class for statements when we have no file description"); } name += GeneratorContext.encodeAsValidClassName(extractClassFromFileDescription()); ClassNode classNode; if (isPackageInfo()) { classNode = new ClassNode(name, ACC_ABSTRACT | ACC_INTERFACE, ClassHelper.OBJECT_TYPE); } else { classNode = new ClassNode(name, ACC_PUBLIC, ClassHelper.SCRIPT_TYPE); setScriptBaseClassFromConfig(classNode); classNode.setScript(true); classNode.setScriptBody(true); } scriptDummy = classNode; return classNode; }
protected CompileUnit getCompileUnit() { CompileUnit answer = classNode.getCompileUnit(); if (answer == null) { answer = context.getCompileUnit(); } return answer; }
String name = outerClassName + "$" + context.getNextInnerClassIdx(); interfaceClassLoadingClass = new InnerClassNode(owner, name, 4128, ClassHelper.OBJECT_TYPE);
context = classNode.getModule().getContext(); if (context == null || context.phase <= phase) { body.call(context, new GeneratorContext(this.ast), classNode);