private void setUpImports(String packagePath, List<LinkArgument> links, boolean isGroovy, String className) { importedClassesAndPackages.add(packagePath + "/*"); // everything in this package if (isGroovy) { for (String pkg : ResolveVisitor.DEFAULT_IMPORTS) { importedClassesAndPackages.add(pkg.replace('.', '/') + "*"); } } else { importedClassesAndPackages.add("java/lang/*"); } SimpleGroovyClassDoc currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setGroovy(isGroovy); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); }
@Override public void visitMethodDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT && !insideEnum && !insideAnonymousInnerClass()) { SimpleGroovyClassDoc currentClassDoc = getCurrentClassDoc(); if (currentClassDoc == null) { // assume we have a script if ("true".equals(properties.getProperty("processScripts", "true"))) { currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setPublic(true); currentClassDoc.setScript(true); currentClassDoc.setGroovy(isGroovy); currentClassDoc.setSuperClassName("groovy/lang/Script"); if ("true".equals(properties.getProperty("includeMainForScripts", "true"))) { currentClassDoc.add(createMainMethod(currentClassDoc)); } classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); if (foundClasses == null) { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } foundClasses.put(className, currentClassDoc); } else { return; } } SimpleGroovyMethodDoc currentMethodDoc = createMethod(t, currentClassDoc); currentClassDoc.add(currentMethodDoc); } }
SimpleGroovyClassDoc innerClass = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, innerClassName); innerClass.setFullPathName(gcd.getFullPathName() + "." + innerClassName); return innerClass; SimpleGroovyClassDoc placeholder = new SimpleGroovyClassDoc(null, shortname); placeholder.setFullPathName(name); return placeholder;
@Override public void visitClassDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT) { SimpleGroovyClassDoc parent = getCurrentClassDoc(); String shortName = getIdentFor(t); String className = shortName; if (parent != null && isNested() && !insideAnonymousInnerClass()) { className = parent.name() + "." + className; } else { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } SimpleGroovyClassDoc current = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (current == null) { current = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); current.setGroovy(isGroovy); } current.setRawCommentText(getJavaDocCommentsBeforeNode(t)); current.setFullPathName(packagePath + FS + current.name()); current.setTokenType(t.getType()); current.setNameWithTypeArgs(getIdentPlusTypeArgsFor(t)); processAnnotations(t, current); processModifiers(t, current); classDocs.put(current.getFullPathName(), current); foundClasses.put(shortName, current); if (parent != null) { parent.addNested(current); current.setOuter(parent); } } }
public SimpleGroovyClassDocAssembler(String packagePath, String file, SourceBuffer sourceBuffer, List links) { this.sourceBuffer = sourceBuffer; this.packagePath = packagePath; this.links = links; stack = new Stack(); classDocs = new HashMap(); String className = file; if (file != null) { // todo: replace this simple idea of default class name int idx = file.lastIndexOf("."); className = file.substring(0,idx); } importedClassesAndPackages = new ArrayList(); importedClassesAndPackages.add(packagePath + "/*"); // everything in this package is automatically imported importedClassesAndPackages.add("groovy/lang/*"); // default imports in Groovy, from org.codehaus.groovy.control.ResolveVisitor.DEFAULT_IMPORTS importedClassesAndPackages.add("groovy/util/*"); // todo - non Groovy source files shouldn't import these, but let us import them for now, it won't hurt... currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); classDocs.put(currentClassDoc.getFullPathName(),currentClassDoc); previousJavaDocCommentPattern = Pattern.compile("(?s)/\\*\\*(.*?)\\*/"); }
private void setUpImports(String packagePath, List<LinkArgument> links, boolean isGroovy, String className) { importedClassesAndPackages.add(packagePath + "/*"); // everything in this package if (isGroovy) { for (String pkg : ResolveVisitor.DEFAULT_IMPORTS) { importedClassesAndPackages.add(pkg.replace('.', '/') + "*"); } } else { importedClassesAndPackages.add("java/lang/*"); } SimpleGroovyClassDoc currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setGroovy(isGroovy); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); }
private void setUpImports(String packagePath, List<LinkArgument> links, boolean isGroovy, String className) { importedClassesAndPackages.add(packagePath + "/*"); // everything in this package if (isGroovy) { for (String pkg : ResolveVisitor.DEFAULT_IMPORTS) { importedClassesAndPackages.add(pkg.replace('.', '/') + "*"); } } else { importedClassesAndPackages.add("java/lang/*"); } SimpleGroovyClassDoc currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setGroovy(isGroovy); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); }
public SimpleGroovyClassDocAssembler(String packagePath, String file, SourceBuffer sourceBuffer, List<LinkArgument> links, Properties properties, boolean isGroovy) { this.sourceBuffer = sourceBuffer; this.packagePath = packagePath; this.links = links; this.properties = properties; this.isGroovy = isGroovy; stack = new Stack<GroovySourceAST>(); classDocs = new HashMap<String, GroovyClassDoc>(); String className = file; if (file != null) { // todo: replace this simple idea of default class name int idx = file.lastIndexOf("."); className = file.substring(0, idx); } importedClassesAndPackages = new ArrayList<String>(); importedClassesAndPackages.add(packagePath + "/*"); // everything in this package if (isGroovy) { for (String pkg : ResolveVisitor.DEFAULT_IMPORTS) { importedClassesAndPackages.add(pkg.replace('.', '/') + "*"); } } else { importedClassesAndPackages.add("java/lang/*"); } SimpleGroovyClassDoc currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); lastLineCol = new LineColumn(1, 1); }
public SimpleGroovyClassDocAssembler(String packagePath, String file, SourceBuffer sourceBuffer, List<LinkArgument> links, Properties properties, boolean isGroovy) { this.sourceBuffer = sourceBuffer; this.packagePath = packagePath; this.links = links; this.properties = properties; this.isGroovy = isGroovy; stack = new Stack<GroovySourceAST>(); classDocs = new HashMap<String, GroovyClassDoc>(); String className = file; if (file != null) { // todo: replace this simple idea of default class name int idx = file.lastIndexOf("."); className = file.substring(0, idx); } importedClassesAndPackages = new ArrayList<String>(); importedClassesAndPackages.add(packagePath + "/*"); // everything in this package if (isGroovy) { for (String pkg : ResolveVisitor.DEFAULT_IMPORTS) { importedClassesAndPackages.add(pkg.replace('.', '/') + "*"); } } else { importedClassesAndPackages.add("java/lang/*"); } SimpleGroovyClassDoc currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); lastLineCol = new LineColumn(1, 1); }
private SimpleGroovyClassDoc getOrMakeScriptClassDoc() { SimpleGroovyClassDoc currentClassDoc; if (foundClasses != null && foundClasses.containsKey(className)) { currentClassDoc = foundClasses.get(className); } else { currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setPublic(true); currentClassDoc.setScript(true); currentClassDoc.setGroovy(isGroovy); currentClassDoc.setSuperClassName("groovy/lang/Script"); if ("true".equals(properties.getProperty("includeMainForScripts", "true"))) { currentClassDoc.add(createMainMethod(currentClassDoc)); } classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); if (foundClasses == null) { foundClasses = new LinkedHashMap<String, SimpleGroovyClassDoc>(); } foundClasses.put(className, currentClassDoc); } return currentClassDoc; }
superClass = new SimpleGroovyClassDoc(null, superClassName); // dummy class with name, not to be put into main tree superClass = new SimpleGroovyClassDoc(null, "Object"); // dummy class representing java.lang.Object, not to be put into main tree
private GroovyClassDoc resolveClass(GroovyRootDoc rootDoc, String name) { GroovyClassDoc doc = rootDoc.classNamed(name); if (doc != null) return doc; // The class is not in the tree being documented String shortname = name; int slashIndex = name.lastIndexOf("/"); Class c = null; if (slashIndex > 0) { shortname = name.substring(slashIndex + 1); c = resolveExternalClass(name); } else { c = resolveExternalClassFromImport(name); } if (c != null) { return new ExternalGroovyClassDoc(c); } // and we can't find it SimpleGroovyClassDoc placeholder = new SimpleGroovyClassDoc(null, shortname); placeholder.setFullPathName(name); return placeholder; }
public void visitClassDef(GroovySourceAST t,int visit) { if (visit == OPENING_VISIT) { // todo is this correct for java + groovy src? String className = t.childOfType(GroovyTokenTypes.IDENT).getText(); currentClassDoc = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (currentClassDoc == null) { currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, className, importedClassesAndPackages); } // comments String commentText = getJavaDocCommentsBeforeNode(t); currentClassDoc.setRawCommentText(commentText); currentClassDoc.setFullPathName(packagePath + FS + currentClassDoc.name()); classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); } }
@Override public void visitMethodDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT && !insideEnum && !insideAnonymousInnerClass()) { SimpleGroovyClassDoc currentClassDoc = getCurrentClassDoc(); if (currentClassDoc == null) { // assume we have a script if ("true".equals(properties.getProperty("processScripts", "true"))) { currentClassDoc = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); currentClassDoc.setFullPathName(packagePath + FS + className); currentClassDoc.setPublic(true); currentClassDoc.setScript(true); currentClassDoc.setGroovy(isGroovy); currentClassDoc.setSuperClassName("groovy/lang/Script"); if ("true".equals(properties.getProperty("includeMainForScripts", "true"))) { currentClassDoc.add(createMainMethod(currentClassDoc)); } classDocs.put(currentClassDoc.getFullPathName(), currentClassDoc); if (foundClasses == null) { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } foundClasses.put(className, currentClassDoc); } else { return; } } SimpleGroovyMethodDoc currentMethodDoc = createMethod(t, currentClassDoc); currentClassDoc.add(currentMethodDoc); } }
SimpleGroovyClassDoc innerClass = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, innerClassName); innerClass.setFullPathName(gcd.getFullPathName() + "." + innerClassName); return innerClass; SimpleGroovyClassDoc placeholder = new SimpleGroovyClassDoc(null, shortname); placeholder.setFullPathName(name); return placeholder;
SimpleGroovyClassDoc placeholder = new SimpleGroovyClassDoc(null, shortname); placeholder.setFullPathName(name); return placeholder;
@Override public void visitClassDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT) { SimpleGroovyClassDoc parent = getCurrentClassDoc(); String shortName = getIdentFor(t); String className = shortName; if (parent != null && isNested() && !insideAnonymousInnerClass()) { className = parent.name() + "." + className; } else { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } SimpleGroovyClassDoc current = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (current == null) { current = new SimpleGroovyClassDoc(importedClassesAndPackages, className, links); } current.setRawCommentText(getJavaDocCommentsBeforeNode(t)); current.setFullPathName(packagePath + FS + current.name()); current.setTokenType(t.getType()); processAnnotations(t, current); classDocs.put(current.getFullPathName(), current); foundClasses.put(shortName, current); if (parent != null) { parent.addNested(current); current.setOuter(parent); } } }
@Override public void visitClassDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT) { SimpleGroovyClassDoc parent = getCurrentClassDoc(); String shortName = getIdentFor(t); String className = shortName; if (parent != null && isNested() && !insideAnonymousInnerClass()) { className = parent.name() + "." + className; } else { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } SimpleGroovyClassDoc current = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (current == null) { current = new SimpleGroovyClassDoc(importedClassesAndPackages, className, links); } current.setRawCommentText(getJavaDocCommentsBeforeNode(t)); current.setFullPathName(packagePath + FS + current.name()); current.setTokenType(t.getType()); processAnnotations(t, current); classDocs.put(current.getFullPathName(), current); foundClasses.put(shortName, current); if (parent != null) { parent.addNested(current); current.setOuter(parent); } } }
@Override public void visitClassDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT) { SimpleGroovyClassDoc parent = getCurrentClassDoc(); String shortName = getIdentFor(t); String className = shortName; if (parent != null && isNested() && !insideAnonymousInnerClass()) { className = parent.name() + "." + className; } else { foundClasses = new HashMap<String, SimpleGroovyClassDoc>(); } SimpleGroovyClassDoc current = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (current == null) { current = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); current.setGroovy(isGroovy); } current.setRawCommentText(getJavaDocCommentsBeforeNode(t)); current.setFullPathName(packagePath + FS + current.name()); current.setTokenType(t.getType()); processAnnotations(t, current); processModifiers(t, current); classDocs.put(current.getFullPathName(), current); foundClasses.put(shortName, current); if (parent != null) { parent.addNested(current); current.setOuter(parent); } } }
@Override public void visitClassDef(GroovySourceAST t, int visit) { if (visit == OPENING_VISIT) { SimpleGroovyClassDoc parent = getCurrentClassDoc(); String shortName = getIdentFor(t); String className = shortName; if (parent != null && isNested() && !insideAnonymousInnerClass()) { className = parent.name() + "." + className; } else { foundClasses = new LinkedHashMap<String, SimpleGroovyClassDoc>(); } SimpleGroovyClassDoc current = (SimpleGroovyClassDoc) classDocs.get(packagePath + FS + className); if (current == null) { current = new SimpleGroovyClassDoc(importedClassesAndPackages, aliases, className, links); current.setGroovy(isGroovy); } current.setRawCommentText(getJavaDocCommentsBeforeNode(t)); current.setFullPathName(packagePath + FS + current.name()); current.setTokenType(t.getType()); current.setNameWithTypeArgs(getIdentPlusTypeArgsFor(t)); processAnnotations(t, current); processModifiers(t, current); classDocs.put(current.getFullPathName(), current); foundClasses.put(shortName, current); if (parent != null) { parent.addNested(current); current.setOuter(parent); } } }