# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# IMPORTS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
importFrom("R.methodsS3", "setMethodS3")
importFrom("R.methodsS3", "setGenericS3")
importFrom("R.methodsS3", "throw")
importFrom("R.methodsS3", "pkgStartupMessage")

importFrom("utils", "install.packages")
importFrom("utils", "object.size")
importFrom("utils", "packageDescription")
importFrom("utils", "update.packages")
#importFrom("stats", "getCall") # Only in R (>= 2.14.0)

importFrom("methods", "isClass")


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# EXPORTS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Object that must exported explicitly
export(.conflicts.OK)

# Export all public methods, that is, those without a preceeding dot
# in their names.
exportPattern("^[^\\.]")


# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# DECLARATIONS
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
S3method("callSuperMethodS3", "default")
S3method("getConstructorS3", "default")
S3method("setConstructorS3", "default")
S3method("abort", "condition")
S3method("abort", "default")
S3method("charToInt", "default")
S3method("intToChar", "default")
S3method("dimension", "default")
S3method("equals", "default")
S3method("throw", "error")
S3method("extend", "default")
S3method("getName", "environment")
S3method("hashCode", "default")
S3method("ll", "default")
S3method("objectSize", "default")
S3method("objectSize", "environment")
S3method("throw", "default")
S3method("trim", "default")
S3method("typeOfClass", "default")

# BasicObject
S3method("isReferable", "BasicObject")
S3method("as.character", "BasicObject")
S3method("getInstantiationTime", "BasicObject")
S3method("hashCode", "BasicObject")
S3method("equals", "BasicObject")
S3method("print", "BasicObject")
S3method("objectSize", "BasicObject")
S3method("getFields", "BasicObject")
S3method("hasField", "BasicObject")
S3method("attach", "BasicObject")
S3method("detach", "BasicObject")
S3method("extend", "BasicObject")
S3method("newInstance", "BasicObject")
S3method("$", "BasicObject")
S3method("[[", "BasicObject")
S3method("$<-", "BasicObject")
S3method("[[<-", "BasicObject")

# Object
S3method("as.character", "Object")
S3method("getInstantiationTime", "Object")
S3method("clone", "Object")
S3method("equals", "Object")
#S3method("finalize", "Object")
S3method("hashCode", "Object")
S3method("getInternalAddress", "Object")
S3method("print", "Object")
S3method("attachLocally", "Object")
S3method("attach", "Object")
S3method("detach", "Object")
S3method("save", "Object")
S3method("load", "Object")
S3method("objectSize", "Object")
S3method("getStaticInstance", "Object")
S3method("getFields", "Object")
S3method("names", "Object")
S3method("hasField", "Object")
S3method("ll", "Object")
S3method("staticCode", "Object")
S3method("extend", "Object")
S3method("$", "Object")
S3method("[[", "Object")
S3method("$<-", "Object")
S3method("[[<-", "Object")
S3method("isReferable", "Object")
S3method("novirtual", "Object")
S3method("newInstance", "Object")
S3method("getEnvironment", "Object")
S3method("clearLookupCache", "Object")
S3method("clearCache", "Object")
S3method("getFieldModifiers", "Object")
S3method("getFieldModifier", "Object")
S3method("gc", "Object")
S3method("registerFinalizer", "Object")

# Class
S3method("as.character", "Class")
S3method("print", "Class")
S3method("getName", "Class")
S3method("getSuperclasses", "Class")
S3method("getKnownSubclasses", "Class")
S3method("newInstance", "Class")
S3method("isAbstract", "Class")
S3method("isStatic", "Class")
S3method("isPrivate", "Class")
S3method("isProtected", "Class")
S3method("isPublic", "Class")
S3method("isDeprecated", "Class")
S3method("forName", "Class")
S3method("getPackage", "Class")
S3method("getStaticInstance", "Class")
S3method("isBeingCreated", "Class")
S3method("getFields", "Class")
S3method("getMethods", "Class")
S3method("argsToString", "Class")
S3method("getDetails", "Class")
S3method("$", "Class")
S3method("$<-", "Class")
S3method("[[", "Class")
S3method("[[<-", "Class")

S3method("getRdDeclaration", "Class")
S3method("getRdMethods", "Class")
S3method("getRdHierarchy", "Class")

# Exception
S3method("as.character", "Exception")
S3method("print", "Exception")
S3method("getWhen", "Exception")
S3method("getMessage", "Exception")
S3method("throw", "Exception")
S3method("getLastException", "Exception")
S3method("getStackTrace", "Exception")
S3method("getCalls", "Exception")
## S3method("getCall", "Exception") # Only in R (>= 2.14.0)
S3method("getStackTraceString", "Exception")
S3method("printStackTrace", "Exception")

# InternalErrorException
S3method("getPackage", "InternalErrorException")
S3method("getMessage", "InternalErrorException")

# RdocException
S3method("getSource", "RdocException")

# RccViolationException
S3method("as.character", "RccViolationException")
S3method("getRccUrl", "RccViolationException")

# Package
S3method("as.character", "Package")
S3method("getName", "Package")
S3method("getContents", "Package")
S3method("showContents", "Package")
S3method("getDescriptionFile", "Package")
S3method("showDescriptionFile", "Package")
S3method("getPath", "Package")
S3method("getVersion", "Package")
S3method("isOlderThan", "Package")
S3method("getDataPath", "Package")
S3method("getDocPath", "Package")
S3method("getExamplePath", "Package")
S3method("getDate", "Package")
S3method("getDescription", "Package")
S3method("getPosition", "Package")
S3method("getEnvironment", "Package")
S3method("isLoaded", "Package")
S3method("load", "Package")
S3method("unload", "Package")
S3method("ll", "Package")
S3method("getClasses", "Package")
S3method("getUrl", "Package")
S3method("getContribUrl", "Package")
S3method("getDevelUrl", "Package")
S3method("getMaintainer", "Package")
S3method("getAuthor", "Package")
S3method("getTitle", "Package")
S3method("getLicense", "Package")
S3method("getBundle", "Package")
S3method("getBundlePackages", "Package")
S3method("getChangeLog", "Package")
S3method("getNews", "Package")
S3method("getHistory", "Package")
S3method("showChangeLog", "Package")
S3method("showNews", "Package")
S3method("showHistory", "Package")
S3method("getHowToCite", "Package")
S3method("showHowToCite", "Package")
S3method("startupMessage", "Package")
S3method("update", "Package")

# Rdoc
S3method("getNameFormat", "Rdoc")
S3method("setNameFormat", "Rdoc")
S3method("getKeywords", "Rdoc")
S3method("isKeyword", "Rdoc")
S3method("getManPath", "Rdoc")
S3method("setManPath", "Rdoc")
S3method("createManPath", "Rdoc")
S3method("createName", "Rdoc")
S3method("escapeRdFilename", "Rdoc")
S3method("compile", "Rdoc")
S3method("hierarchy", "Rdoc")
S3method("declaration", "Rdoc")
S3method("methodsInheritedFrom", "Rdoc")
S3method("getObject", "Rdoc")
S3method("getUsage", "Rdoc")
S3method("getClassS4Usage", "Rdoc")
S3method("argsToString", "Rdoc")
S3method("getRdTitle", "Rdoc")
S3method("getPackageNameOf", "Rdoc")
S3method("check", "Rdoc")
S3method("isVisible", "Rdoc")
