private void adjustForAutomaticEnumMethods(SimpleGroovyClassDoc currentClassDoc) { SimpleGroovyMethodDoc valueOf = new SimpleGroovyMethodDoc("valueOf", currentClassDoc); valueOf.setRawCommentText("Returns the enum constant of this type with the specified name."); SimpleGroovyParameter parameter = new SimpleGroovyParameter("name"); parameter.setTypeName("String"); valueOf.add(parameter); valueOf.setReturnType(new SimpleGroovyType(currentClassDoc.name())); currentClassDoc.add(valueOf); SimpleGroovyMethodDoc values = new SimpleGroovyMethodDoc("values", currentClassDoc); values.setRawCommentText("Returns an array containing the constants of this enum type, in the order they are declared."); values.setReturnType(new SimpleGroovyType(currentClassDoc.name() + "[]")); currentClassDoc.add(values); }
private GroovyMethodDoc createMainMethod(SimpleGroovyClassDoc currentClassDoc) { SimpleGroovyMethodDoc mainMethod = new SimpleGroovyMethodDoc("main", currentClassDoc); mainMethod.setPublic(true); mainMethod.setStatic(true); mainMethod.setCommentText("Implicit main method for Groovy Scripts"); mainMethod.setFirstSentenceCommentText(mainMethod.commentText()); SimpleGroovyParameter args = new SimpleGroovyParameter("args"); GroovyType argsType = new SimpleGroovyType("java.lang.String[]"); args.setType(argsType); mainMethod.add(args); GroovyType returnType = new SimpleGroovyType("void"); mainMethod.setReturnType(returnType); return mainMethod; }
String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); processAnnotationRefs(rootDoc, param.annotations()); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); processAnnotationRefs(rootDoc, param.annotations());
private void addParametersTo(GroovySourceAST t, SimpleGroovyExecutableMemberDoc executableMemberDoc) { // parameters GroovySourceAST parametersNode = t.childOfType(PARAMETERS); if (parametersNode != null && parametersNode.getNumberOfChildren() > 0) { GroovySourceAST currentNode = (GroovySourceAST) parametersNode.getFirstChild(); while (currentNode != null) { String parameterTypeName = getTypeOrDefault(currentNode); String parameterName = getText(currentNode.childOfType(IDENT)); SimpleGroovyParameter parameter = new SimpleGroovyParameter(parameterName); parameter.setVararg(currentNode.getType() == VARIABLE_PARAMETER_DEF); parameter.setTypeName(parameterTypeName); GroovySourceAST modifiers = currentNode.childOfType(MODIFIERS); if (modifiers != null) { List<GroovySourceAST> annotations = modifiers.childrenOfType(ANNOTATION); for (GroovySourceAST a : annotations) { addAnnotationRef(parameter, a); } } executableMemberDoc.add(parameter); if (currentNode.getNumberOfChildren() == 4) { handleDefaultValue(currentNode, parameter); } currentNode = (GroovySourceAST) currentNode.getNextSibling(); } } }
while (paramItr.hasNext()) { SimpleGroovyParameter param = (SimpleGroovyParameter) paramItr.next(); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); while (paramItr.hasNext()) { SimpleGroovyParameter param = (SimpleGroovyParameter) paramItr.next(); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName));
private void addAnnotationRef(SimpleGroovyParameter node, GroovySourceAST t) { GroovySourceAST classNode = t.childOfType(IDENT); if (classNode != null) { node.addAnnotationRef(new SimpleGroovyAnnotationRef(extractName(classNode), getChildTextFromSource(t).trim())); } }
private void handleDefaultValue(GroovySourceAST currentNode, SimpleGroovyParameter parameter) { GroovySourceAST paramPart = (GroovySourceAST) currentNode.getFirstChild(); for (int i = 1; i < currentNode.getNumberOfChildren(); i++) { paramPart = (GroovySourceAST) paramPart.getNextSibling(); } GroovySourceAST nodeToProcess = paramPart; if (paramPart.getNumberOfChildren() > 0) { nodeToProcess = (GroovySourceAST) paramPart.getFirstChild(); } // hack warning! // TODO handle , and ) when they occur within Strings parameter.setDefaultValue(getChildTextFromSource(nodeToProcess, ",)")); }
private void addParametersTo(GroovySourceAST t, SimpleGroovyExecutableMemberDoc executableMemberDoc) { // parameters GroovySourceAST parametersNode = t.childOfType(PARAMETERS); if (parametersNode != null && parametersNode.getNumberOfChildren() > 0) { GroovySourceAST currentNode = (GroovySourceAST) parametersNode.getFirstChild(); while (currentNode != null) { String parameterTypeName = getTypeOrDefault(currentNode); String parameterName = getText(currentNode.childOfType(IDENT)); SimpleGroovyParameter parameter = new SimpleGroovyParameter(parameterName); parameter.setVararg(currentNode.getType() == VARIABLE_PARAMETER_DEF); parameter.setTypeName(parameterTypeName); GroovySourceAST modifiers = currentNode.childOfType(MODIFIERS); if (modifiers != null) { List<GroovySourceAST> annotations = modifiers.childrenOfType(ANNOTATION); for (GroovySourceAST a : annotations) { addAnnotationRef(parameter, a); } } executableMemberDoc.add(parameter); if (currentNode.getNumberOfChildren() == 4) { handleDefaultValue(currentNode, parameter); } currentNode = (GroovySourceAST) currentNode.getNextSibling(); } } }
String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName));
private void addAnnotationRef(SimpleGroovyParameter node, GroovySourceAST t) { GroovySourceAST classNode = t.childOfType(IDENT); if (classNode != null) { node.addAnnotationRef(new SimpleGroovyAnnotationRef(extractName(classNode), getChildTextFromSource(t).trim())); } }
private void handleDefaultValue(GroovySourceAST currentNode, SimpleGroovyParameter parameter) { GroovySourceAST paramPart = (GroovySourceAST) currentNode.getFirstChild(); for (int i = 1; i < currentNode.getNumberOfChildren(); i++) { paramPart = (GroovySourceAST) paramPart.getNextSibling(); } GroovySourceAST nodeToProcess = paramPart; if (paramPart.getNumberOfChildren() > 0) { nodeToProcess = (GroovySourceAST) paramPart.getFirstChild(); } // hack warning! // TODO handle , and ) when they occur within Strings parameter.setDefaultValue(getChildTextFromSource(nodeToProcess, ",)")); }
private void addParametersTo(SimpleGroovyExecutableMemberDoc executableMemberDoc, GroovySourceAST t,int visit) { // parameters GroovySourceAST parametersNode = t.childOfType(GroovyTokenTypes.PARAMETERS); if (parametersNode != null && parametersNode.getNumberOfChildren() > 0) { GroovySourceAST currentNode = (GroovySourceAST) parametersNode.getFirstChild(); while (currentNode != null) { String parameterTypeName = getTypeNodeAsText(currentNode.childOfType(GroovyTokenTypes.TYPE),"def"); String parameterName = getText(currentNode.childOfType(GroovyTokenTypes.IDENT)); SimpleGroovyParameter parameter = new SimpleGroovyParameter(parameterName); parameter.setTypeName(parameterTypeName); executableMemberDoc.add(parameter); currentNode = (GroovySourceAST)currentNode.getNextSibling(); } } }
private void addParametersTo(GroovySourceAST t, SimpleGroovyExecutableMemberDoc executableMemberDoc) { // parameters GroovySourceAST parametersNode = t.childOfType(PARAMETERS); if (parametersNode != null && parametersNode.getNumberOfChildren() > 0) { GroovySourceAST currentNode = (GroovySourceAST) parametersNode.getFirstChild(); while (currentNode != null) { String parameterTypeName = getTypeOrDefault(currentNode); String parameterName = getText(currentNode.childOfType(IDENT)); SimpleGroovyParameter parameter = new SimpleGroovyParameter(parameterName); parameter.setVararg(currentNode.getType() == VARIABLE_PARAMETER_DEF); parameter.setTypeName(parameterTypeName); GroovySourceAST modifiers = currentNode.childOfType(MODIFIERS); if (modifiers != null) { List<GroovySourceAST> annotations = modifiers.childrenOfType(ANNOTATION); for (GroovySourceAST a : annotations) { addAnnotationRef(parameter, a); } } executableMemberDoc.add(parameter); if (currentNode.getNumberOfChildren() == 4) { handleDefaultValue(currentNode, parameter); } currentNode = (GroovySourceAST) currentNode.getNextSibling(); } } }
String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc);
private static GroovyMethodDoc createMainMethod(SimpleGroovyClassDoc currentClassDoc) { SimpleGroovyMethodDoc mainMethod = new SimpleGroovyMethodDoc("main", currentClassDoc); mainMethod.setPublic(true); mainMethod.setStatic(true); mainMethod.setCommentText("Implicit main method for Groovy Scripts"); mainMethod.setFirstSentenceCommentText(mainMethod.commentText()); SimpleGroovyParameter args = new SimpleGroovyParameter("args"); GroovyType argsType = new SimpleGroovyType("java.lang.String[]"); args.setType(argsType); mainMethod.add(args); GroovyType returnType = new SimpleGroovyType("void"); mainMethod.setReturnType(returnType); return mainMethod; }
String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); processAnnotationRefs(rootDoc, param.annotations()); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); processAnnotationRefs(rootDoc, param.annotations());
private void addAnnotationRef(SimpleGroovyParameter node, GroovySourceAST t) { GroovySourceAST classNode = t.childOfType(IDENT); if (classNode != null) { node.addAnnotationRef(new SimpleGroovyAnnotationRef(extractName(classNode), getChildTextFromSource(t).trim())); } }
private void handleDefaultValue(GroovySourceAST currentNode, SimpleGroovyParameter parameter) { GroovySourceAST paramPart = (GroovySourceAST) currentNode.getFirstChild(); for (int i = 1; i < currentNode.getNumberOfChildren(); i++) { paramPart = (GroovySourceAST) paramPart.getNextSibling(); } GroovySourceAST nodeToProcess = paramPart; if (paramPart.getNumberOfChildren() > 0) { nodeToProcess = (GroovySourceAST) paramPart.getFirstChild(); } // hack warning! // TODO handle , and ) when they occur within Strings parameter.setDefaultValue(getChildTextFromSource(nodeToProcess, ",)")); }
private void adjustForAutomaticEnumMethods(SimpleGroovyClassDoc currentClassDoc) { SimpleGroovyMethodDoc valueOf = new SimpleGroovyMethodDoc("valueOf", currentClassDoc); valueOf.setRawCommentText("Returns the enum constant of this type with the specified name."); SimpleGroovyParameter parameter = new SimpleGroovyParameter("name"); parameter.setTypeName("String"); valueOf.add(parameter); valueOf.setReturnType(new SimpleGroovyType(currentClassDoc.name())); currentClassDoc.add(valueOf); SimpleGroovyMethodDoc values = new SimpleGroovyMethodDoc("values", currentClassDoc); values.setRawCommentText("Returns an array containing the constants of this enum type, in the order they are declared."); values.setReturnType(new SimpleGroovyType(currentClassDoc.name() + "[]")); currentClassDoc.add(values); }
String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc); String paramTypeName = param.typeName(); if (visibleClasses.containsKey(paramTypeName)) { param.setType((GroovyType) visibleClasses.get(paramTypeName)); } else { GroovyClassDoc doc = resolveClass(rootDoc, paramTypeName); if (doc != null) param.setType(doc);