You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

Access.java 8.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. /* -*- Mode: JDE; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
  2. *
  3. * This file is part of the debugger and core tools for the AspectJ(tm)
  4. * programming language; see http://aspectj.org
  5. *
  6. * The contents of this file are subject to the Mozilla Public License
  7. * Version 1.1 (the "License"); you may not use this file except in
  8. * compliance with the License. You may obtain a copy of the License at
  9. * either http://www.mozilla.org/MPL/ or http://aspectj.org/MPL/.
  10. *
  11. * Software distributed under the License is distributed on an "AS IS" basis,
  12. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  13. * for the specific language governing rights and limitations under the
  14. * License.
  15. *
  16. * The Original Code is AspectJ.
  17. *
  18. * The Initial Developer of the Original Code is Xerox Corporation. Portions
  19. * created by Xerox Corporation are Copyright (C) 1999-2002 Xerox Corporation.
  20. * All Rights Reserved.
  21. */
  22. //package com.sun.tools.doclets.standard;
  23. package org.aspectj.tools.ajdoc;
  24. import org.aspectj.tools.doclets.standard.AbstractSubWriter;
  25. import com.sun.javadoc.ClassDoc;
  26. import com.sun.javadoc.Doc;
  27. import com.sun.javadoc.ExecutableMemberDoc;
  28. import com.sun.javadoc.ProgramElementDoc;
  29. import com.sun.tools.doclets.standard.ClassUseWriter;
  30. import com.sun.tools.doclets.standard.ExecutableMemberSubWriter;
  31. import com.sun.tools.doclets.standard.SubWriterHolderWriter;
  32. import java.util.List;
  33. import java.util.SortedSet;
  34. /**
  35. * Allows for access to protected and package-protected (OK
  36. * sometimes private) members in classes in the package
  37. * com.sun.tools.doclets...
  38. *
  39. * @author Jeff Palm
  40. */
  41. public class Access {
  42. public static void printSummaryType(AbstractSubWriter mw,
  43. ProgramElementDoc member) {
  44. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  45. mw.del(),
  46. "printSummaryType",
  47. new Class[]{ProgramElementDoc.class},
  48. new Object[]{member});
  49. }
  50. public static void printSummaryLink(AbstractSubWriter mw,
  51. ClassDoc cd,
  52. ProgramElementDoc member) {
  53. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  54. mw.del(),
  55. "printSummaryLink",
  56. new Class[]{ClassDoc.class,
  57. ProgramElementDoc.class},
  58. new Object[]{cd, member});
  59. }
  60. public static void printInheritedSummaryLink(AbstractSubWriter mw,
  61. ClassDoc cd,
  62. ProgramElementDoc member) {
  63. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  64. mw.del(),
  65. "printInheritedSummaryLink",
  66. new Class[]{ClassDoc.class,
  67. ProgramElementDoc.class},
  68. new Object[]{cd, member});
  69. }
  70. public static void printHeader(AbstractSubWriter mw,
  71. ClassDoc cd) {
  72. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  73. mw.del(),
  74. "printHeader",
  75. new Class[]{ClassDoc.class},
  76. new Object[]{cd});
  77. }
  78. public static void printBodyHtmlEnd(AbstractSubWriter mw,
  79. ClassDoc cd) {
  80. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  81. mw.del(),
  82. "printBodyHtmlEnd",
  83. new Class[]{ClassDoc.class},
  84. new Object[]{cd});
  85. }
  86. public static void printMember(AbstractSubWriter mw,
  87. ProgramElementDoc elem) {
  88. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  89. mw.del(),
  90. "printMember",
  91. new Class[]{ProgramElementDoc.class},
  92. new Object[]{elem});
  93. }
  94. public static void printDeprecatedLink(AbstractSubWriter mw,
  95. ProgramElementDoc member) {
  96. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  97. mw.del(),
  98. "printDeprecatedLink",
  99. new Class[]{ProgramElementDoc.class},
  100. new Object[]{member});
  101. }
  102. public static void printNavSummaryLink(AbstractSubWriter mw,
  103. ClassDoc cd,
  104. boolean link) {
  105. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  106. mw.del(),
  107. "printNavSummaryLink",
  108. new Class[]{ClassDoc.class,
  109. boolean.class},
  110. new Object[]{cd, new Boolean(link)});
  111. }
  112. public static void printNavDetailLink(AbstractSubWriter mw,
  113. boolean link) {
  114. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  115. mw.del(),
  116. "printNavDetailLink",
  117. new Class[]{boolean.class},
  118. new Object[]{new Boolean(link)});
  119. }
  120. public static void printTags(AbstractSubWriter mw,
  121. ProgramElementDoc member) {
  122. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  123. mw.del(),
  124. "printTags",
  125. new Class[]{ProgramElementDoc.class},
  126. new Object[]{member});
  127. }
  128. public static void printDeprecatedAPI(AbstractSubWriter mw,
  129. List deprmembers,
  130. String headingKey) {
  131. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  132. mw.del(),
  133. "printDeprecatedAPI",
  134. new Class[]{List.class, String.class},
  135. new Object[]{deprmembers, headingKey});
  136. }
  137. public static void printParameters(ExecutableMemberSubWriter mw,
  138. ExecutableMemberDoc member) {
  139. Util.invoke(com.sun.tools.doclets.standard.ExecutableMemberSubWriter.class,
  140. mw,
  141. "printParameters",
  142. new Class[]{ExecutableMemberDoc.class},
  143. new Object[]{member});
  144. }
  145. public static void printUseInfo(AbstractSubWriter mw,
  146. Object mems,
  147. String heading) {
  148. printUseInfo(mw.del(), mems, heading);
  149. }
  150. public static void printUseInfo
  151. (com.sun.tools.doclets.standard.AbstractSubWriter mw,
  152. Object mems,
  153. String heading) {
  154. if (mw != null) {
  155. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  156. mw,
  157. "printUseInfo",
  158. new Class[]{Object.class, String.class},
  159. new Object[]{mems, heading});
  160. }
  161. }
  162. public static void printCommentDef(AbstractSubWriter mw, Doc doc) {
  163. Util.invoke(SubWriterHolderWriter.class,
  164. writer(mw),
  165. "printCommentDef",
  166. new Class[]{Doc.class},
  167. new Object[]{doc});
  168. }
  169. public static SubWriterHolderWriter writer(AbstractSubWriter mw) {
  170. return (SubWriterHolderWriter)
  171. Util.access(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  172. mw, "writer");
  173. }
  174. public static SortedSet pkgSet(ClassUseWriter writer) {
  175. return (SortedSet)Util.access(ClassUseWriter.class,
  176. writer,
  177. "pkgSet");
  178. }
  179. public static ClassDoc classdoc(ClassUseWriter writer) {
  180. return (ClassDoc)Util.access(ClassUseWriter.class,
  181. writer,
  182. "classdoc");
  183. }
  184. public static void print(com.sun.tools.doclets.standard.AbstractSubWriter mw,
  185. String str) {
  186. Util.invoke(com.sun.tools.doclets.standard.AbstractSubWriter.class,
  187. mw,
  188. "print",
  189. new Class[]{String.class},
  190. new Object[]{str});
  191. }
  192. }