forked from qt-creator/qt-creator
QmlJS: Add a UrlValue.
This will allow distinguishing mere strings from urls and allow different completion. Reviewed-by: Erik Verbruggen
This commit is contained in:
@@ -61,6 +61,7 @@ class IntValue;
|
||||
class RealValue;
|
||||
class BooleanValue;
|
||||
class StringValue;
|
||||
class UrlValue;
|
||||
class ObjectValue;
|
||||
class FunctionValue;
|
||||
class Reference;
|
||||
@@ -115,6 +116,7 @@ public:
|
||||
virtual const RealValue *asRealValue() const;
|
||||
virtual const BooleanValue *asBooleanValue() const;
|
||||
virtual const StringValue *asStringValue() const;
|
||||
virtual const UrlValue *asUrlValue() const;
|
||||
virtual const ObjectValue *asObjectValue() const;
|
||||
virtual const FunctionValue *asFunctionValue() const;
|
||||
virtual const Reference *asReference() const;
|
||||
@@ -170,6 +172,12 @@ template <> Q_INLINE_TEMPLATE const StringValue *value_cast(const Value *v)
|
||||
else return 0;
|
||||
}
|
||||
|
||||
template <> Q_INLINE_TEMPLATE const UrlValue *value_cast(const Value *v)
|
||||
{
|
||||
if (v) return v->asUrlValue();
|
||||
else return 0;
|
||||
}
|
||||
|
||||
template <> Q_INLINE_TEMPLATE const ObjectValue *value_cast(const Value *v)
|
||||
{
|
||||
if (v) return v->asObjectValue();
|
||||
@@ -236,7 +244,6 @@ public:
|
||||
virtual const IntValue *asIntValue() const;
|
||||
};
|
||||
|
||||
|
||||
class QMLJS_EXPORT BooleanValue: public Value
|
||||
{
|
||||
public:
|
||||
@@ -251,6 +258,12 @@ public:
|
||||
virtual void accept(ValueVisitor *visitor) const;
|
||||
};
|
||||
|
||||
class QMLJS_EXPORT UrlValue: public StringValue
|
||||
{
|
||||
public:
|
||||
virtual const UrlValue *asUrlValue() const;
|
||||
};
|
||||
|
||||
class QMLJS_EXPORT MemberProcessor
|
||||
{
|
||||
MemberProcessor(const MemberProcessor &other);
|
||||
@@ -687,6 +700,7 @@ public:
|
||||
const IntValue *intValue() const;
|
||||
const BooleanValue *booleanValue() const;
|
||||
const StringValue *stringValue() const;
|
||||
const UrlValue *urlValue() const;
|
||||
const ColorValue *colorValue() const;
|
||||
const AnchorLineValue *anchorLineValue() const;
|
||||
|
||||
@@ -787,6 +801,7 @@ private:
|
||||
IntValue _intValue;
|
||||
BooleanValue _booleanValue;
|
||||
StringValue _stringValue;
|
||||
UrlValue _urlValue;
|
||||
ColorValue _colorValue;
|
||||
AnchorLineValue _anchorLineValue;
|
||||
QList<Value *> _registeredValues;
|
||||
|
||||
Reference in New Issue
Block a user