Difference between revisions of "User:Egmetcalfe/Dead Code"
(Add notes where code has been removed or in no longer dead) |
(→view: Update) |
||
(One intermediate revision by the same user not shown) | |||
Line 785: | Line 785: | ||
Note: Must also be removed from nsICaseConversion | Note: Must also be removed from nsICaseConversion | ||
− | ====PRUint16* MapperToCCMap(nsICharRepresentable*)==== | + | ====✓ PRUint16* MapperToCCMap(nsICharRepresentable*)==== |
[http://mxr.mozilla.org/mozilla-central/search?string=MapperToCCMap MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=MapperToCCMap MXR Search] | ||
Line 791: | Line 791: | ||
Code Size: 15 | Code Size: 15 | ||
− | ====void nsBufferDecoderSupport::DoubleBuffer()==== | + | ====✓ void nsBufferDecoderSupport::DoubleBuffer()==== |
[http://mxr.mozilla.org/mozilla-central/search?string=DoubleBuffer MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=DoubleBuffer MXR Search] | ||
Line 797: | Line 797: | ||
Code Size: 19 | Code Size: 19 | ||
− | ====nsresult nsDetectionAdaptor::ProcessTokens()==== | + | ====✓ nsresult nsDetectionAdaptor::ProcessTokens()==== |
[http://mxr.mozilla.org/mozilla-central/search?string=ProcessTokens MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=ProcessTokens MXR Search] | ||
Line 803: | Line 803: | ||
Code Size: 2 | Code Size: 2 | ||
− | ====nsresult nsDetectionAdaptor::WillAddToken(CToken&)==== | + | ====✓ nsresult nsDetectionAdaptor::WillAddToken(CToken&)==== |
[http://mxr.mozilla.org/mozilla-central/search?string=WillAddToken MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=WillAddToken MXR Search] | ||
Line 969: | Line 969: | ||
===view=== | ===view=== | ||
− | ====nsIntPoint nsIView::GetScreenPosition()==== | + | ====✓ nsIntPoint nsIView::GetScreenPosition()==== |
[http://mxr.mozilla.org/mozilla-central/search?string=GetScreenPosition MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=GetScreenPosition MXR Search] | ||
Line 975: | Line 975: | ||
Code Size: 39 | Code Size: 39 | ||
− | ====nsresult nsViewManager::GetViewObserver(nsIViewObserver*&)==== | + | ====✓ nsresult nsViewManager::GetViewObserver(nsIViewObserver*&)==== |
[http://mxr.mozilla.org/mozilla-central/search?string=GetViewObserver MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=GetViewObserver MXR Search] | ||
Line 981: | Line 981: | ||
Code Size: 16 | Code Size: 16 | ||
− | ====void nsView::SetPositionIgnoringChildWidgets(nscoord,nscoord)==== | + | ====✓ void nsView::SetPositionIgnoringChildWidgets(nscoord,nscoord)==== |
[http://mxr.mozilla.org/mozilla-central/search?string=SetPositionIgnoringChildWidgets MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=SetPositionIgnoringChildWidgets MXR Search] | ||
Line 987: | Line 987: | ||
Code Size: 14 | Code Size: 14 | ||
− | ====nsresult nsViewManager::MoveViewBy(nsIView*,nscoord,nscoord)==== | + | ====✓ nsresult nsViewManager::MoveViewBy(nsIView*,nscoord,nscoord)==== |
[http://mxr.mozilla.org/mozilla-central/search?string=MoveViewBy MXR Search] | [http://mxr.mozilla.org/mozilla-central/search?string=MoveViewBy MXR Search] | ||
Line 993: | Line 993: | ||
Code Size: 14 | Code Size: 14 | ||
+ | <del> | ||
====nsresult nsViewManager::InsertChild(nsIView*,nsIView*,PRInt32)==== | ====nsresult nsViewManager::InsertChild(nsIView*,nsIView*,PRInt32)==== | ||
Line 998: | Line 999: | ||
Code Size: 10 | Code Size: 10 | ||
+ | </del> | ||
====PRBool nsIView::ExternalIsRoot()==== | ====PRBool nsIView::ExternalIsRoot()==== |
Latest revision as of 09:40, 10 December 2011
Note: Code Size is a count of the number of GIMPLE instructions during pass cfg.
Contents
- 1 Unconditionally Dead
- 1.1 xpfe/components/intl
- 1.2 content/base
- 1.2.1 ✓ PRBool nsParserUtils::GetQuotedAttrNameAt(const nsString&,PRUint32,nsAString_internal&)
- 1.2.2 ✓ nsIContent* nsContentUtils::FindFirstChildWithResolvedTag(nsIContent*,PRInt32,nsIAtom*)
- 1.2.3 ✓ nsIDocShell* nsContentUtils::GetDocShellFromCaller()
- 1.2.4 ✓ nsIContent* nsContentUtils::GetReferencedElement(nsIURI*,nsIContent*)
- 1.2.5 ✓ void nsXMLNameSpaceMap::RemovePrefix(nsIAtom*)
- 1.2.6 ✓ nsresult nsPlainTextSerializer::WillProcessTokens()
- 1.2.7 nsresult nsAttrAndChildArray::SetAttr(nsIAtom*,const nsAString_internal&)
- 1.3 content/html
- 1.3.1 ✓ void nsGenericHTMLElement::GetHrefURIToMutate(nsIURI**)
- 1.3.2 ✓ PRBool SinkContext::IsAncestorContainer(nsHTMLTag)
- 1.3.3 ✓ nsresult nsHTMLFragmentContentSink::AddTextToContent(nsIContent*,const nsAString_internal&)
- 1.3.4 ✓ void nsXHTMLContentSerializer::AppendToString(const PRUnichar*, PRInt32, nsAString_internal&)
- 1.3.5 ✓ void nsXMLContentSerializer::AppendToString(const PRUnichar*, PRInt32, nsAString_internal&)
- 1.3.6 nsresult nsHTMLDocument::GetLinkColor(nsAString& aLinkColor)
- 1.4 content/media
- 1.5 content/events
- 1.6 content/xslt
- 1.6.1 MBool txDouble::isNeg(double)
- 1.6.2 PRInt32 txNamespaceMap::lookupNamespace(const nsAString_internal&)
- 1.6.3 txXPathNode* txXPathNodeUtils::getDocument(const txXPathNode&)
- 1.6.4 PRBool txEarlyEvalContext::isStripSpaceAllowed(const txXPathNode&)
- 1.6.5 PRBool txExecutionState::isStripSpaceAllowed(const txXPathNode&)
- 1.6.6 PRBool txXSLTParamContext::isStripSpaceAllowed(const txXPathNode&)
- 1.6.7 nsresult txResultRecycler::getNodeSet(const txXPathNode&,txNodeSet**)
- 1.7 content/xul
- 1.8 content/xbl
- 1.9 content/canvas
- 1.10 modules/libreg
- 1.10.1 REGERR NR_RegIsWritable(HREG)
- 1.10.2 REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)
- 1.10.3 REGERR NR_RegEnumEntries(HREG,RKEY,REGENUM*,char*,uint32,REGINFO*)
- 1.10.4 REGERR VR_UninstallEnumSharedFiles(char*,REGENUM*,char*,uint32)
- 1.10.5 REGERR NR_RegPack(HREG,void*,nr_RegPackCallbackFunc)
- 1.10.6 REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)
- 1.11 modules/libpref
- 1.12 modules/plugin
- 1.13 accessible
- 1.13.1 ✓ const gchar* ::getDocumentTypeCB(AtkDocument*)
- 1.13.2 ✓ void nsCoreUtils::GetElementsHavingIDRefsAttrImpl(nsIContent*,nsCString&,nsIAtom*,nsIMutableArray*)
- 1.13.3 ✓ void nsCoreUtils::GetElementsHavingIDRefsAttr(nsIContent*,nsIContent*,nsIAtom*,nsIArray**)
- 1.13.4 ✓ nsresult nsRelUtils::AddTargetFromChildrenHavingIDRefsAttr(PRUint32,nsIAccessibleRelation**,nsIContent*,nsIContent*,nsIAtom*)
- 1.13.5 ✓ already_AddRefed nsAccUtils::QueryAccessibleTable(nsIAccessibleTable*)
- 1.13.6 ✓ already_AddRefed nsCoreUtils::GetLastSensibleColumn(nsITreeBoxObject*)
- 1.14 embedding/components/windowwatcher
- 1.15 gfx/thebes/public
- 1.16 gfx/src/thebes
- 1.16.1 ✓ nsresult nsThebesRenderingContext::GetTextDimensions(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)
- 1.16.2 ✓ nsresult nsThebesRenderingContext::GetTextDimensionsInternal(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)
- 1.16.3 void nsRenderingContext::InvertRect(nscoord, nscoord, nscoord, nscoord)
- 1.16.4 nsresult nsThebesRenderingContext::DrawEllipse(const nsRect&)
- 1.17 modules/libpr0n
- 1.18 editor
- 1.18.1 ✓ nsresult nsHTMLCSSUtils::RemoveCSSProperty(nsIDOMElement*,const nsAString_internal&)
- 1.18.2 nsresult nsTextServicesDocument::GetDocument(nsIDOMDocument**)
- 1.18.3 nsresult nsITextServicesDocument::GetDocument(nsIDOMDocument**)
- 1.18.4 nsresult nsDOMSubtreeIterator::Init(nsIDOMNode*)
- 1.18.5 void nsDOMIterator::ForEach(nsDomIterFunctor&)
- 1.18.6 void* nsDomIterFunctor::operator()(nsIDOMNode*)
- 1.18.7 nsresult EditAggregateTxn::GetCount(PRUint32*)
- 1.18.8 nsresult EditAggregateTxn::GetTxnAt(PRInt32, EditTxn**)
- 1.18.9 nsresult EditAggregateTxn::SetName(nsIAtom*)
- 1.18.10 ✓ nsresult nsHTMLEditor::GetBlockSection(nsIDOMNode*, nsIDOMNode**, nsIDOMNode**)
- 1.18.11 ✓ nsresult nsHTMLEditor::GetBlockSectionsForRange(nsIDOMRange*, nsCOMArray&)
- 1.18.12 nsresult nsHTMLEditor::IsRootTag(nsString&, PRBool&)
- 1.18.13 nsresult TypeInState::SetProp(nsIAtom*)
- 1.18.14 nsresult TypeInState::SetProp(nsIAtom*, const nsString&)
- 1.18.15 nsresult TypeInState::ClearProp(nsIAtom*)
- 1.18.16 nsresult TypeInState::GetTypingState(PRBool&, PRBool&, nsIAtom*, const nsString&)
- 1.18.17 PRBool nsHTMLEditUtils::IsAddress(nsIDOMNode*)
- 1.18.18 nsresult nsHTMLEditRules::DidDeleteRange(nsIDOMRange*)
- 1.18.19 nsresult nsHTMLEditRules::WillDeleteRange(nsIDOMRange*)
- 1.18.20 nsresult ::NS_NewComposerCommandsUpdater(nsISelectionListener**)
- 1.19 security
- 1.19.1 nsresult nsCMSMessage::CommonAsyncVerifySignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)
- 1.19.2 nsresult nsCMSMessage::AsyncVerifyDetachedSignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)
- 1.19.3 nsresult nsCMSMessage::AsyncVerifySignature(nsISMimeVerificationListener*)
- 1.19.4 void nsNSSCertTrust::SetTrustedServerCA()
- 1.19.5 void nsNSSCertTrust::SetTrustedCA()
- 1.19.6 void nsNSSCertTrust::SetTrustedPeer()
- 1.19.7 void nsNSSCertTrust::SetUser()
- 1.19.8 PRBool nsNSSCertTrust::HasCA(PRBool, PRBool, PRBool)
- 1.19.9 PRBool nsNSSCertTrust::HasUser(PRBool, PRBool, PRBool)
- 1.19.10 void nsX509CertValidity::nsX509CertValidity()
- 1.19.11 nsresult nsNSSSocketInfo::SetExternalErrorReporting(PRBool)
- 1.19.12 nsresult nsNSSSocketInfo::GetForSTARTTLS(PRBool*)
- 1.19.13 nsresult nsNSSSocketInfo::GetForSTARTTLS(PRBool*)
- 1.19.14 nsresult nsNSSSocketInfo::GetFileDescPtr(PRFileDesc**)
- 1.19.15 nsresult nsNSSSocketInfo::GetCert(nsIX509Cert**)
- 1.19.16 PRBool nsNSSActivityState::isBlockingUIActive()
- 1.19.17 nsresult nsCRMFObject::init()
- 1.19.18 PRBool ::confirm_user(const PRUnichar*)
- 1.19.19 void nsCRLInfo::nsCRLInfo()
- 1.19.20 void nsOCSPResponder::nsOCSPResponder()
- 1.19.21 void nsCertTreeDispInfo::nsCertTreeDispInfo(nsCertTreeDispInfo&)
- 1.19.22 nsresult nsNSSComponent::RememberCert(CERTCertificate*)
- 1.19.23 nsresult nsINSSComponent::RememberCert(CERTCertificate*)
- 1.19.24 nsresult nsNSSComponent::NSSBundleFormatStringFromName(const char*, const PRUnichar**, PRUint32, nsAString_internal&)
- 1.19.25 nsresult nsINSSComponent::NSSBundleFormatStringFromName(const char*, const PRUnichar**, PRUint32, nsAString_internal&)
- 1.20 intl
- 1.20.1 nsresult nsCaseConversionImp2::ToTitle(const PRUnichar*,PRUnichar*,PRUint32,PRBool)
- 1.20.2 ✓ PRUint16* MapperToCCMap(nsICharRepresentable*)
- 1.20.3 ✓ void nsBufferDecoderSupport::DoubleBuffer()
- 1.20.4 ✓ nsresult nsDetectionAdaptor::ProcessTokens()
- 1.20.5 ✓ nsresult nsDetectionAdaptor::WillAddToken(CToken&)
- 1.20.6 nsDebugDetector::nsDebugDetector(nsDebugDetectorSel)
- 1.21 dom
- 1.22 parser
- 1.22.1 void nsCParserNode::SetGenericState(PRBool)
- 1.22.2 PRBool nsCParserNode::GetGenericState()
- 1.22.3 const nsAString_internal& nsCParserNode::GetTagName()
- 1.22.4 void nsCParserNode::GetSource(nsString&)
- 1.22.5 void nsCParserStartNode::GetSource(nsString&)
- 1.22.6 nsTagEntry* nsEntryStack::PopEntry()
- 1.22.7 nsTagEntry* nsDTDContext::PopEntry()
- 1.22.8 nsCParserNode* nsDTDContext::PopStyle()
- 1.22.9 nsTagEntry* nsDTDContext::LastEntry()
- 1.22.10 nsHTMLTag nsEntryStack::First()
- 1.22.11 nsHTMLTag nsDTDContext::First()
- 1.23 ipc
- 1.24 widget
- 1.25 extensions
- 1.26 view
- 1.26.1 ✓ nsIntPoint nsIView::GetScreenPosition()
- 1.26.2 ✓ nsresult nsViewManager::GetViewObserver(nsIViewObserver*&)
- 1.26.3 ✓ void nsView::SetPositionIgnoringChildWidgets(nscoord,nscoord)
- 1.26.4 ✓ nsresult nsViewManager::MoveViewBy(nsIView*,nscoord,nscoord)
- 1.26.5 nsresult nsViewManager::InsertChild(nsIView*,nsIView*,PRInt32)
- 1.26.6 PRBool nsIView::ExternalIsRoot()
- 1.26.7 void nsIPresShell::SetVerifyReflowEnable(PRBool)
- 1.26.8 PRBool nsIPresShell::GetVerifyReflowEnable()
- 1.27 layout/style
- 1.27.1 nsresult nsHTMLStyleSheet::GetType(nsString&)
- 1.27.2 nsresult nsIStyleSheet::GetType(nsString&)
- 1.27.3 nsresult nsCSSStyleSheet::GetType(nsString&)
- 1.27.4 nsresult nsHTMLCSSStyleSheet::GetType(nsString&)
- 1.27.5 nsresult nsHTMLStyleSheet::GetParentSheet(nsIStyleSheet*&)
- 1.27.6 nsresult nsIStyleSheet::GetParentSheet(nsIStyleSheet*&)
- 1.27.7 nsresult nsCSSStyleSheet::GetParentSheet(nsIStyleSheet*&)
- 1.27.8 nsresult nsHTMLCSSStyleSheet::GetParentSheet(nsIStyleSheet*&)
- 1.28 layout/inspector
- 1.29 xpcom/components
- 1.30 xpcom/base
- 2 Called by NS_ASSERTIONs/ifdefine DEBUG etc
- 3 Shouldn't be cross platform
- 3.1 profiles
- 3.1.1 nsresult nsProfileDirServiceProvider::SetProfileDir(nsIFile*, nsIFile*)
- 3.1.2 nsresult nsProfileDirServiceProvider::InitProfileDir(nsIFile*)
- 3.1.3 nsresult nsProfileDirServiceProvider::InitNonSharedProfileDir()
- 3.1.4 nsresult nsProfileDirServiceProvider::UndefineFileLocations()
- 3.1.5 nsresult ::NS_NewProfileDirServiceProvider(PRBool, nsProfileDirServiceProvider**)
- 3.1.6 void nsProfileDirServiceProvider::nsProfileDirServiceProvider(PRBool)
- 3.1 profiles
- 4 False Positives/Stuff that shouldn't be dealt with
- 4.1 accessible
- 4.1.1 PRBool nsFontSizeTextAttr::GetValueFor(nsIDOMElement*,nscoord*)
- 4.1.2 PRBool nsBGColorTextAttr::GetValueFor(nsIDOMElement*,nscolor*)
- 4.1.3 PRBool nsFontWeightTextAttr::GetValueFor(nsIDOMElement*,PRInt32*)
- 4.1.4 PRBool nsTextAttr::GetValue(nsAString_internal&,int)
- 4.1.5 void nsCSSTextAttr::Format(const nsAutoString&,nsAString_internal&)
- 4.1.6 void nsTextAttr::Format(const nsAutoString&,nsAString_internal&)
- 4.1.7 void nsLangTextAttr::Format(const nsAutoString&,nsAString_internal&)
- 4.2 layout/xul
- 4.3 layout/generic
- 4.3.1 nsRect nsIFrame::GetScreenRectInAppUnitsExternal()
- 4.3.2 nsCSSFontDesc nsCSSProps::LookupFontDesc(const nsACString_internal&)
- 4.3.3 nsCSSProperty nsCSSProps::LookupProperty(const nsACString_internal&)
- 4.3.4 nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)
- 4.3.5 nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)
- 4.3.6 nsCSSValueGradientStop::nsCSSValueGradientStop(const nsCSSValueGradientStop&)
- 4.3.7 nsCSSCornerSizes::nsCSSCornerSizes(const nsCSSCornerSizes&)
- 4.3.8 nsCSSValueListRect::nsCSSValueListRect(const nsCSSValueListRect&)
- 4.3.9 void nsCSSValue::nsCSSValue(nsCSSValueGradient*)
- 4.3.10 void nsCSSValue::nsCSSValue(Image*)
- 4.3.11 void nsCSSValue::nsCSSValue(URL*)
- 4.3.12 void nsCSSValue::nsCSSValue(Array*,nsCSSUnit)
- 4.3.13 void nsCSSValue::nsCSSValue(float,nsCSSUnit)
- 4.4 content/html
- 4.4.1 nsresult nsGenericHTMLElement::SetFloatAttr(nsIAtom*,float)
- 4.4.2 nsresult nsGenericHTMLElement::GetFloatAttr(nsIAtom*,float,float*)
- 4.4.3 nsresult nsHTMLDNSPrefetch::PrefetchHigh(nsAString_internal&)
- 4.4.4 nsresult nsHTMLDNSPrefetch::PrefetchHigh(Link*)
- 4.4.5 nsresult nsHTMLDNSPrefetch::PrefetchMedium(nsAString_internal&)
- 4.4.6 nsresult nsHTMLDNSPrefetch::PrefetchMedium(Link*)
- 4.1 accessible
Unconditionally Dead
xpfe/components/intl
nsresult nsCharsetMenu::SetCharsetCheckmark(nsString*, PRBool)
Code Size: 75
content/base
✓ PRBool nsParserUtils::GetQuotedAttrNameAt(const nsString&,PRUint32,nsAString_internal&)
Declaration Definition MXR Search *
Code Size: 96, Static method
✓ nsIContent* nsContentUtils::FindFirstChildWithResolvedTag(nsIContent*,PRInt32,nsIAtom*)
Declaration Definition MXR Search *
Code Size: 92, Static method
✓ nsIDocShell* nsContentUtils::GetDocShellFromCaller()
Declaration Definition MXR Search *
Code Size: 33, Static method
✓ nsIContent* nsContentUtils::GetReferencedElement(nsIURI*,nsIContent*)
Code Size: 6, Static method
✓ void nsXMLNameSpaceMap::RemovePrefix(nsIAtom*)
Declaration Definition MXR Search *
Code Size: 3, NS_HIDDEN_
✓ nsresult nsPlainTextSerializer::WillProcessTokens()
MXR Search (forgot to include this in original patch)
Code Size: 2
nsresult nsAttrAndChildArray::SetAttr(nsIAtom*,const nsAString_internal&)
Run this search. Save page to file. grep for lines with only one comma: grep "^[^,]*,[^,]*$"
Code Size: 71
content/html
✓ void nsGenericHTMLElement::GetHrefURIToMutate(nsIURI**)
Code Size: 3
✓ PRBool SinkContext::IsAncestorContainer(nsHTMLTag)
Code Size: 13
✓ nsresult nsHTMLFragmentContentSink::AddTextToContent(nsIContent*,const nsAString_internal&)
Code Size: 26
✓ void nsXHTMLContentSerializer::AppendToString(const PRUnichar*, PRInt32, nsAString_internal&)
loc: content/base/src/nsXHTMLContentSerializer.h
Code Size: 0, virtual
✓ void nsXMLContentSerializer::AppendToString(const PRUnichar*, PRInt32, nsAString_internal&)
loc: content/base/src/nsXMLContentSerializer.h
Code Size: 0, virtual
nsresult nsHTMLDocument::GetLinkColor(nsAString& aLinkColor)
MXR Search (Discovered by accident when verifying nsHTMLStyleSheet::GetLinkColor)
Code Size: 12 LOC (nevermind: it's scriptable)
content/media
nsresult nsMediaCacheStream::ReadFromCache(char*,PRInt64,PRInt64)
Code Size: 82
content/events
nsresult nsPrivateTextRange::SetRangeType(PRUint16)
Code Size: 3
nsresult nsPrivateTextRange::SetRangeEnd(PRUint16)
Code Size: 3
nsresult nsPrivateTextRange::SetRangeStart(PRUint16)
Code Size: 3
content/xslt
MBool txDouble::isNeg(double)
Code Size: 5
PRInt32 txNamespaceMap::lookupNamespace(const nsAString_internal&)
Code Size: 8
Note: Only lookupNamespace(nsIAtom*) is used
txXPathNode* txXPathNodeUtils::getDocument(const txXPathNode&)
Code Size: 11
PRBool txEarlyEvalContext::isStripSpaceAllowed(const txXPathNode&)
Code Size: 2
PRBool txExecutionState::isStripSpaceAllowed(const txXPathNode&)
Code Size: 6
PRBool txXSLTParamContext::isStripSpaceAllowed(const txXPathNode&)
Code Size: 2
Note: Difficult to check but all PRBool isStripSpaceAllowed functions are dead. There are a number of MBool isStripSpaceAllowed functions which are not, however.
nsresult txResultRecycler::getNodeSet(const txXPathNode&,txNodeSet**)
Code Size: 29
content/xul
✓ PRBool TestNode::HasAncestor(const ReteNode*)
Code Size: 11
✓ PRBool nsXULDocument::ContextStack::IsInsideXULTemplate()
Code Size: 16
content/xbl
nsCOMArray* nsXBLPrototypeBinding::GetStyleSheets()
Code Size: 6
content/canvas
✓ void mozilla::CanvasUtils::LogMessagef(const char*)
Code Size: 24
✓ void mozilla::CanvasUtils::LogMessage(const nsCString&)
MXR Search Difficult to verify
Code Size: 26
modules/libreg
REGERR NR_RegIsWritable(HREG)
Code Size: 18
REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)
Code Size: 9
Path Info: VR_UninstallEnumSharedFiles calls NR_RegEnumEntries
REGERR NR_RegEnumEntries(HREG,RKEY,REGENUM*,char*,uint32,REGINFO*)
Code Size: 60
Code Size: 57
Note: NR_RegEnumEntries is called by nr_addNodesToNewReg which is #ifdef RESURRECT_LATER here http://mxr.mozilla.org/mozilla-central/source/modules/libreg/src/reg.c#3650 (with a comment saying resurrect after mozilla 1)
Path Info: VR_PackRegistry calls NR_RegPack
REGERR NR_RegPack(HREG,void*,nr_RegPackCallbackFunc)
Code Size: 2
REGERR VR_PackRegistry(void*,nr_RegPackCallbackFunc)
Code Size: 9
modules/libpref
nsresult PREF_GetCharPref(const char*,char*,int*,PRBool)
Code Size: 47
modules/plugin
bool mozilla::plugins::parent::::_tostring(NPObject*,NPVariant*)
Code Size: 7
accessible
✓ const gchar* ::getDocumentTypeCB(AtkDocument*)
loc: accessible/src/atk/nsMaiInterfaceDocument.cpp
MXR Search (dead callback function - woohoo)
Code Size: 42
Path info: AddTargetFromChildrenHavingIDRefsAttr calls GetElementsHavingIDRefsAttr which calls GetElementsHavingIDRefsAttrImpl.
✓ void nsCoreUtils::GetElementsHavingIDRefsAttrImpl(nsIContent*,nsCString&,nsIAtom*,nsIMutableArray*)
Code Size: 42, ^
✓ void nsCoreUtils::GetElementsHavingIDRefsAttr(nsIContent*,nsIContent*,nsIAtom*,nsIArray**)
Code Size: 0? Really?, ^
✓ nsresult nsRelUtils::AddTargetFromChildrenHavingIDRefsAttr(PRUint32,nsIAccessibleRelation**,nsIContent*,nsIContent*,nsIAtom*)
Code Size: 52, ^
✓ already_AddRefed nsAccUtils::QueryAccessibleTable(nsIAccessibleTable*)
Code Size: 7, ^
✓ already_AddRefed nsCoreUtils::GetLastSensibleColumn(nsITreeBoxObject*)
Code Size: 40, ^
embedding/components/windowwatcher
✓ nsIScriptGlobalObject* nsWWJSUtils::GetStaticScriptGlobal(JSContext*,JSObject*)
Declaration Definition MXR Search
Code Size: 45, Static method
✓ nsIScriptContext* nsWWJSUtils::GetStaticScriptContext(JSContext*,JSObject*)
Declaration Definition MXR Search
Code Size: 10, Static method
gfx/thebes/public
Path info: MapCharToGlyph calls MapCharToGlyphFormat4
PRUint32 gfxFontUtils::MapCharToGlyphFormat4(const PRUint8*,PRUnichar)
Declaration Definition MXR Search
Code Size: 92, Static method, class marked THEBES_API
PRUint32 gfxFontUtils::MapCharToGlyph(PRUint8*,PRUint32,PRUnichar)
Declaration Definition MXR Search
Code Size: 11, Static method, class marked THEBES_API
gfx/src/thebes
Path info: GetTextDimensions calls GetTextDimensionsInternal
✓ nsresult nsThebesRenderingContext::GetTextDimensions(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)
Code Size: 56
✓ nsresult nsThebesRenderingContext::GetTextDimensionsInternal(const PRUnichar*,PRInt32,PRInt32,PRInt32*,PRInt32,nsTextDimensions&,PRInt32&,nsTextDimensions&,PRInt32*)
Code Size: 2
void nsRenderingContext::InvertRect(nscoord, nscoord, nscoord, nscoord)
Note: The 9 argument versions of these functions are not called. The same functions may be removed from nsIThebesFontMetrics, nsThebesFontMetrics and nsIThebesRenderingContext
nsresult nsThebesRenderingContext::DrawEllipse(const nsRect&)
Code Size: 10
Note: 1-arg func never used. Must be removed from nsIThebesRenderingContext as well
modules/libpr0n
PRUint32 imgFrame::GetImageBytesPerRow()
Declaration Definition MXR Search
Code Size: 11
PRInt32 imgFrame::GetHeight()
Declaration Definition MXR Search (Dead, but a pain to check)
Code Size: 2
PRInt32 imgFrame::GetWidth()
Declaration Definition MXR Search (Dead, but a pain to check)
Code Size: 2
PRInt32 imgFrame::GetY()
Declaration Definition MXR Search (impossible to check)
Code Size: 2
PRInt32 imgFrame::GetX()
Declaration Definition MXR Search (impossible to check)
Code Size: 2
editor
✓ nsresult nsHTMLCSSUtils::RemoveCSSProperty(nsIDOMElement*,const nsAString_internal&)
Code Size: 28
nsresult nsTextServicesDocument::GetDocument(nsIDOMDocument**)
loc: editor/txtsvc/src/nsTextServicesDocument.h
Code Size: 0, virtual
nsresult nsITextServicesDocument::GetDocument(nsIDOMDocument**)
loc: editor/txtsvc/public/nsITextServicesDocument.h
Code Size: 0, virtual
API?
nsresult nsDOMSubtreeIterator::Init(nsIDOMNode*)
loc: editor/libeditor/base/nsEditorUtils.h
Code Size: 30
void nsDOMIterator::ForEach(nsDomIterFunctor&)
loc: editor/libeditor/base/nsEditorUtils.h
Code Size: 42
void* nsDomIterFunctor::operator()(nsIDOMNode*)
loc: editor/libeditor/base/nsEditorUtils.h
Code Size: 0, virtual
nsresult EditAggregateTxn::GetCount(PRUint32*)
loc: editor/libeditor/base/EditAggregateTxn.h
Code Size: 7, virtual
nsresult EditAggregateTxn::GetTxnAt(PRInt32, EditTxn**)
loc: editor/libeditor/base/EditAggregateTxn.h
Code Size: 27, virtual
nsresult EditAggregateTxn::SetName(nsIAtom*)
loc: editor/libeditor/base/EditAggregateTxn.h
Code Size: 7, virtual
✓ nsresult nsHTMLEditor::GetBlockSection(nsIDOMNode*, nsIDOMNode**, nsIDOMNode**)
loc: editor/libeditor/html/nsHTMLEditor.h
Code Size: 127, static, called by GetBlockSectionsForRange
✓ nsresult nsHTMLEditor::GetBlockSectionsForRange(nsIDOMRange*, nsCOMArray&)
loc: editor/libeditor/html/nsHTMLEditor.h
Code Size: 189, static
nsresult nsHTMLEditor::IsRootTag(nsString&, PRBool&)
loc: editor/libeditor/html/nsHTMLEditor.h
Code Size: 16, virtual
nsresult TypeInState::SetProp(nsIAtom*)
loc: editor/libeditor/html/TypeInState.h
Code Size: 5
nsresult TypeInState::SetProp(nsIAtom*, const nsString&)
loc: editor/libeditor/html/TypeInState.h
Code Size: 4
nsresult TypeInState::ClearProp(nsIAtom*)
loc: editor/libeditor/html/TypeInState.h
Code Size: 4
nsresult TypeInState::GetTypingState(PRBool&, PRBool&, nsIAtom*, const nsString&)
loc: editor/libeditor/html/TypeInState.h
Code Size: 3
PRBool nsHTMLEditUtils::IsAddress(nsIDOMNode*)
loc: editor/libeditor/html/nsHTMLEditUtils.h
Code Size: 4, static
nsresult nsHTMLEditRules::DidDeleteRange(nsIDOMRange*)
loc: editor/libeditor/html/nsHTMLEditRules.h
Code Size: 2, virtual
nsresult nsHTMLEditRules::WillDeleteRange(nsIDOMRange*)
loc: editor/libeditor/html/nsHTMLEditRules.h
Code Size: 6, virtual
nsresult ::NS_NewComposerCommandsUpdater(nsISelectionListener**)
loc: editor/composer/src/nsComposerCommandsUpdater.cpp
Code Size: 15
API?
security
Path Info:
CommonAsyncVerifySignature is called by AsyncVerifySignature and AsyncVerifyDetachedSignature.
nsresult nsCMSMessage::CommonAsyncVerifySignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)
Code Size: 43
nsresult nsCMSMessage::AsyncVerifyDetachedSignature(nsISMimeVerificationListener*,unsigned char*,PRUint32)
Code Size: 6
nsresult nsCMSMessage::AsyncVerifySignature(nsISMimeVerificationListener*)
Code Size: 3 (It will also take two nsCOMPtr::operator=' along with it, both with code size 5)
void nsNSSCertTrust::SetTrustedServerCA()
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 4
void nsNSSCertTrust::SetTrustedCA()
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 4
void nsNSSCertTrust::SetTrustedPeer()
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 4
void nsNSSCertTrust::SetUser()
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 4
PRBool nsNSSCertTrust::HasCA(PRBool, PRBool, PRBool)
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 29
PRBool nsNSSCertTrust::HasUser(PRBool, PRBool, PRBool)
loc: security/manager/ssl/src/nsNSSCertTrust.h
Code Size: 29
void nsX509CertValidity::nsX509CertValidity()
loc: security/manager/ssl/src/nsNSSCertValidity.h
Code Size: 7
nsresult nsNSSSocketInfo::SetExternalErrorReporting(PRBool)
loc: security/manager/ssl/src/nsNSSIOLayer.h
Code Size: 4
nsresult nsNSSSocketInfo::GetForSTARTTLS(PRBool*)
loc: security/manager/ssl/src/nsNSSIOLayer.h
Code Size: 5
nsresult nsNSSSocketInfo::GetForSTARTTLS(PRBool*)
loc: security/manager/ssl/src/nsNSSIOLayer.h
Code Size: 5
nsresult nsNSSSocketInfo::GetFileDescPtr(PRFileDesc**)
loc: security/manager/ssl/src/nsNSSIOLayer.h
Code Size: 4
nsresult nsNSSSocketInfo::GetCert(nsIX509Cert**)
loc: security/manager/ssl/src/nsNSSIOLayer.h
Code Size: 11
PRBool nsNSSActivityState::isBlockingUIActive()
loc: security/manager/ssl/src/nsNSSShutDown.h
Code Size: 8
nsresult nsCRMFObject::init()
loc: security/manager/ssl/src/nsCrypto.h
Code Size: 2
PRBool ::confirm_user(const PRUnichar*)
loc: security/manager/ssl/src/nsCrypto.cpp
Code Size: 36
void nsCRLInfo::nsCRLInfo()
loc: security/manager/ssl/src/nsCRLInfo.h
Code Size: 20
void nsOCSPResponder::nsOCSPResponder()
loc: security/manager/ssl/src/nsOCSPResponder.h
Code Size: 10
void nsCertTreeDispInfo::nsCertTreeDispInfo(nsCertTreeDispInfo&)
loc: security/manager/ssl/src/nsCertTree.h
Code Size: 29
nsresult nsNSSComponent::RememberCert(CERTCertificate*)
loc: security/manager/ssl/src/nsNSSComponent.h
Code Size: 0, virtual
nsresult nsINSSComponent::RememberCert(CERTCertificate*)
loc: security/manager/ssl/src/nsNSSComponent.h
Code Size: 0, virtual
nsresult nsNSSComponent::NSSBundleFormatStringFromName(const char*, const PRUnichar**, PRUint32, nsAString_internal&)
loc: security/manager/ssl/src/nsNSSComponent.h
Code Size: 0, virtual
nsresult nsINSSComponent::NSSBundleFormatStringFromName(const char*, const PRUnichar**, PRUint32, nsAString_internal&)
loc: security/manager/ssl/src/nsNSSComponent.h
Code Size: 0, virtual
And a bunch more.... Probably should deal with security stuff last, if at all
intl
nsresult nsCaseConversionImp2::ToTitle(const PRUnichar*,PRUnichar*,PRUint32,PRBool)
Code Size: 42
Note: Must also be removed from nsICaseConversion
✓ PRUint16* MapperToCCMap(nsICharRepresentable*)
Code Size: 15
✓ void nsBufferDecoderSupport::DoubleBuffer()
Code Size: 19
✓ nsresult nsDetectionAdaptor::ProcessTokens()
Code Size: 2
✓ nsresult nsDetectionAdaptor::WillAddToken(CToken&)
Code Size: 2
Note: ProcessTokens and WillAddTokens must be removed from nsIParserFilter as well.
nsDebugDetector::nsDebugDetector(nsDebugDetectorSel)
Code Size: 10
dom
nsresult nsIScriptGlobalObject::HandleScriptError(nsScriptErrorEvent*,nsEventStatus*)
Code Size: 3
void nsJSContext::SetDefaultLanguageVersion(PRUint32)
loc: dom/base/nsJSEnvironment.h
Code Size: 0, virtual
void nsIScriptContext::SetDefaultLanguageVersion(PRUint32)
loc: dom/base/nsIScriptContext.h
Code Size: 0, virtual
parser
void nsCParserNode::SetGenericState(PRBool)
Code Size: 3
PRBool nsCParserNode::GetGenericState()
Code Size: 3
const nsAString_internal& nsCParserNode::GetTagName()
Code Size: 3
void nsCParserNode::GetSource(nsString&)
Code Size: 22
void nsCParserStartNode::GetSource(nsString&)
Code Size: 35
Note: pure virtual declarations of SetGenericState, GetGenericState, GetTagName, and GetSource must be removed from nsIParserNode as well. Although tough to check, all one argument GetSource methods (that are used) belong to classes not derived from nsIParserNode.
Path Info: nsDTDContext::PopEntry() calls nsEntryStack::PopEntry()
nsTagEntry* nsEntryStack::PopEntry()
Code Size: 7
nsTagEntry* nsDTDContext::PopEntry()
Code Size: 7
nsCParserNode* nsDTDContext::PopStyle()
Code Size: 18
nsTagEntry* nsDTDContext::LastEntry()
Code Size: 6
nsHTMLTag nsEntryStack::First()
Code Size: 7
nsHTMLTag nsDTDContext::First()
Code Size: 4
Note: First is impossible to verify using MXR but the likelihood of a false positive is low here (since the method is non-virtual and non-static)
ipc
There is a tonne of dead ipc/chromium stuff not listed here. I'm operating on the assumption it will be too much of a hassle to deal with.
bool mozilla::ipc::GeckoChildProcessHost::AsyncLaunch(vector)
Code Size: 17
widget
PRBool confirm_overwrite_file(GtkWidget*,nsILocalFile*)
Code Size: 95
nsresult nsDeviceContextSpecGTK::GetPrintMethod(PrintMethod&)
Code Size: 4
void nsPrinterFeatures::SetMultipleConcurrentDeviceContextsSupported(PRBool)
Code Size: 2
nsCursor nsBaseWidget::GetCursor()
Code Size: 2
Note: Must also be removed from nsIWidget.
extensions
nsresult nsCyrXPCOMStringDetector::DoIt(const char*,PRUint32,const char**,nsDetectionConfident&)
Code Size: 19
nsresult nsXPCOMStringDetector::DoIt(const char*,PRUint32,const char**,nsDetectionConfident&)
Code Size: 32
view
✓ nsIntPoint nsIView::GetScreenPosition()
Code Size: 39
✓ nsresult nsViewManager::GetViewObserver(nsIViewObserver*&)
Code Size: 16
✓ void nsView::SetPositionIgnoringChildWidgets(nscoord,nscoord)
Code Size: 14
✓ nsresult nsViewManager::MoveViewBy(nsIView*,nscoord,nscoord)
Code Size: 14
nsresult nsViewManager::InsertChild(nsIView*,nsIView*,PRInt32)
Code Size: 10
PRBool nsIView::ExternalIsRoot()
Code Size: 3
Note: Used in an NS_ASSERTION here. Why not just call nsIView::IsRoot?
void nsIPresShell::SetVerifyReflowEnable(PRBool)
MXR Search (called by ifdef DEBUG code)
Code Size: 2
PRBool nsIPresShell::GetVerifyReflowEnable()
MXR Search (called by ifdef DEBUG code)
Code Size: 2
layout/style
nsresult nsHTMLStyleSheet::GetType(nsString&)
loc: layout/style/nsHTMLStyleSheet.h
Code Size: 0, virtual
nsresult nsIStyleSheet::GetType(nsString&)
loc: layout/style/nsIStyleSheet.h
Code Size: 0, virtual
nsresult nsCSSStyleSheet::GetType(nsString&)
loc: layout/style/nsCSSStyleSheet.h
Code Size: 0, virtual
nsresult nsHTMLCSSStyleSheet::GetType(nsString&)
loc: layout/style/nsHTMLCSSStyleSheet.h
Code Size: 4, virtual
nsresult nsHTMLStyleSheet::GetParentSheet(nsIStyleSheet*&)
loc: layout/style/nsHTMLStyleSheet.h
Code Size: 0, virtual
nsresult nsIStyleSheet::GetParentSheet(nsIStyleSheet*&)
loc: layout/style/nsIStyleSheet.h
Code Size: 0, virtual
nsresult nsCSSStyleSheet::GetParentSheet(nsIStyleSheet*&)
loc: layout/style/nsCSSStyleSheet.h
Code Size: 0, virtual
nsresult nsHTMLCSSStyleSheet::GetParentSheet(nsIStyleSheet*&)
loc: layout/style/nsHTMLCSSStyleSheet.h
Code Size: 3, virtual
layout/inspector
void inSearchLoop::inSearchLoop(inISearchProcess*)
MXR Search (This'll take an nsCOMPtr::operator= along with it)
Code Size: 11
- Upon further examination, the whole layout/inspector module seems unused. All of the classes from these files end up in an NS_GENERIC_FACTORY_CONSTRUCTOR (except inSearchLoop). The Makefile also claims "This library is used by other shared libs in a static build". Reading this mdc page, this is apparently used for the DOM Inspector, but does it/should it make its way into libxul?
xpcom/components
Don't know if this stuff can be touched
nsresult nsServiceManager::GetGlobalServiceManager(nsIServiceManager**)
Code Size: 15
nsresult nsServiceManager::ShutdownGlobalServiceManager(nsIServiceManager**)
Code Size: 2
xpcom/base
nsresult nsTraceRefcntImpl::LogAddRef(void*,nsrefcnt,const char*,PRUint32) et al
6 of the functions of this class are dead but the idl file lists the classes status as frozen (and deprecated).
Called by NS_ASSERTIONs/ifdefine DEBUG etc
layout/style
PRBool nsCSSPseudoElements::IsPseudoElement(nsIAtom*)
loc: layout/style/nsCSSPseudoElements.h
Code Size: 3, static
Shouldn't be cross platform
profiles
nsresult nsProfileDirServiceProvider::SetProfileDir(nsIFile*, nsIFile*)
loc: profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
Code Size: 112, virtual -- Called in embedding/tests/winEmbed/winEmbed.cpp
nsresult nsProfileDirServiceProvider::InitProfileDir(nsIFile*)
loc: profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
Code Size: 142
loc: profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
Code Size: 87
nsresult nsProfileDirServiceProvider::UndefineFileLocations()
loc: profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
Code Size: 77
nsresult ::NS_NewProfileDirServiceProvider(PRBool, nsProfileDirServiceProvider**)
loc: profile/dirserviceprovider/src/nsProfileDirServiceProvider.cpp
Code Size: 31
void nsProfileDirServiceProvider::nsProfileDirServiceProvider(PRBool)
loc: profile/dirserviceprovider/public/nsProfileDirServiceProvider.h
Code Size: 18
False Positives/Stuff that shouldn't be dealt with
accessible
These are all inherit from a template base class so these individual methods are unuded but removing them requires a major design change
PRBool nsFontSizeTextAttr::GetValueFor(nsIDOMElement*,nscoord*)
Code Size: 8
PRBool nsBGColorTextAttr::GetValueFor(nsIDOMElement*,nscolor*)
Code Size: 7
PRBool nsFontWeightTextAttr::GetValueFor(nsIDOMElement*,PRInt32*)
Code Size: 8
Path info: GetValue calls nsCSSTextAttr::Format
PRBool nsTextAttr::GetValue(nsAString_internal&,int)
Code Size: 26
void nsCSSTextAttr::Format(const nsAutoString&,nsAString_internal&)
Code Size: 3
void nsTextAttr::Format(const nsAutoString&,nsAString_internal&)
Code Size: 0
void nsLangTextAttr::Format(const nsAutoString&,nsAString_internal&)
Code Size: 7
layout/xul
gfxContext* nsContextBoxBlur::GetContext()
Code Size: 4
Note: according to comments in Init, that it "Prepares a gfxContext to draw on. Do not call this twice; if you want to get the gfxContext again use GetContext()", this probably shouldn't be removed.
layout/generic
nsRect nsIFrame::GetScreenRectInAppUnitsExternal()
MXR Search roc: may be used outside of tree
Code Size: 3
=== layout/style
nsCSSFontDesc nsCSSProps::LookupFontDesc(const nsACString_internal&)
MXR Search (Only the nsAString version is apparently used but what about this line?)
Code Size: 4
nsCSSProperty nsCSSProps::LookupProperty(const nsACString_internal&)
MXR Search Only nsAString version used (maybe)
Code Size: 5
nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)
MXR Search (Only the nsAString version is apparently used but what about this line?)
Code Size: 7
nsCSSKeyword nsCSSKeywords::LookupKeyword(const nsACString_internal&)
loc: layout/style/nsCSSKeywords.h
Code Size: 7, static, nsAString version used
nsCSSValueGradientStop::nsCSSValueGradientStop(const nsCSSValueGradientStop&)
MXR Search (Probably not a good idea to remove this)
Code Size: 7
nsCSSCornerSizes::nsCSSCornerSizes(const nsCSSCornerSizes&)
MXR Search (Probably not a good idea to remove this)
Code Size: 13
nsCSSValueListRect::nsCSSValueListRect(const nsCSSValueListRect&)
MXR Search (Probably not a good idea to remove this)
Code Size: 9
void nsCSSValue::nsCSSValue(nsCSSValueGradient*)
Code Size: 5, !
void nsCSSValue::nsCSSValue(Image*)
Code Size: 5, !
void nsCSSValue::nsCSSValue(URL*)
Code Size: 5, !
void nsCSSValue::nsCSSValue(Array*,nsCSSUnit)
Code Size: 5, !
void nsCSSValue::nsCSSValue(float,nsCSSUnit)
Code Size: 5, !
dbaron: maintain the correspondence between setters and constructors
content/html
nsresult nsGenericHTMLElement::SetFloatAttr(nsIAtom*,float)
Code Size: 6
MXR Search * Will be used for HTML5
nsresult nsGenericHTMLElement::GetFloatAttr(nsIAtom*,float,float*)
MXR Search * Will be used for HTML5
Code Size: 15
nsresult nsHTMLDNSPrefetch::PrefetchHigh(nsAString_internal&)
MXR Search * - Meant as forward looking API
Code Size: 3
nsresult nsHTMLDNSPrefetch::PrefetchHigh(Link*)
MXR Search * - Meant as forward looking API
Code Size: 3
nsresult nsHTMLDNSPrefetch::PrefetchMedium(nsAString_internal&)
MXR Search * - Meant as forward looking API
Code Size: 3
nsresult nsHTMLDNSPrefetch::PrefetchMedium(Link*)
MXR Search * - Meant as forward looking API
Code Size: 3