Top Fields Constructors Methods
org.codehaus.groovy.tools.javac

public Class JavaStubGenerator

extends Object
Class Inheritance
Imports
groovy.transform.PackageScope, .PackageScopeTarget, org.apache.groovy.ast.tools.ExpressionUtils, org.apache.groovy.io.StringBuilderWriter, org.codehaus.groovy.ast.AnnotatedNode, .AnnotationNode, .ClassHelper, .ClassNode, .CodeVisitorSupport, .ConstructorNode, .DynamicVariable, .FieldNode, .GenericsType, .ImportNode, .InnerClassNode, .MethodNode, .ModuleNode, .Parameter, .PropertyNode, .Variable, org.codehaus.groovy.ast.decompiled.DecompiledClassNode, org.codehaus.groovy.ast.expr.ArgumentListExpression, .ClassExpression, .ClosureExpression, .ConstantExpression, .ConstructorCallExpression, .Expression, .ListExpression, .MethodCallExpression, .PropertyExpression, .VariableExpression, org.codehaus.groovy.ast.stmt.BlockStatement, .ExpressionStatement, .Statement, org.codehaus.groovy.classgen.FinalVariableAnalyzer, .Verifier, .VerifierCodeVisitor, org.codehaus.groovy.control.ResolveVisitor, org.codehaus.groovy.runtime.InvokerHelper, org.codehaus.groovy.tools.Utilities, org.codehaus.groovy.transform.trait.Traits, org.objectweb.asm.Opcodes, javax.tools.FileObject, .JavaFileObject, java.io.File, .FileNotFoundException, .FileOutputStream, .OutputStreamWriter, .PrintWriter, .Writer, java.nio.charset.Charset, java.util.ArrayList, .Arrays, .Collections, .HashSet, .Iterator, .LinkedHashMap, .LinkedHashSet, .LinkedList, .List, .Map, .Set, java.util.function.Consumer, java.util.stream.Stream

Field Summary

Modifier and TypeField and Description
private final List<ConstructorNode>
private ModuleNode
private final String
private final boolean
private final Set<JavaFileObject>
private final File
private static final ClassNode
private final Map<String, MethodNode>
private final boolean

Constructor Summary

AccessConstructor and Description
public
JavaStubGenerator(final File outputPath, final boolean requireSuperResolved, final boolean java5, String encoding)

public
JavaStubGenerator(final File outputPath)

Method Summary

Modifier and TypeMethod and Description
public void
private File
private static String
private static Iterable<ClassNode>
public void
private void
private void
private String
private String
private static ClassNode
public Set<JavaFileObject>
private boolean
private static boolean
isAbstract(final MethodNode methodNode)

private boolean
isCandidateTraitMethod(final ClassNode trait, final MethodNode traitMethod)

private static boolean
isDefaultTraitImpl(final MethodNode methodNode)

private static boolean
private static void
mkdirs(File parent, String relativeFile)

private static boolean
private void
private void
private void
private void
private void
printConstructors(final PrintWriter out, final ClassNode classNode)

private void
printDefaultValue(final PrintWriter out, final ClassNode type)

private static void
printEnumFields(final PrintWriter out, final List<FieldNode> fields)

private void
private void
printField(final PrintWriter out, final FieldNode field, final boolean ifaceOrTrait)

private void
printFields(PrintWriter out, ClassNode classNode, boolean ifaceOrTrait)

private void
printGenericsBounds(PrintWriter out, ClassNode type, boolean skipName)

private static void
private static void
private void
printMethod(final PrintWriter out, final ClassNode classNode, final MethodNode methodNode)

private void
printMethods(PrintWriter out, ClassNode classNode, boolean isEnum)

private static void
printModifiers(PrintWriter out, int modifiers)

private void
private void
private void
private void
private void
printValue(final PrintWriter out, final ClassNode type, final Expression value)

private static boolean
sameParameterTypes(final MethodNode firstMethod, final MethodNode secondMethod)

private static boolean
sameParameterTypes(final Parameter[] firstParams, final Parameter[] secondParams)

private static Parameter[]
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

constructorsback to summary
private final List<ConstructorNode> constructors
currentModuleback to summary
private ModuleNode currentModule
encodingback to summary
private final String encoding
java5back to summary
private final boolean java5
javaStubCompilationUnitSetback to summary
private final Set<JavaFileObject> javaStubCompilationUnitSet
outputPathback to summary
private final File outputPath
PACKAGE_SCOPE_TYPEback to summary
private static final ClassNode PACKAGE_SCOPE_TYPE
propertyMethodsback to summary
private final Map<String, MethodNode> propertyMethods
requireSuperResolvedback to summary
private final boolean requireSuperResolved

Constructor Detail

JavaStubGeneratorback to summary
public JavaStubGenerator(final File outputPath, final boolean requireSuperResolved, final boolean java5, String encoding)
JavaStubGeneratorback to summary
public JavaStubGenerator(final File outputPath)

Method Detail

cleanback to summary
public void clean()
createJavaStubFileback to summary
private File createJavaStubFile(String path)
escapeSpecialCharsback to summary
private static String escapeSpecialChars(String value)
findTraitsback to summary
private static Iterable<ClassNode> findTraits(ClassNode node)
generateClassback to summary
public void generateClass(ClassNode classNode) throws FileNotFoundException
generateFileStubback to summary
private void generateFileStub(ClassNode classNode) throws FileNotFoundException
generateMemStubback to summary
private void generateMemStub(ClassNode classNode)
generateStubContentback to summary
private String generateStubContent(ClassNode classNode)
getAnnotationValueback to summary
private String getAnnotationValue(Object memberValue)
getConstructorArgumentTypeback to summary
private static ClassNode getConstructorArgumentType(final Expression arg, final ConstructorNode ctor)
getJavaStubCompilationUnitSetback to summary
public Set<JavaFileObject> getJavaStubCompilationUnitSet()
hasPackageScopeXformback to summary
private boolean hasPackageScopeXform(final AnnotatedNode node, final PackageScopeTarget type)
isAbstractback to summary
private static boolean isAbstract(final MethodNode methodNode)
isCandidateTraitMethodback to summary
private boolean isCandidateTraitMethod(final ClassNode trait, final MethodNode traitMethod)
isDefaultTraitImplback to summary
private static boolean isDefaultTraitImpl(final MethodNode methodNode)
isInterfaceOrTraitback to summary
private static boolean isInterfaceOrTrait(final ClassNode cn)
mkdirsback to summary
private static void mkdirs(File parent, String relativeFile)
noExceptionToAvoidback to summary
private static boolean noExceptionToAvoid(ConstructorNode fromStub, ConstructorNode fromSuper)
printAnnotationback to summary
private void printAnnotation(PrintWriter out, AnnotationNode annotation)
printAnnotationsback to summary
private void printAnnotations(PrintWriter out, AnnotatedNode annotated)
printClassContentsback to summary
private void printClassContents(PrintWriter out, ClassNode classNode)
printConstructorback to summary
private void printConstructor(PrintWriter out, ClassNode clazz, ConstructorNode constructorNode)
printConstructorsback to summary
private void printConstructors(final PrintWriter out, final ClassNode classNode)
printDefaultValueback to summary
private void printDefaultValue(final PrintWriter out, final ClassNode type)
printEnumFieldsback to summary
private static void printEnumFields(final PrintWriter out, final List<FieldNode> fields)
printExceptionsback to summary
private void printExceptions(PrintWriter out, ClassNode[] exceptions)
printFieldback to summary
private void printField(final PrintWriter out, final FieldNode field, final boolean ifaceOrTrait)
printFieldsback to summary
private void printFields(PrintWriter out, ClassNode classNode, boolean ifaceOrTrait)
printGenericsBoundsback to summary
private void printGenericsBounds(PrintWriter out, ClassNode type, boolean skipName)
printGenericsBoundsback to summary
private static void printGenericsBounds(PrintWriter out, GenericsType[] genericsTypes)
printImportsback to summary
private static void printImports(PrintWriter out, ClassNode classNode)
printMethodback to summary
private void printMethod(final PrintWriter out, final ClassNode classNode, final MethodNode methodNode)
printMethodsback to summary
private void printMethods(PrintWriter out, ClassNode classNode, boolean isEnum)
printModifiersback to summary
private static void printModifiers(PrintWriter out, int modifiers)
printParamsback to summary
private void printParams(PrintWriter out, MethodNode methodNode)
printSpecialConstructorArgsback to summary
private void printSpecialConstructorArgs(final PrintWriter out, final ConstructorNode ctor, final ConstructorCallExpression ctorCall)
printTypeback to summary
private void printType(PrintWriter out, ClassNode type)
printTypeNameback to summary
private void printTypeName(PrintWriter out, ClassNode type)
printValueback to summary
private void printValue(final PrintWriter out, final ClassNode type, final Expression value)
sameParameterTypesback to summary
private static boolean sameParameterTypes(final MethodNode firstMethod, final MethodNode secondMethod)
sameParameterTypesback to summary
private static boolean sameParameterTypes(final Parameter[] firstParams, final Parameter[] secondParams)
selectAccessibleConstructorFromSuperback to summary
private static Parameter[] selectAccessibleConstructorFromSuper(final ConstructorNode source)