package sharpen.core.framework; import org.eclipse.jdt.core.dom.IMethodBinding; import org.eclipse.jdt.core.dom.ITypeBinding; import org.eclipse.jdt.core.dom.IVariableBinding; import sharpen.core.csharp.ast.CSTypeReferenceExpression; public interface IBindingManager { ITypeBinding getObjectType(); ITypeBinding getClassType(); ITypeBinding getStringType(); ITypeBinding getCharType(); ITypeBinding getByteType(); ITypeBinding getIntType(); ITypeBinding getLongType(); ITypeBinding getFloatType(); ITypeBinding getSerializableType(); ITypeInfo getTypeInfo(ITypeBinding binding); interface ITypeInfo { boolean isEventInterface(); } IMethodInfo getMethodInfo(IMethodBinding binding); IMethodBinding getBaseMethod(IMethodBinding binding); interface IMethodInfo { } IVariableInfo getVariableInfo(IVariableBinding binding); interface IVariableInfo { String rename(); CSTypeReferenceExpression autoCast(); } IExtractedEnumInfo getExtractedEnumInfo(ITypeBinding binding); interface IExtractedEnumInfo { String valueField(); } }