diff --git a/com.ibm.wala.core/src/com/ibm/wala/classLoader/Language.java b/com.ibm.wala.core/src/com/ibm/wala/classLoader/Language.java index 144684852..4d2e19f3a 100644 --- a/com.ibm.wala.core/src/com/ibm/wala/classLoader/Language.java +++ b/com.ibm.wala.core/src/com/ibm/wala/classLoader/Language.java @@ -1,20 +1,25 @@ package com.ibm.wala.classLoader; +import java.util.Set; + import com.ibm.wala.types.ClassLoaderReference; import com.ibm.wala.types.TypeReference; import com.ibm.wala.util.Atom; public interface Language { - public static Language JAVA = new Language() { + public static Language JAVA = new LanguageImpl() { + @Override public Atom getName() { return ClassLoaderReference.Java; } + @Override public TypeReference getRootType() { return TypeReference.JavaLangObject; } + @Override public TypeReference getConstantType(Object o) { if (o instanceof String) { return TypeReference.JavaLangString; @@ -23,6 +28,7 @@ public interface Language { } } + @Override public boolean isNullType(TypeReference type) { return false; } @@ -30,6 +36,12 @@ public interface Language { Atom getName(); + Language getBaseLanguage(); + + void registerDerivedLanguage(Language l); + + Set getDerivedLanguages(); + TypeReference getRootType(); TypeReference getConstantType(Object o);