{ "type": "class",
  "qname": "org.apache.royale.reflection.MethodDefinition",
  "baseClassname": "org.apache.royale.reflection.MemberDefinitionBase"
  ,
    "description": "The description of a method inside a class or interface",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.reflection.MethodDefinition",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "return": "",
          "params": [{ "name": "name", "type": "String"},
        { "name": "isStatic", "type": "Boolean"},
        { "name": "owner", "type": "org.apache.royale.reflection.TypeDefinition"},
        { "name": "rawData", "type": "Object"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.reflection.TypeDefinition",
        "qname": "declaredBy",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The type that defined this method This could be an ancestor class of the method's containing TypeDefinition"},
      { "type": "accessor",
        "access": "read-only",
        "return": "Array",
        "qname": "parameters",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The collection of parameters defined for this method each parameter is represented by a ParameterDefinition instance"},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.reflection.TypeDefinition",
        "qname": "returnType",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The return type for this method note: a return type may be &quot;*&quot; or &quot;void&quot;"},
      { "type": "method",
        "qname": "getMethod",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Provides easy access to the method described by this definition For instance member definitions it requires the instance to be passed as a single argument For static member definitions it requires no argument",
        "tags": [
        {  "tagName": "param",
               "values": ["inst an instance of this definition's owner class - required argument if this definition is for instance scope"]},
            {  "tagName": "return",
               "values": ["a function reference to the method that this definition describes"]}  ],
          "return": "Function",
          "params": [{ "name": "inst", "type": "Object"}]}
      ,
      { "type": "method",
        "qname": "toString",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "A string representation of this method definition",
          "return": "String",
          "params": []}
      ]
  }
