Make all ExternalValueBase functions const
This commit is contained in:
		
							parent
							
								
									320659b0cd
								
							
						
					
					
						commit
						608110804c
					
				
					 4 changed files with 15 additions and 15 deletions
				
			
		|  | @ -1616,20 +1616,20 @@ size_t valueSize(Value & v) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| string ExternalValueBase::coerceToString(const Pos & pos, PathSet & context, bool copyMore, bool copyToStore) | string ExternalValueBase::coerceToString(const Pos & pos, PathSet & context, bool copyMore, bool copyToStore) const | ||||||
| { | { | ||||||
|     throw TypeError(format("cannot coerce %1% to a string, at %2%") % |     throw TypeError(format("cannot coerce %1% to a string, at %2%") % | ||||||
|         showType() % pos); |         showType() % pos); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| bool ExternalValueBase::operator==(const ExternalValueBase & b) | bool ExternalValueBase::operator==(const ExternalValueBase & b) const | ||||||
| { | { | ||||||
|     return false; |     return false; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| std::ostream & operator << (std::ostream & str, ExternalValueBase & v) { | std::ostream & operator << (std::ostream & str, const ExternalValueBase & v) { | ||||||
|     return v.print(str); |     return v.print(str); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -91,7 +91,7 @@ void printValueAsJSON(EvalState & state, bool strict, | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| void ExternalValueBase::printValueAsJSON(EvalState & state, bool strict, | void ExternalValueBase::printValueAsJSON(EvalState & state, bool strict, | ||||||
|       std::ostream & str, PathSet & context) |       std::ostream & str, PathSet & context) const | ||||||
| { | { | ||||||
|     throw TypeError(format("cannot convert %1% to JSON") % showType()); |     throw TypeError(format("cannot convert %1% to JSON") % showType()); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -155,7 +155,7 @@ static void printValueAsXML(EvalState & state, bool strict, bool location, | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| void ExternalValueBase::printValueAsXML(EvalState & state, bool strict, | void ExternalValueBase::printValueAsXML(EvalState & state, bool strict, | ||||||
|     bool location, XMLWriter & doc, PathSet & context, PathSet & drvsSeen) |     bool location, XMLWriter & doc, PathSet & context, PathSet & drvsSeen) const | ||||||
| { | { | ||||||
|     doc.writeEmptyElement("unevaluated"); |     doc.writeEmptyElement("unevaluated"); | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -42,45 +42,45 @@ typedef long NixInt; | ||||||
|  */ |  */ | ||||||
| class ExternalValueBase | class ExternalValueBase | ||||||
| { | { | ||||||
|     friend std::ostream & operator << (std::ostream & str, ExternalValueBase & v); |     friend std::ostream & operator << (std::ostream & str, const ExternalValueBase & v); | ||||||
|     protected: |     protected: | ||||||
|     /* Print out the value */ |     /* Print out the value */ | ||||||
|     virtual std::ostream & print(std::ostream & str) = 0; |     virtual std::ostream & print(std::ostream & str) const = 0; | ||||||
| 
 | 
 | ||||||
|     public: |     public: | ||||||
|     /* Return a simple string describing the type */ |     /* Return a simple string describing the type */ | ||||||
|     virtual string showType() = 0; |     virtual string showType() const = 0; | ||||||
| 
 | 
 | ||||||
|     /* Return a string to be used in builtins.typeOf */ |     /* Return a string to be used in builtins.typeOf */ | ||||||
|     virtual string typeOf() = 0; |     virtual string typeOf() const = 0; | ||||||
| 
 | 
 | ||||||
|     /* How much space does this value take up */ |     /* How much space does this value take up */ | ||||||
|     virtual size_t valueSize(std::set<const void *> & seen) = 0; |     virtual size_t valueSize(std::set<const void *> & seen) const = 0; | ||||||
| 
 | 
 | ||||||
|     /* Coerce the value to a string. Defaults to uncoercable, i.e. throws an
 |     /* Coerce the value to a string. Defaults to uncoercable, i.e. throws an
 | ||||||
|      * error |      * error | ||||||
|      */ |      */ | ||||||
|     virtual string coerceToString(const Pos & pos, PathSet & context, bool copyMore, bool copyToStore); |     virtual string coerceToString(const Pos & pos, PathSet & context, bool copyMore, bool copyToStore) const; | ||||||
| 
 | 
 | ||||||
|     /* Compare to another value of the same type. Defaults to uncomparable,
 |     /* Compare to another value of the same type. Defaults to uncomparable,
 | ||||||
|      * i.e. always false. |      * i.e. always false. | ||||||
|      */ |      */ | ||||||
|     virtual bool operator==(const ExternalValueBase & b); |     virtual bool operator==(const ExternalValueBase & b) const; | ||||||
| 
 | 
 | ||||||
|     /* Print the value as JSON. Defaults to unconvertable, i.e. throws an error */ |     /* Print the value as JSON. Defaults to unconvertable, i.e. throws an error */ | ||||||
|     virtual void printValueAsJSON(EvalState & state, bool strict, |     virtual void printValueAsJSON(EvalState & state, bool strict, | ||||||
|         std::ostream & str, PathSet & context); |         std::ostream & str, PathSet & context) const; | ||||||
| 
 | 
 | ||||||
|     /* Print the value as XML. Defaults to unevaluated */ |     /* Print the value as XML. Defaults to unevaluated */ | ||||||
|     virtual void printValueAsXML(EvalState & state, bool strict, bool location, |     virtual void printValueAsXML(EvalState & state, bool strict, bool location, | ||||||
|         XMLWriter & doc, PathSet & context, PathSet & drvsSeen); |         XMLWriter & doc, PathSet & context, PathSet & drvsSeen) const; | ||||||
| 
 | 
 | ||||||
|     virtual ~ExternalValueBase() |     virtual ~ExternalValueBase() | ||||||
|     { |     { | ||||||
|     }; |     }; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| std::ostream & operator << (std::ostream & str, ExternalValueBase & v); | std::ostream & operator << (std::ostream & str, const ExternalValueBase & v); | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| struct Value | struct Value | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue