All Downloads are FREE. Search and download functionalities are using the official Maven repository.

soot.4.3.0.source-code.virtualedges.xml Maven / Gradle / Ivy

There is a newer version: 4.6.0
Show newest version
<?xml version="1.0"?>
<virtualedges>
	<!-- Thread.start()  -->
	<edge type="THREAD">
		<source invoketype="instance" subsignature="void start()" />
		<targets>
			<direct subsignature="void run()" target-position="base"/>
		</targets>
	</edge>
	
	<!-- execute and post methods -->
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="void execute(java.lang.Runnable)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="boolean post(java.lang.Runnable)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="boolean postAtFrontOfQueue(java.lang.Runnable)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="boolean postAtTime(java.lang.Runnable,long)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="boolean postAtTime(java.lang.Runnable,java.lang.Object,long)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="boolean postDelayed(java.lang.Runnable,long)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	
	<!-- Android runOnUIThread -->
	<edge type="EXECUTOR">
		<source invoketype="instance" subsignature="void runOnUiThread(java.lang.Runnable)" />
		<targets>
			<direct subsignature="void run()" target-position="argument" index="0"/>
		</targets>
	</edge>
	
	<!-- Handlers -->
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendEmptyMessage(int)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendEmptyMessageAtTime(int,long)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendEmptyMessageDelayed(int,long)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean postAtTime(java.lang.Runnable,long)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendMessageAtFrontOfQueue(android.os.Message)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendMessageAtTime(android.os.Message,long)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge type="HANDLER">
		<source invoketype="instance" subsignature="boolean sendMessageDelayed(android.os.Message,long)" />
		<targets>
			<direct subsignature="void handleMessage(android.os.Message)" target-position="base"/>
		</targets>
	</edge>
	<edge>
		<source invoketype="instance" subsignature="void send(org.eclipse.jetty.client.api.Response$CompleteListener)" />
		<targets>
			<direct subsignature="void onComplete(org.eclipse.jetty.client.api.Result)" target-position="argument" index="0"/>
		</targets>
	</edge>
	<edge>
		<source invoketype="instance" subsignature="java.util.concurrent.Future execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.concurrent.FutureCallback)>($r2, $r3)" />
		<targets>
			<direct subsignature="void completed(org.apache.http.HttpResponse)" target-position="argument" index="1"/>
		</targets>
	</edge>
	
	
	<!-- Android AsyncTask -->
    <edge type="ASYNCTASK">
        <source invoketype="instance" subsignature="android.os.AsyncTask execute(java.lang.Object[])" />
        <targets>
            <direct subsignature="java.lang.Object doInBackground(java.lang.Object[])" target-position="base"/>
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="android.os.AsyncTask execute(java.lang.Object[])" />
        <targets>
            <direct subsignature="void onPreExecute()" target-position="base"/>
            <direct subsignature="void onProgressUpdate(java.lang.Object[])" target-position="base"/>
            <direct subsignature="void onPostExecute(java.lang.Object)" target-position="base"/>
        </targets>
    </edge>
	<!-- doPrivileged -->
	<edge type="PRIVILEGED">
		<source invoketype="static" signature="&lt;java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction)&gt;" />
		<targets>
			<direct subsignature="java.lang.Object run()" target-position="argument" index="0" />
		</targets>
	</edge>
	<edge type="PRIVILEGED">
		<source invoketype="static" signature="&lt;java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction)&gt;" />
		<targets>
			<direct subsignature="java.lang.Object run()" target-position="argument" index="0" />
		</targets>
	</edge>
	<edge type="PRIVILEGED">
		<source invoketype="static" signature="&lt;java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedAction,java.security.AccessControlContext)&gt;" />
		<targets>
			<direct subsignature="java.lang.Object run()" target-position="argument" index="0" />
		</targets>
	</edge>
	<edge type="PRIVILEGED">
		<source invoketype="static" signature="&lt;java.security.AccessController: java.lang.Object doPrivileged(java.security.PrivilegedExceptionAction,java.security.AccessControlContext)&gt;" />
		<targets>
			<direct subsignature="java.lang.Object run()" target-position="argument" index="0" />
		</targets>
	</edge>
	
	<!-- An example for a callback called through indirection. onResponse() will not be called if it is only passed to a request constructor, but when the Request is scheduled to a RequestQueue. -->
	
	<edge>
		<source invoketype="instance" subsignature="com.android.volley.Request add(com.android.volley.Request)" />
		<targets>
			<indirect target-position="argument" index="0" subsignature="void &lt;init&gt;(int,java.lang.String,com.android.volley.Response$ErrorListener)">
				<direct subsignature="void onErrorResponse(com.android.volley.VolleyError)" target-position="argument" index="2" />
			</indirect>
			<indirect target-position="argument" index="0" subsignature="void &lt;init&gt;(java.lang.String,com.android.volley.Response$ErrorListener)">
				<direct subsignature="void onErrorResponse(com.android.volley.VolleyError)" target-position="argument" index="2" />
			</indirect>
			<indirect target-position="argument" index="0" subsignature="void &lt;init&gt;(int,java.lang.String,com.android.volley.Response$Listener,com.android.volley.Response$ErrorListener)">
				<direct subsignature="void onResponse(java.lang.Object)" target-position="argument" index="2" />
				<direct subsignature="void onErrorResponse(com.android.volley.VolleyError)" target-position="argument" index="3" />
			</indirect>
			<indirect target-position="argument" index="0" subsignature="void &lt;init&gt;(java.lang.String,com.android.volley.Response$Listener,com.android.volley.Response$ErrorListener)">
				<direct subsignature="void onResponse(java.lang.Object)" target-position="argument" index="1" />
				<direct subsignature="void onErrorResponse(com.android.volley.VolleyError)" target-position="argument" index="2" />
			</indirect>
		</targets>
	</edge>
	
	<!-- callback summaries automatically detected from real-world applications. previously, soot failed to add any edges into these callback functions. -->
	
	<!-- java.io.Files list predicate -->
	<edge>
        <source invoketype="instance" subsignature="java.lang.String[] list(java.io.FilenameFilter)" />
        <targets>
            <direct subsignature="boolean accept(java.io.File,java.lang.String)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="java.io.File[] listFiles(java.io.FilenameFilter)" />
        <targets>
            <direct subsignature="boolean accept(java.io.File,java.lang.String)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="java.io.File[] listFiles(java.io.FileFilter)" />
        <targets>
            <direct subsignature="boolean accept(java.io.File)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Java reflection  -->
    <edge>
        <source invoketype="instance" subsignature="java.lang.Object newProxyInstance(java.lang.ClassLoader,java.lang.Class[],java.lang.reflect.InvocationHandler)" />
        <targets>
            <direct subsignature="java.lang.Object invoke(java.lang.Object,java.lang.reflect.Method,java.lang.Object[])" target-position="argument" index="2" />
        </targets>
    </edge>
    
    <!-- java.net.URLStreamHandler -->
    <edge>
        <source invoketype="instance" subsignature="void setURLStreamHandlerFactory(java.net.URLStreamHandlerFactory)" />
        <targets>
            <direct subsignature="java.net.URLStreamHandler createURLStreamHandler(java.lang.String)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Android Tasks API -->
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task addOnCompleteListener(com.google.android.gms.tasks.OnCompleteListener)" />
        <targets>
            <direct subsignature="void onComplete(com.google.android.gms.tasks.Task)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task addOnCompleteListener(android.app.Activity,com.google.android.gms.tasks.OnCompleteListener)" />
        <targets>
            <direct subsignature="void onComplete(com.google.android.gms.tasks.Task)" target-position="argument" index="1" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task addOnFailureListener(com.google.android.gms.tasks.OnFailureListener)" />
        <targets>
            <direct subsignature="void onFailure(java.lang.Exception)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task continueWithTask(java.util.concurrent.Executor,com.google.android.gms.tasks.Continuation)" />
        <targets>
            <direct subsignature="java.lang.Object then(com.google.android.gms.tasks.Task)" target-position="argument" index="1" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task call(java.util.concurrent.Executor,java.util.concurrent.Callable)" />
        <targets>
            <direct subsignature="java.lang.Object call()" target-position="argument" index="1" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.tasks.Task addOnCompleteListener(java.util.concurrent.Executor,com.google.android.gms.tasks.OnCompleteListener)" />
        <targets>
            <direct subsignature="void onComplete(com.google.android.gms.tasks.Task)" target-position="argument" index="1" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void setResultCallback(com.google.android.gms.common.api.ResultCallback,long,java.util.concurrent.TimeUnit)" />
        <targets>
            <direct subsignature="void onResult(com.google.android.gms.common.api.Result)" target-position="argument" index="0" />
        </targets>
    </edge>
   
    <!-- Android Misc. -->
    <edge>
        <source invoketype="instance" subsignature="void startConnection(com.android.installreferrer.api.InstallReferrerStateListener)" />
        <targets>
            <direct subsignature="void onInstallReferrerSetupFinished(int)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Kotlin Lazy Evaluation -->
    <edge>
        <source invoketype="instance" subsignature="kotlin.Lazy lazy(kotlin.jvm.functions.Function0)" />
        <targets>
            <direct subsignature="java.lang.Object invoke()" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Google Ads -->
    <edge>
        <source invoketype="instance" subsignature="com.google.android.gms.ads.AdLoader$Builder forUnifiedNativeAd(com.google.android.gms.ads.formats.UnifiedNativeAd$OnUnifiedNativeAdLoadedListener)" />
        <targets>
            <direct subsignature="void onUnifiedNativeAdLoaded(com.google.android.gms.ads.formats.UnifiedNativeAd)" target-position="argument" index="0" />
        </targets>
    </edge>
	<edge>
        <source invoketype="instance" subsignature="void requestConsentInfoUpdate(java.lang.String[],com.google.ads.consent.ConsentInfoUpdateListener)" />
        <targets>
            <direct subsignature="void onFailedToUpdateConsentInfo(java.lang.String)" target-position="argument" index="1" />
            <direct subsignature="void onConsentInfoUpdated(com.google.ads.consent.ConsentStatus)" target-position="argument" index="1" />
        </targets>
    </edge>
     <edge>
        <source invoketype="instance" subsignature="void openContainer(com.google.tagmanager.TagManager,java.lang.String,com.google.tagmanager.ContainerOpener$OpenType,java.lang.Long,com.google.tagmanager.ContainerOpener$Notifier)" />
        <targets>
            <direct subsignature="void containerAvailable(com.google.tagmanager.Container)" target-position="argument" index="4" />
        </targets>
    </edge>
    
	<!-- Android IAB -->
    <edge>
        <source invoketype="instance" subsignature="void startSetup(com.android.vending.billing.util.IabHelper$OnIabSetupFinishedListener)" />
        <targets>
            <direct subsignature="void onIabSetupFinished(com.android.vending.billing.util.IabResult)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void startConnection(com.android.billingclient.api.BillingClientStateListener)" />
        <targets>
            <direct subsignature="void onBillingSetupFinished(int)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Dagger -->
    <edge>
        <source invoketype="instance" subsignature="dagger.internal.Binding contributeProvidesBinding(java.lang.String,dagger.internal.ProvidesBinding)" />
        <targets>
            <direct subsignature="java.lang.Object get()" target-position="argument" index="1" />
        </targets>
    </edge>
    
     <!-- Apache Http -->
    <edge>
        <source invoketype="instance" subsignature="java.lang.Object execute(org.apache.http.HttpHost,org.apache.http.HttpRequest,org.apache.http.client.ResponseHandler)" />
        <targets>
            <direct subsignature="java.lang.Object handleResponse(org.apache.http.HttpResponse)" target-position="argument" index="2" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void addRequestInterceptor(org.apache.http.HttpRequestInterceptor)" />
        <targets>
            <direct subsignature="void process(org.apache.http.HttpRequest,org.apache.http.protocol.HttpContext)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void addResponseInterceptor(org.apache.http.HttpResponseInterceptor)" />
        <targets>
            <direct subsignature="void process(org.apache.http.HttpResponse,org.apache.http.protocol.HttpContext)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void setEntity(org.apache.http.HttpEntity)" />
        <targets>
            <direct subsignature="org.apache.http.Header getContentType()" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="java.lang.Object execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.client.ResponseHandler)" />
        <targets>
            <direct subsignature="java.lang.Object handleResponse(org.apache.http.HttpResponse)" target-position="argument" index="1" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="void setRedirectHandler(org.apache.http.client.RedirectHandler)" />
        <targets>
            <direct subsignature="boolean isRedirectRequested(org.apache.http.HttpResponse,org.apache.http.protocol.HttpContext)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="java.lang.Object execute(org.apache.http.client.methods.HttpUriRequest,org.apache.http.client.ResponseHandler)" />
        <targets>
            <direct subsignature="java.lang.Object handleResponse(org.apache.http.HttpResponse)" target-position="argument" index="1" />
        </targets>
    </edge>
    
    <!-- ReactiveX -->
    <edge>
        <source invoketype="instance" subsignature="io.reactivex.Observable filter(io.reactivex.functions.Predicate)" />
        <targets>
            <direct subsignature="boolean test(java.lang.Object)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="io.reactivex.disposables.Disposable subscribe(io.reactivex.functions.Consumer)" />
        <targets>
            <direct subsignature="void accept(java.lang.Object)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="io.reactivex.Single fromCallable(java.util.concurrent.Callable)" />
        <targets>
            <direct subsignature="java.lang.Object call()" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="io.reactivex.Single create(io.reactivex.SingleOnSubscribe)" />
        <targets>
            <direct subsignature="void subscribe(io.reactivex.SingleEmitter)" target-position="argument" index="0" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="io.reactivex.Maybe filter(io.reactivex.functions.Predicate)" />
        <targets>
            <direct subsignature="boolean test(java.lang.Object)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- OkHttp -->
    <edge>
        <source invoketype="instance" subsignature="okhttp3.OkHttpClient$Builder addInterceptor(okhttp3.Interceptor)" />
        <targets>
            <direct subsignature="okhttp3.Response intercept(okhttp3.Interceptor$Chain)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- actionbarsherlock -->
    <edge>
        <source invoketype="instance" subsignature="void setOnQueryTextListener(com.actionbarsherlock.widget.SearchView$OnQueryTextListener)" />
        <targets>
            <direct subsignature="boolean onQueryTextChange(java.lang.String)" target-position="argument" index="0" />
        </targets>
    </edge>

    <!-- GSON -->
    <edge>
        <source invoketype="instance" subsignature="com.google.gson.GsonBuilder registerTypeAdapterFactory(com.google.gson.TypeAdapterFactory)" />
        <targets>
            <direct subsignature="com.google.gson.TypeAdapter create(com.google.gson.Gson,com.google.gson.reflect.TypeToken)" target-position="argument" index="0" />
        </targets>
    </edge>
	<edge>
        <source invoketype="instance" subsignature="com.google.gson.GsonBuilder setFieldNamingStrategy(com.google.gson.FieldNamingStrategy)" />
        <targets>
            <direct subsignature="java.lang.String translateName(java.lang.reflect.Field)" target-position="argument" index="0" />
        </targets>
    </edge>
    
	<!-- React -->
    <edge>
        <source invoketype="instance" subsignature="void addUIBlock(com.facebook.react.uimanager.UIBlock)" />
        <targets>
            <direct subsignature="void execute(com.facebook.react.uimanager.NativeViewHierarchyManager)" target-position="argument" index="0" />
        </targets>
    </edge>
    
   	<!-- Google Inject -->
    <edge>
        <source invoketype="instance" subsignature="void register(com.google.inject.spi.InjectionListener)" />
        <targets>
            <direct subsignature="void afterInjection(java.lang.Object)" target-position="argument" index="0" />
        </targets>
    </edge>
    
    <!-- Bumptech Glide UI Framework -->
    <edge>
        <source invoketype="instance" subsignature="void register(java.lang.Class,java.lang.Class,com.bumptech.glide.load.model.ModelLoaderFactory)" />
        <targets>
            <direct subsignature="com.bumptech.glide.load.model.ModelLoader build(android.content.Context,com.bumptech.glide.load.model.GenericLoaderFactory)" target-position="argument" index="2" />
        </targets>
    </edge>
    <edge>
        <source invoketype="instance" subsignature="com.bumptech.glide.BitmapRequestBuilder listener(com.bumptech.glide.request.RequestListener)" />
        <targets>
            <direct subsignature="boolean onResourceReady(java.lang.Object,java.lang.Object,com.bumptech.glide.request.target.Target,boolean,boolean)" target-position="argument" index="0" />
        </targets>
    </edge>
</virtualedges>




© 2015 - 2024 Weber Informatics LLC | Privacy Policy