public ClassNode getOrAddClosureClass(ClosureExpression expression, int mods) { ClassNode closureClass = closureClassMap.get(expression); if (closureClass == null) { closureClass = createClosureClass(expression, mods); closureClassMap.put(expression, closureClass); controller.getAcg().addInnerClass(closureClass); closureClass.addInterface(ClassHelper.GENERATED_CLOSURE_Type); closureClass.putNodeMetaData(WriterControllerFactory.class, factory); } return closureClass; }
protected void createInterfaceSyntheticStaticFields() { ClassNode icl = controller.getInterfaceClassLoadingClass(); if (referencedClasses.isEmpty()) { Iterator<InnerClassNode> it = icl.getOuterClass().getInnerClasses(); while(it.hasNext()) { InnerClassNode inner = it.next(); if (inner==icl) { it.remove(); return; } } return; } addInnerClass(icl); for (Map.Entry<String, ClassNode> entry : referencedClasses.entrySet()) { // generate a field node String staticFieldName = entry.getKey(); ClassNode cn = entry.getValue(); icl.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type.getPlainNodeReference(), new ClassExpression(cn)); } }
protected void createInterfaceSyntheticStaticFields() { if (syntheticStaticFields.isEmpty()) return; addInnerClass(interfaceClassLoadingClass); for (Iterator iter = syntheticStaticFields.iterator(); iter.hasNext();) { String staticFieldName = (String) iter.next(); // generate a field node interfaceClassLoadingClass.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type, null); } }
protected void createInterfaceSyntheticStaticFields() { if (referencedClasses.isEmpty()) return; addInnerClass(interfaceClassLoadingClass); for (String staticFieldName : referencedClasses.keySet()) { // generate a field node interfaceClassLoadingClass.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type, new ClassExpression(referencedClasses.get(staticFieldName))); } }
protected void createInterfaceSyntheticStaticFields() { if (referencedClasses.isEmpty()) return; addInnerClass(interfaceClassLoadingClass); for (Iterator iter = referencedClasses.iterator(); iter.hasNext();) { ClassRef ref = (ClassRef) iter.next(); String staticFieldName = getStaticFieldName(ref.type); // generate a field node interfaceClassLoadingClass.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type, new ClassExpression(ref.type)); } }
public ClassNode getOrAddClosureClass(ClosureExpression expression, int mods) { ClassNode closureClass = closureClassMap.get(expression); if (closureClass == null) { closureClass = createClosureClass(expression, mods); closureClassMap.put(expression, closureClass); controller.getAcg().addInnerClass(closureClass); closureClass.addInterface(ClassHelper.GENERATED_CLOSURE_Type); } return closureClass; }
protected void createInterfaceSyntheticStaticFields() { ClassNode icl = controller.getInterfaceClassLoadingClass(); if (referencedClasses.isEmpty()) { Iterator<InnerClassNode> it = controller.getClassNode().getInnerClasses(); while(it.hasNext()) { InnerClassNode inner = it.next(); if (inner==icl) { it.remove(); return; } } return; } addInnerClass(icl); for (String staticFieldName : referencedClasses.keySet()) { // generate a field node icl.addField(staticFieldName, ACC_STATIC + ACC_SYNTHETIC, ClassHelper.CLASS_Type.getPlainNodeReference(), new ClassExpression(referencedClasses.get(staticFieldName))); } }
innerClass = createClosureClass(expression); closureClassMap.put(expression,innerClass); addInnerClass(innerClass); innerClass.addInterface(ClassHelper.GENERATED_CLOSURE_Type);
innerClass = createClosureClass(expression); closureClassMap.put(expression,innerClass); addInnerClass(innerClass); innerClass.addInterface(ClassHelper.GENERATED_CLOSURE_Type);
innerClass = createClosureClass(expression); closureClassMap.put(expression,innerClass); addInnerClass(innerClass); innerClass.addInterface(ClassHelper.GENERATED_CLOSURE_Type);