1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-02-03 03:30:06 +00:00

New class StringPool. Removed the class var::identifier from its parent class, and renamed it "Identifier" - I've left a typedef in var to allow old code to still work, but I'll remove this at some point, so please switch to using the new classname directly. Jucer development.

This commit is contained in:
Julian Storer 2010-05-15 13:22:26 +01:00
parent ed97872c1a
commit b46e94cffd
90 changed files with 2839 additions and 1733 deletions

View file

@ -30,6 +30,7 @@ BEGIN_JUCE_NAMESPACE
#include "juce_Variant.h"
#include "juce_DynamicObject.h"
//==============================================================================
var::var() throw()
: type (voidType)
@ -283,7 +284,7 @@ const var var::readFromStream (InputStream& input)
return var::null;
}
const var var::operator[] (const var::identifier& propertyName) const
const var var::operator[] (const Identifier& propertyName) const
{
if (type == objectType && value.objectValue != 0)
return value.objectValue->getProperty (propertyName);
@ -291,7 +292,7 @@ const var var::operator[] (const var::identifier& propertyName) const
return var::null;
}
const var var::invoke (const var::identifier& method, const var* arguments, int numArguments) const
const var var::invoke (const Identifier& method, const var* arguments, int numArguments) const
{
if (type == objectType && value.objectValue != 0)
return value.objectValue->invokeMethod (method, arguments, numArguments);
@ -312,68 +313,39 @@ const var var::invoke (const var& targetObject, const var* arguments, int numArg
return var::null;
}
const var var::call (const var::identifier& method) const
const var var::call (const Identifier& method) const
{
return invoke (method, 0, 0);
}
const var var::call (const var::identifier& method, const var& arg1) const
const var var::call (const Identifier& method, const var& arg1) const
{
return invoke (method, &arg1, 1);
}
const var var::call (const var::identifier& method, const var& arg1, const var& arg2) const
const var var::call (const Identifier& method, const var& arg1, const var& arg2) const
{
var args[] = { arg1, arg2 };
return invoke (method, args, 2);
}
const var var::call (const var::identifier& method, const var& arg1, const var& arg2, const var& arg3)
const var var::call (const Identifier& method, const var& arg1, const var& arg2, const var& arg3)
{
var args[] = { arg1, arg2, arg3 };
return invoke (method, args, 3);
}
const var var::call (const var::identifier& method, const var& arg1, const var& arg2, const var& arg3, const var& arg4) const
const var var::call (const Identifier& method, const var& arg1, const var& arg2, const var& arg3, const var& arg4) const
{
var args[] = { arg1, arg2, arg3, arg4 };
return invoke (method, args, 4);
}
const var var::call (const var::identifier& method, const var& arg1, const var& arg2, const var& arg3, const var& arg4, const var& arg5) const
const var var::call (const Identifier& method, const var& arg1, const var& arg2, const var& arg3, const var& arg4, const var& arg5) const
{
var args[] = { arg1, arg2, arg3, arg4, arg5 };
return invoke (method, args, 5);
}
//==============================================================================
var::identifier::identifier() throw()
: hashCode (0)
{
}
var::identifier::identifier (const String& name_)
: name (name_),
hashCode (name_.hashCode())
{
/* An identifier string must be suitable for use as a script variable or XML
attribute, so it can only contain this limited set of characters.. */
jassert (name.containsOnly ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_") && name.isNotEmpty());
}
var::identifier::identifier (const char* const name_)
: name (name_),
hashCode (name.hashCode())
{
/* An identifier string must be suitable for use as a script variable or XML
attribute, so it can only contain this limited set of characters.. */
jassert (name.containsOnly ("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_") && name.isNotEmpty());
}
var::identifier::~identifier()
{
}
END_JUCE_NAMESPACE