com.ibm.wala.cast.js.ipa.modref.JavaScriptModRef Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of com.ibm.wala.cast.js Show documentation
Show all versions of com.ibm.wala.cast.js Show documentation
T. J. Watson Libraries for Analysis
/*
* Copyright (c) 2002 - 2014 IBM Corporation.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*/
package com.ibm.wala.cast.js.ipa.modref;
import com.ibm.wala.cast.ipa.callgraph.AstHeapModel;
import com.ibm.wala.cast.ipa.modref.AstModRef;
import com.ibm.wala.cast.js.ssa.JSInstructionVisitor;
import com.ibm.wala.cast.js.ssa.JavaScriptCheckReference;
import com.ibm.wala.cast.js.ssa.JavaScriptInstanceOf;
import com.ibm.wala.cast.js.ssa.JavaScriptInvoke;
import com.ibm.wala.cast.js.ssa.JavaScriptTypeOfInstruction;
import com.ibm.wala.cast.js.ssa.JavaScriptWithRegion;
import com.ibm.wala.cast.js.ssa.PrototypeLookup;
import com.ibm.wala.cast.js.ssa.SetPrototype;
import com.ibm.wala.ipa.callgraph.CGNode;
import com.ibm.wala.ipa.callgraph.propagation.InstanceKey;
import com.ibm.wala.ipa.callgraph.propagation.PointerAnalysis;
import com.ibm.wala.ipa.callgraph.propagation.PointerKey;
import com.ibm.wala.ipa.modref.ExtendedHeapModel;
import java.util.Collection;
public class JavaScriptModRef extends AstModRef {
public static class JavaScriptRefVisitor extends AstRefVisitor
implements JSInstructionVisitor {
public JavaScriptRefVisitor(
CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h) {
super(n, result, pa, (AstHeapModel) h);
}
@Override
public void visitJavaScriptInvoke(JavaScriptInvoke instruction) {
// do nothing
}
@Override
public void visitTypeOf(JavaScriptTypeOfInstruction instruction) {
// do nothing
}
@Override
public void visitJavaScriptInstanceOf(JavaScriptInstanceOf instruction) {
// do nothing
}
@Override
public void visitWithRegion(JavaScriptWithRegion instruction) {
// do nothing
}
@Override
public void visitCheckRef(JavaScriptCheckReference instruction) {
// do nothing
}
@Override
public void visitSetPrototype(SetPrototype instruction) {
// do nothing
}
@Override
public void visitPrototypeLookup(PrototypeLookup instruction) {
// TODO Auto-generated method stub
}
}
@Override
protected RefVisitor makeRefVisitor(
CGNode n, Collection result, PointerAnalysis pa, ExtendedHeapModel h) {
return new JavaScriptRefVisitor<>(n, result, pa, h);
}
public static class JavaScriptModVisitor extends AstModVisitor
implements JSInstructionVisitor {
public JavaScriptModVisitor(
CGNode n, Collection result, ExtendedHeapModel h, PointerAnalysis pa) {
super(n, result, (AstHeapModel) h, pa);
}
@Override
public void visitJavaScriptInvoke(JavaScriptInvoke instruction) {
// do nothing
}
@Override
public void visitTypeOf(JavaScriptTypeOfInstruction instruction) {
// do nothing
}
@Override
public void visitJavaScriptInstanceOf(JavaScriptInstanceOf instruction) {
// do nothing
}
@Override
public void visitWithRegion(JavaScriptWithRegion instruction) {
// do nothing
}
@Override
public void visitCheckRef(JavaScriptCheckReference instruction) {
// do nothing
}
@Override
public void visitSetPrototype(SetPrototype instruction) {
// TODO Auto-generated method stub
}
@Override
public void visitPrototypeLookup(PrototypeLookup instruction) {
// do nothing
}
}
@Override
protected ModVisitor makeModVisitor(
CGNode n,
Collection result,
PointerAnalysis pa,
ExtendedHeapModel h,
boolean ignoreAllocHeapDefs) {
return new JavaScriptModVisitor<>(n, result, h, pa);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy