{"id":244,"date":"2008-02-21T15:08:16","date_gmt":"2008-02-21T23:08:16","guid":{"rendered":"http:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/"},"modified":"2008-02-21T15:16:59","modified_gmt":"2008-02-21T23:16:59","slug":"sneaky-flex-trick-to-get-the-name-of-any-calling-functions","status":"publish","type":"post","link":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/","title":{"rendered":"Sneaky Flex trick to get the name of any calling functions"},"content":{"rendered":"<p>Well I&#8217;ll be damned, in my <a href=\"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/monkey-patching-flexsprite-to-list-all-event-listeners-on-any-flex-component\/\">last post<\/a> I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn&#8217;t figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there&#8217;s a trick you can do by using the Error class and the getStackTraceMethod() to parse out these strings.<\/p>\n<p>If you call: <code style=\"font-size:12px;\">trace(new Error().getStackTrace())<\/code> you&#8217;ll get something that looks like:<\/p>\n<div style=\"width:350px; height:200px; overflow : auto; border:1px solid silver; background-color:#ffffff \">\n<pre>\r\n<code style=\"font-size:12px;\">\r\nError\r\nat MonkeyPatchTest\/___MonkeyPatchTest_Application1_creationComplete()[path\/to\/source\/src\/MonkeyPatchTest.mxml:4]\r\nat flash.events::EventDispatcher\/dispatchEventFunction()\r\nat flash.events::EventDispatcher\/dispatchEvent()\r\nat mx.core::UIComponent\/dispatchEvent()[E:\\dev\\flex_3_beta3\\sdk\\frameworks\\projects\\framework\\src\\mx\\core\\UIComponent.as:9041]\r\nat mx.core::UIComponent\/set initialized()[E:\\dev\\flex_3_beta3\\sdk\\frameworks\\projects\\framework\\src\\mx\\core\\UIComponent.as:1165]\r\nat mx.managers::LayoutManager\/doPhasedInstantiation()[E:\\dev\\flex_3_beta3\\sdk\\frameworks\\projects\\framework\\src\\mx\\managers\\LayoutManager.as:696]\r\nat Function\/http:\/\/adobe.com\/AS3\/2006\/builtin::apply()\r\nat mx.core::UIComponent\/callLaterDispatcher2()[E:\\dev\\flex_3_beta3\\sdk\\frameworks\\projects\\framework\\src\\mx\\core\\UIComponent.as:8450]\r\nat mx.core::UIComponent\/callLaterDispatcher()[E:\\dev\\flex_3_beta3\\sdk\\frameworks\\projects\\framework\\src\\mx\\core\\UIComponent.as:8393]\r\n<\/code><\/pre>\n<\/div>\n<p>Within that long string you have all sorts of information about every calling function all the way up the stack. You can parse that all out and figure out where in the application you were. You can do this from anywhere in your app.<\/p>\n<p>So I updated the <a href=\"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/monkey-patching-flexsprite-to-list-all-event-listeners-on-any-flex-component\/\">monkey patched event dispatcher example<\/a> in my last post to use this method and lo and behold we can get the class name of the class that called addEventListener(). We even get the method name and the line number where addEventListener was called.<\/p>\n<p>Now in the <a href=\"http:\/\/dougmccune.com\/flex\/monkeypatchevents\/flexspy\/\">FlexSpy example<\/a> you get much more information and can trace back exactly where the event listener was added. Sweet! A big thanks goes to Almog (and to Alex Harui who Almog references as his source of this little gem).<\/p>\n<p><strong>IMPORTANT NOTE:<\/strong> The Error.getStackTrace() method only works with the <strong>DEBUG<\/strong> version of your swf. If you export a release build then a call to Error.getStackTrace() won&#8217;t work.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well I&#8217;ll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn&#8217;t figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there&#8217;s [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[2],"tags":[],"class_list":["post-244","post","type-post","status-publish","format-standard","hentry","category-flex"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Well I&#039;ll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn&#039;t figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there&#039;s\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Doug\"\/>\n\t<meta name=\"keywords\" content=\"flex\/flash\/actionscript\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Doug McCune | Sculptor\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Sneaky Flex trick to get the name of any calling functions | Doug McCune\" \/>\n\t\t<meta property=\"og:description\" content=\"Well I&#039;ll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn&#039;t figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there&#039;s\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2008-02-21T23:08:16+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2008-02-21T23:16:59+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Sneaky Flex trick to get the name of any calling functions | Doug McCune\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Well I&#039;ll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn&#039;t figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there&#039;s\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#article\",\"name\":\"Sneaky Flex trick to get the name of any calling functions | Doug McCune\",\"headline\":\"Sneaky Flex trick to get the name of any calling functions\",\"author\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/author\\\/admin-2\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#articleImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1559cc79696919726297c735cddc893c8983709f55a8773bdc1d45aea8c79051?s=96&d=blank&r=x\",\"width\":96,\"height\":96,\"caption\":\"Doug\"},\"datePublished\":\"2008-02-21T15:08:16-08:00\",\"dateModified\":\"2008-02-21T15:16:59-08:00\",\"inLanguage\":\"en-US\",\"commentCount\":13,\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#webpage\"},\"articleSection\":\"Flex\\\/Flash\\\/Actionscript\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dougmccune.com\\\/blog\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/category\\\/flex\\\/#listItem\",\"name\":\"Flex\\\/Flash\\\/Actionscript\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/category\\\/flex\\\/#listItem\",\"position\":2,\"name\":\"Flex\\\/Flash\\\/Actionscript\",\"item\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/category\\\/flex\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#listItem\",\"name\":\"Sneaky Flex trick to get the name of any calling functions\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#listItem\",\"position\":3,\"name\":\"Sneaky Flex trick to get the name of any calling functions\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/category\\\/flex\\\/#listItem\",\"name\":\"Flex\\\/Flash\\\/Actionscript\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/#person\",\"name\":\"Doug McCune\",\"image\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/wp-content\\\/uploads\\\/2022\\\/01\\\/tTL5uiW4_400x400.jpeg\",\"sameAs\":[\"https:\\\/\\\/instagram.com\\\/doug_mccune\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/author\\\/admin-2\\\/#author\",\"url\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/author\\\/admin-2\\\/\",\"name\":\"Doug\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1559cc79696919726297c735cddc893c8983709f55a8773bdc1d45aea8c79051?s=96&d=blank&r=x\",\"width\":96,\"height\":96,\"caption\":\"Doug\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#webpage\",\"url\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/\",\"name\":\"Sneaky Flex trick to get the name of any calling functions | Doug McCune\",\"description\":\"Well I'll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn't figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there's\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/2008\\\/02\\\/21\\\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/author\\\/admin-2\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/author\\\/admin-2\\\/#author\"},\"datePublished\":\"2008-02-21T15:08:16-08:00\",\"dateModified\":\"2008-02-21T15:16:59-08:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/\",\"name\":\"Doug McCune\",\"description\":\"Sculptor\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/dougmccune.com\\\/blog\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Sneaky Flex trick to get the name of any calling functions | Doug McCune","description":"Well I'll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn't figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there's","canonical_url":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/","robots":"max-image-preview:large","keywords":"flex\/flash\/actionscript","webmasterTools":{"miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#article","name":"Sneaky Flex trick to get the name of any calling functions | Doug McCune","headline":"Sneaky Flex trick to get the name of any calling functions","author":{"@id":"https:\/\/dougmccune.com\/blog\/author\/admin-2\/#author"},"publisher":{"@id":"https:\/\/dougmccune.com\/blog\/#person"},"image":{"@type":"ImageObject","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#articleImage","url":"https:\/\/secure.gravatar.com\/avatar\/1559cc79696919726297c735cddc893c8983709f55a8773bdc1d45aea8c79051?s=96&d=blank&r=x","width":96,"height":96,"caption":"Doug"},"datePublished":"2008-02-21T15:08:16-08:00","dateModified":"2008-02-21T15:16:59-08:00","inLanguage":"en-US","commentCount":13,"mainEntityOfPage":{"@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#webpage"},"isPartOf":{"@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#webpage"},"articleSection":"Flex\/Flash\/Actionscript"},{"@type":"BreadcrumbList","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog#listItem","position":1,"name":"Home","item":"https:\/\/dougmccune.com\/blog","nextItem":{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog\/category\/flex\/#listItem","name":"Flex\/Flash\/Actionscript"}},{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog\/category\/flex\/#listItem","position":2,"name":"Flex\/Flash\/Actionscript","item":"https:\/\/dougmccune.com\/blog\/category\/flex\/","nextItem":{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#listItem","name":"Sneaky Flex trick to get the name of any calling functions"},"previousItem":{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#listItem","position":3,"name":"Sneaky Flex trick to get the name of any calling functions","previousItem":{"@type":"ListItem","@id":"https:\/\/dougmccune.com\/blog\/category\/flex\/#listItem","name":"Flex\/Flash\/Actionscript"}}]},{"@type":"Person","@id":"https:\/\/dougmccune.com\/blog\/#person","name":"Doug McCune","image":"https:\/\/dougmccune.com\/blog\/wp-content\/uploads\/2022\/01\/tTL5uiW4_400x400.jpeg","sameAs":["https:\/\/instagram.com\/doug_mccune"]},{"@type":"Person","@id":"https:\/\/dougmccune.com\/blog\/author\/admin-2\/#author","url":"https:\/\/dougmccune.com\/blog\/author\/admin-2\/","name":"Doug","image":{"@type":"ImageObject","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/1559cc79696919726297c735cddc893c8983709f55a8773bdc1d45aea8c79051?s=96&d=blank&r=x","width":96,"height":96,"caption":"Doug"}},{"@type":"WebPage","@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#webpage","url":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/","name":"Sneaky Flex trick to get the name of any calling functions | Doug McCune","description":"Well I'll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn't figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there's","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/dougmccune.com\/blog\/#website"},"breadcrumb":{"@id":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/#breadcrumblist"},"author":{"@id":"https:\/\/dougmccune.com\/blog\/author\/admin-2\/#author"},"creator":{"@id":"https:\/\/dougmccune.com\/blog\/author\/admin-2\/#author"},"datePublished":"2008-02-21T15:08:16-08:00","dateModified":"2008-02-21T15:16:59-08:00"},{"@type":"WebSite","@id":"https:\/\/dougmccune.com\/blog\/#website","url":"https:\/\/dougmccune.com\/blog\/","name":"Doug McCune","description":"Sculptor","inLanguage":"en-US","publisher":{"@id":"https:\/\/dougmccune.com\/blog\/#person"}}]},"og:locale":"en_US","og:site_name":"Doug McCune | Sculptor","og:type":"article","og:title":"Sneaky Flex trick to get the name of any calling functions | Doug McCune","og:description":"Well I'll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn't figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there's","og:url":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/","article:published_time":"2008-02-21T23:08:16+00:00","article:modified_time":"2008-02-21T23:16:59+00:00","twitter:card":"summary_large_image","twitter:title":"Sneaky Flex trick to get the name of any calling functions | Doug McCune","twitter:description":"Well I'll be damned, in my last post I wrote about how I was trying to figure out which class was calling addEventListener on a FlexSprite. I couldn't figure out a way to get the name of the calling class, or the name of the method that called addEventListener(). Well, Almog Kurtser commented that there's"},"aioseo_meta_data":{"post_id":"244","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"ai":null,"created":"2021-01-03 18:04:11","updated":"2025-06-03 20:12:18","seo_analyzer_scan_date":null},"aioseo_breadcrumb":"<div class=\"aioseo-breadcrumbs\"><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/dougmccune.com\/blog\" title=\"Home\">Home<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\t<a href=\"https:\/\/dougmccune.com\/blog\/category\/flex\/\" title=\"Flex\/Flash\/Actionscript\">Flex\/Flash\/Actionscript<\/a>\n\t\t<\/span><span class=\"aioseo-breadcrumb-separator\">\u00bb<\/span><span class=\"aioseo-breadcrumb\">\n\t\t\tSneaky Flex trick to get the name of any calling functions\n\t\t<\/span><\/div>","aioseo_breadcrumb_json":[{"label":"Home","link":"https:\/\/dougmccune.com\/blog"},{"label":"Flex\/Flash\/Actionscript","link":"https:\/\/dougmccune.com\/blog\/category\/flex\/"},{"label":"Sneaky Flex trick to get the name of any calling functions","link":"https:\/\/dougmccune.com\/blog\/2008\/02\/21\/sneaky-flex-trick-to-get-the-name-of-any-calling-functions\/"}],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/posts\/244","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/comments?post=244"}],"version-history":[{"count":0,"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/posts\/244\/revisions"}],"wp:attachment":[{"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/media?parent=244"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/categories?post=244"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dougmccune.com\/blog\/wp-json\/wp\/v2\/tags?post=244"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}