2007-06-01 03:26:18 +00:00
|
|
|
package com.ibm.wala.classLoader;
|
|
|
|
|
2009-04-10 18:33:07 +00:00
|
|
|
import java.util.Collection;
|
2007-12-06 14:31:45 +00:00
|
|
|
import java.util.Set;
|
|
|
|
|
2009-04-10 18:33:07 +00:00
|
|
|
import com.ibm.wala.ipa.cha.IClassHierarchy;
|
|
|
|
import com.ibm.wala.shrikeCT.InvalidClassFileException;
|
|
|
|
import com.ibm.wala.ssa.SSAInstructionFactory;
|
|
|
|
import com.ibm.wala.types.MethodReference;
|
2009-03-26 15:11:45 +00:00
|
|
|
import com.ibm.wala.types.TypeName;
|
2007-06-01 18:50:24 +00:00
|
|
|
import com.ibm.wala.types.TypeReference;
|
2008-01-24 22:05:28 +00:00
|
|
|
import com.ibm.wala.util.strings.Atom;
|
2007-06-01 03:26:18 +00:00
|
|
|
|
|
|
|
public interface Language {
|
|
|
|
|
2009-04-10 18:33:07 +00:00
|
|
|
public static JavaLanguage JAVA = new JavaLanguage();
|
2007-06-01 03:26:18 +00:00
|
|
|
|
2007-06-01 18:50:24 +00:00
|
|
|
Atom getName();
|
2007-06-01 03:26:18 +00:00
|
|
|
|
2007-12-06 14:31:45 +00:00
|
|
|
Language getBaseLanguage();
|
|
|
|
|
|
|
|
void registerDerivedLanguage(Language l);
|
|
|
|
|
|
|
|
Set<Language> getDerivedLanguages();
|
|
|
|
|
2007-06-01 18:50:24 +00:00
|
|
|
TypeReference getRootType();
|
2007-06-01 03:26:18 +00:00
|
|
|
|
2008-06-30 14:07:35 +00:00
|
|
|
TypeReference getThrowableType();
|
|
|
|
|
2007-06-01 18:50:24 +00:00
|
|
|
TypeReference getConstantType(Object o);
|
2007-06-01 03:26:18 +00:00
|
|
|
|
2007-06-28 14:27:38 +00:00
|
|
|
boolean isNullType(TypeReference type);
|
|
|
|
|
2009-04-10 18:33:07 +00:00
|
|
|
boolean isIntType(TypeReference type);
|
|
|
|
|
|
|
|
boolean isLongType(TypeReference type);
|
|
|
|
|
|
|
|
boolean isFloatType(TypeReference type);
|
|
|
|
|
|
|
|
boolean isDoubleType(TypeReference type);
|
|
|
|
|
|
|
|
boolean isStringType(TypeReference type);
|
|
|
|
|
|
|
|
boolean isMetadataType(TypeReference type);
|
|
|
|
|
|
|
|
Object getMetadataToken(Object value);
|
|
|
|
|
2009-02-19 15:58:31 +00:00
|
|
|
TypeReference[] getArrayInterfaces();
|
|
|
|
|
2009-03-26 15:11:45 +00:00
|
|
|
TypeName lookupPrimitiveType(String name);
|
|
|
|
|
2009-04-10 18:33:07 +00:00
|
|
|
SSAInstructionFactory instructionFactory();
|
|
|
|
|
|
|
|
Collection<TypeReference> inferInvokeExceptions(MethodReference target, IClassHierarchy cha) throws InvalidClassFileException;
|
2007-06-28 14:27:38 +00:00
|
|
|
}
|