Collapse boolean/double/enum properties into just integer.

This commit is contained in:
Peter Johnson
2016-09-20 22:17:12 -07:00
parent 8fbc23b1fa
commit d5e5755ff4
13 changed files with 123 additions and 357 deletions

View File

@@ -78,30 +78,24 @@ class SourceImpl {
void Wakeup();
// Property functions
virtual int GetProperty(llvm::StringRef name) const = 0;
virtual int GetPropertyIndex(llvm::StringRef name) const = 0;
virtual llvm::ArrayRef<int> EnumerateProperties(
llvm::SmallVectorImpl<int>& vec) const = 0;
virtual CS_PropertyType GetPropertyType(int property) const = 0;
virtual llvm::StringRef GetPropertyName(int property,
llvm::SmallVectorImpl<char>& buf,
CS_Status* status) const = 0;
virtual bool GetBooleanProperty(int property, CS_Status* status) const = 0;
virtual void SetBooleanProperty(int property, bool value,
CS_Status* status) = 0;
virtual double GetDoubleProperty(int property, CS_Status* status) const = 0;
virtual void SetDoubleProperty(int property, double value,
CS_Status* status) = 0;
virtual double GetPropertyMin(int property, CS_Status* status) const = 0;
virtual double GetPropertyMax(int property, CS_Status* status) const = 0;
virtual double GetPropertyStep(int property, CS_Status* status) const = 0;
virtual double GetPropertyDefault(int property, CS_Status* status) const = 0;
virtual int GetProperty(int property, CS_Status* status) const = 0;
virtual void SetProperty(int property, int value, CS_Status* status) = 0;
virtual int GetPropertyMin(int property, CS_Status* status) const = 0;
virtual int GetPropertyMax(int property, CS_Status* status) const = 0;
virtual int GetPropertyStep(int property, CS_Status* status) const = 0;
virtual int GetPropertyDefault(int property, CS_Status* status) const = 0;
virtual llvm::StringRef GetStringProperty(int property,
llvm::SmallVectorImpl<char>& buf,
CS_Status* status) const = 0;
virtual void SetStringProperty(int property, llvm::StringRef value,
CS_Status* status) = 0;
virtual int GetEnumProperty(int property, CS_Status* status) const = 0;
virtual void SetEnumProperty(int property, int value, CS_Status* status) = 0;
virtual std::vector<std::string> GetEnumPropertyChoices(
int property, CS_Status* status) const = 0;