26#define JUCE_JS_OPERATORS(X) \
27 X(semicolon, ";") X(dot, ".") X(comma, ",") \
28 X(openParen, "(") X(closeParen, ")") X(openBrace, "{") X(closeBrace, "}") \
29 X(openBracket, "[") X(closeBracket, "]") X(colon, ":") X(question, "?") \
30 X(typeEquals, "===") X(equals, "==") X(assign, "=") \
31 X(typeNotEquals, "!==") X(notEquals, "!=") X(logicalNot, "!") \
32 X(plusEquals, "+=") X(plusplus, "++") X(plus, "+") \
33 X(minusEquals, "-=") X(minusminus, "--") X(minus, "-") \
34 X(timesEquals, "*=") X(times, "*") X(divideEquals, "/=") X(divide, "/") \
35 X(moduloEquals, "%=") X(modulo, "%") X(xorEquals, "^=") X(bitwiseXor, "^") \
36 X(andEquals, "&=") X(logicalAnd, "&&") X(bitwiseAnd, "&") \
37 X(orEquals, "|=") X(logicalOr, "||") X(bitwiseOr, "|") \
38 X(leftShiftEquals, "<<=") X(lessThanOrEqual, "<=") X(leftShift, "<<") X(lessThan, "<") \
39 X(rightShiftUnsigned, ">>>") X(rightShiftEquals, ">>=") X(rightShift, ">>") X(greaterThanOrEqual, ">=") X(greaterThan, ">")
41#define JUCE_JS_KEYWORDS(X) \
42 X(var, "var") X(if_, "if") X(else_, "else") X(do_, "do") X(null_, "null") \
43 X(while_, "while") X(for_, "for") X(break_, "break") X(continue_, "continue") X(undefined, "undefined") \
44 X(function, "function") X(return_, "return") X(true_, "true") X(false_, "false") X(new_, "new") \
49 #define JUCE_DECLARE_JS_TOKEN(name, str) static const char* const name = str;
94 && (((
a.isUndefined() ||
a.isVoid()) && (
b.isUndefined() ||
b.isVoid())) ||
a ==
b);
99 static bool isNumeric (
const var&
v)
noexcept {
return v.isInt() ||
v.isDouble() ||
v.isInt64() ||
v.isBool(); }
113 int col = 1, line = 1;
118 if (*
i ==
'\n') { col = 1; ++line; }
133 scope (std::move (scp)) {}
154 if (o->hasMethod (functionName))
175 if (
auto* cls =
root->getProperty (className).getDynamicObject())
194 if (target ==
nullptr || target ==
scope.get())
200 result = fo->invoke (*
this, args);
206 const auto& props =
scope->getProperties();
208 for (
int i = 0;
i < props.size(); ++
i)
209 if (
auto* o = props.getValueAt (
i).getDynamicObject())
222 if (target ==
nullptr || target ==
scope.get())
226 result = fo->invoke (*
this, args);
238 location.
throwError (
root->timeout ==
Time() ?
"Interrupted" :
"Execution timed-out");
267 using ExpPtr = std::unique_ptr<Expression>;
276 if (
auto r = statement->perform (
s, returnedValue))
323 auto r =
body->perform (
s, returnedValue);
385 s.root->setProperty (
name, newValue);
400 if (
child == lengthID)
402 if (
auto* array =
p.getArray())
return array->size();
403 if (
p.isString())
return p.toString().length();
406 if (
auto* o =
p.getDynamicObject())
415 if (
auto* o =
parent->getResult (
s).getDynamicObject())
416 o->setProperty (
child, newValue);
431 auto arrayVar =
object->getResult (
s);
434 if (
const auto* array = arrayVar.getArray())
435 if (
key.isInt() ||
key.isInt64() ||
key.isDouble())
436 return (*array) [
static_cast<int> (
key)];
438 if (
auto* o = arrayVar.getDynamicObject())
448 auto arrayVar =
object->getResult (
s);
451 if (
auto* array = arrayVar.getArray())
453 if (
key.isInt() ||
key.isInt64() ||
key.isDouble())
456 while (array->size() <
i)
459 array->set (
i, newValue);
464 if (
auto* o = arrayVar.getDynamicObject())
503 if ((
a.isUndefined() ||
a.isVoid()) && (
b.isUndefined() ||
b.isVoid()))
509 if (
a.isArray() ||
a.isObject())
596 var getWithDoubles (
double a,
double b)
const override {
return b != 0 ?
a /
b : std::numeric_limits<double>::infinity(); }
603 var getWithDoubles (
double a,
double b)
const override {
return b != 0 ? fmod (
a,
b) : std::numeric_limits<double>::infinity(); }
714 auto oldValue =
target->getResult (
s);
728 auto thisObject = dot->parent->getResult (
s);
742 argVars.
add (
a->getResult (
s));
747 return nativeFunction (args);
750 return fo->invoke (
s, args);
754 if (o->hasMethod (dot->child))
755 return o->invokeMethod (dot->child, args);
757 location.throwError (
"This expression is not a function!");
return {};
770 var classOrFunc =
object->getResult (
s);
783 return newObject.
get();
795 for (
int i = 0;
i <
names.size(); ++
i)
798 return newObject.
get();
814 a.add (
values.getUnchecked(
i)->getResult (
s));
818 return std::move (
a);
861 std::unique_ptr<Statement>
body;
893 String::CharPointerType
p;
905 auto len = (size_t) (
end -
p);
906 #define JUCE_JS_COMPARE_KEYWORD(name, str) if (len == sizeof (str) - 1 && matchToken (TokenTypes::name, len)) return TokenTypes::name;
910 return TokenTypes::identifier;
916 return TokenTypes::literal;
918 location.throwError (
"Syntax error in numeric constant");
922 return TokenTypes::literal;
924 #define JUCE_JS_COMPARE_OPERATOR(name, str) if (matchToken (TokenTypes::name, sizeof (str) - 1)) return TokenTypes::name;
930 return TokenTypes::eof;
936 p += (
int) len;
return true;
943 p.incrementToEndOfWhitespace();
955 if (
p.isEmpty())
location.throwError (
"Unterminated '/*' comment");
966 if (quoteType !=
'"' && quoteType !=
'\'')
970 if (
r.failed())
location.throwError (
r.getErrorMessage());
976 if (*
p !=
'0' || (
p[1] !=
'x' &&
p[1] !=
'X'))
return false;
980 if (
v < 0)
return false;
985 if (digit < 0)
break;
997 while (
t.isDigit()) { ++
t; ++numDigits; }
999 const bool hasPoint = (*
t ==
'.');
1002 while ((++
t).isDigit()) ++numDigits;
1008 const bool hasExponent = (
c ==
'e' ||
c ==
'E');
1013 if (
c ==
'+' ||
c ==
'-') ++
t;
1014 if (!
t.isDigit())
return false;
1015 while ((++
t).isDigit()) {}
1018 if (! (hasExponent || hasPoint))
return false;
1028 if (
v != 0)
return false;
1032 auto digit = (
int) (*++
t -
'0');
1048 auto digit = (
int) (*
p -
'0');
1075 match (TokenTypes::openParen);
1080 match (TokenTypes::identifier);
1084 match (TokenTypes::comma);
1087 match (TokenTypes::closeParen);
1105 return lhs.release();
1111 template <
typename OpType>
1121 match (TokenTypes::openBrace);
1123 match (TokenTypes::closeBrace);
1143 if (
matchesAny (TokenTypes::openParen, TokenTypes::openBracket))
1146 if (
matchesAny (TokenTypes::identifier, TokenTypes::literal, TokenTypes::minus))
1159 match (TokenTypes::openParen);
1161 match (TokenTypes::closeParen);
1169 if (
matchIf (TokenTypes::semicolon))
1173 matchIf (TokenTypes::semicolon);
1183 if (
matchIf (TokenTypes::comma))
1186 block->statements.add (std::move (
s));
1187 block->statements.add (
parseVar());
1188 return block.release();
1191 match (TokenTypes::semicolon);
1201 throwError (
"Functions defined at statement-level must have a name");
1210 match (TokenTypes::openParen);
1213 if (
matchIf (TokenTypes::semicolon))
1218 match (TokenTypes::semicolon);
1221 if (
matchIf (TokenTypes::closeParen))
1226 match (TokenTypes::closeParen);
1242 match (TokenTypes::while_);
1245 match (TokenTypes::openParen);
1247 match (TokenTypes::closeParen);
1261 match (TokenTypes::identifier);
1267 auto functionStart =
location.location;
1275 return var (fo.release());
1280 std::unique_ptr<FunctionCall>
s (call);
1282 match (TokenTypes::openParen);
1288 match (TokenTypes::comma);
1298 if (
matchIf (TokenTypes::dot))
1304 if (
matchIf (TokenTypes::openBracket))
1307 s->object.reset (input.release());
1309 match (TokenTypes::closeBracket);
1316 return input.release();
1334 if (
matchIf (TokenTypes::openBrace))
1342 ? TokenTypes::literal : TokenTypes::identifier);
1343 match (TokenTypes::colon);
1345 e->names.add (memberName);
1349 match (TokenTypes::comma);
1352 match (TokenTypes::closeBrace);
1356 if (
matchIf (TokenTypes::openBracket))
1365 match (TokenTypes::comma);
1368 match (TokenTypes::closeBracket);
1372 if (
matchIf (TokenTypes::function))
1378 throwError (
"Inline functions definitions cannot have a name");
1383 if (
matchIf (TokenTypes::new_))
1387 while (
matchIf (TokenTypes::dot))
1397 template <
typename OpType>
1405 template <
typename OpType>
1516 e->condition.reset (condition.release());
1518 match (TokenTypes::colon);
1527 static var get (
Args a,
int index)
noexcept {
return index <
a.numArguments ?
a.arguments[index] :
var(); }
1528 static bool isInt (
Args a,
int index)
noexcept {
return get (
a, index).isInt() ||
get (
a, index).isInt64(); }
1564 if (
auto* array =
a.thisObject.getArray())
1565 return array->contains (
get (
a, 0));
1572 if (
auto* array =
a.thisObject.getArray())
1573 array->removeAllInstancesOf (
get (
a, 0));
1582 if (
auto* array =
a.thisObject.getArray())
1583 for (
auto&
v : *array)
1584 strings.
add (
v.toString());
1591 if (
auto* array =
a.thisObject.getArray())
1593 for (
int i = 0;
i <
a.numArguments; ++
i)
1594 array->add (
a.arguments[
i]);
1596 return array->size();
1604 if (
auto* array =
a.thisObject.getArray())
1606 auto arraySize = array->size();
1611 else if (
start > arraySize)
1615 : arraySize -
start;
1620 for (
int i = 0;
i < num; ++
i)
1621 itemsRemoved.
add (array->getReference (
start +
i));
1623 array->removeRange (
start, num);
1625 for (
int i = 2;
i <
a.numArguments; ++
i)
1630 return std::move (itemsRemoved);
1639 if (
auto* array =
a.thisObject.getArray())
1641 auto target =
get (
a, 0);
1643 for (
int i = (
a.numArguments > 1 ?
getInt (
a, 1) : 0);
i < array->size(); ++
i)
1644 if (array->getReference(
i) == target)
1675 auto str =
a.thisObject.toString();
1679 if (sep.isNotEmpty())
1680 strings.
addTokens (str, sep.substring (0, 1), {});
1682 for (
auto pos = str.getCharPointer(); ! pos.isEmpty(); ++pos)
1687 for (
auto&
s : strings)
1730 static var Math_range (
Args a) {
return isInt (
a, 0) ?
var (
jlimit (
getInt (
a, 1),
getInt (
a, 2),
getInt (
a, 0))) :
var (
jlimit (
getDouble (
a, 1),
getDouble (
a, 2),
getDouble (
a, 0))); }
1760 template <
typename Type>
static Type
sign (Type
n)
noexcept {
return n > 0 ? (Type) 1 : (
n < 0 ? (Type) -1 : 0); }
1781 return s[0] ==
'0' ? (
s[1] ==
'x' ?
s.substring(2).getHexValue64() :
getOctalValue (
s))
1782 :
s.getLargeIntValue();
1795 if (
v.isVoid())
return "void";
1796 if (
v.isString())
return "string";
1799 if (
v.isObject())
return "object";
1806 if (
auto*
root =
dynamic_cast<RootObject*
> (
a.thisObject.getObject()))
1814 if (
auto*
root =
dynamic_cast<RootObject*
> (
a.thisObject.getObject()))
1914 return root->getProperties();
Type jmax(const Type a, const Type b)
Definition MathsFunctions.h:48
#define noexcept
Definition DistrhoDefines.h:72
static Audio_Scope * scope
Definition player.cpp:26
uint8_t a
Definition Spc_Cpu.h:141
static void message(int level, const char *fmt,...)
Definition adplugdb.cpp:120
static Result ok() noexcept
Definition Result.h:68
static Result fail(const std::string &errorMessage) noexcept
Definition Result.cpp:58
static String charToString(water_uchar character)
Definition String.cpp:311
Definition juce_Array.h:56
void ensureStorageAllocated(int minNumElements)
Definition juce_Array.h:1065
int size() const noexcept
Definition juce_Array.h:215
ElementType * begin() noexcept
Definition juce_Array.h:328
void add(const ElementType &newElement)
Definition juce_Array.h:418
Definition juce_BigInteger.h:39
Definition juce_CharPointer_ASCII.h:38
static bool isLetter(char character) noexcept
Definition juce_CharacterFunctions.cpp:79
static int getHexDigitValue(juce_wchar digit) noexcept
Definition juce_CharacterFunctions.cpp:112
static bool isLetterOrDigit(char character) noexcept
Definition juce_CharacterFunctions.cpp:90
static CharPointerType1 find(CharPointerType1 textToSearch, const CharPointerType2 substringToLookFor) noexcept
Definition juce_CharacterFunctions.h:708
static double getDoubleValue(CharPointerType text) noexcept
Definition juce_CharacterFunctions.h:457
Definition juce_DynamicObject.h:40
void setMethod(Identifier methodName, var::NativeFunction function)
Definition juce_DynamicObject.cpp:73
ReferenceCountedObjectPtr< DynamicObject > Ptr
Definition juce_DynamicObject.h:47
virtual void setProperty(const Identifier &propertyName, const var &newValue)
Definition juce_DynamicObject.cpp:50
DynamicObject()
Definition juce_DynamicObject.cpp:26
Definition juce_Identifier.h:39
const String & toString() const noexcept
Definition juce_Identifier.h:102
static String toString(const var &objectToFormat, bool allOnOneLine=false, int maximumDecimalPlaces=15)
Definition juce_JSON.cpp:503
static Result parseQuotedString(String::CharPointerType &text, var &result)
Definition juce_JSON.cpp:522
void prepareTimeout() const noexcept
Definition juce_Javascript.cpp:1834
void stop() noexcept
Definition juce_Javascript.cpp:1835
const NamedValueSet & getRootObjectProperties() const noexcept
Definition juce_Javascript.cpp:1912
Result execute(const String &javascriptCode)
Definition juce_Javascript.cpp:1842
var callFunction(const Identifier &function, const var::NativeFunctionArgs &args, Result *errorMessage=nullptr)
Definition juce_Javascript.cpp:1873
const ReferenceCountedObjectPtr< RootObject > root
Definition juce_Javascript.h:116
var evaluate(const String &javascriptCode, Result *errorMessage=nullptr)
Definition juce_Javascript.cpp:1857
void registerNativeObject(const Identifier &objectName, DynamicObject *object)
Definition juce_Javascript.cpp:1837
var callFunctionObject(DynamicObject *objectScope, const var &functionObject, const var::NativeFunctionArgs &args, Result *errorMessage=nullptr)
Definition juce_Javascript.cpp:1891
JavascriptEngine()
Definition juce_Javascript.cpp:1822
RelativeTime maximumExecutionTime
Definition juce_Javascript.h:106
~JavascriptEngine()
Definition juce_Javascript.cpp:1832
static void JUCE_CALLTYPE outputDebugString(const String &text)
Definition juce_linux_SystemStats.cpp:46
Definition juce_NamedValueSet.h:35
Definition juce_OutputStream.h:38
Definition juce_OwnedArray.h:51
static Random & getSystemRandom() noexcept
Definition juce_Random.cpp:67
Definition juce_Range.h:40
Definition juce_ReferenceCountedObject.h:247
ReferencedType * get() const noexcept
Definition juce_ReferenceCountedObject.h:381
Definition juce_Result.h:57
Definition juce_StringArray.h:35
String joinIntoString(StringRef separatorString, int startIndex=0, int numberOfElements=-1) const
Definition juce_StringArray.cpp:289
void add(String stringToAdd)
Definition juce_StringArray.cpp:136
int addTokens(StringRef stringToTokenise, bool preserveQuotedStrings)
Definition juce_StringArray.cpp:329
Definition juce_String.h:53
static String charToString(juce_wchar character)
Definition juce_String.cpp:359
Definition juce_Time.h:37
static Time JUCE_CALLTYPE getCurrentTime() noexcept
Definition juce_Time.cpp:233
Definition juce_Variant.h:42
static var undefined() noexcept
Definition juce_Variant.cpp:550
DynamicObject * getDynamicObject() const noexcept
Definition juce_Variant.cpp:575
bool isString() const noexcept
Definition juce_Variant.cpp:559
std::function< var(const NativeFunctionArgs &)> NativeFunction
Definition juce_Variant.h:57
void append(const var &valueToAppend)
Definition juce_Variant.cpp:803
bool isArray() const noexcept
Definition juce_Variant.cpp:561
* e
Definition inflate.c:1404
int * l
Definition inflate.c:1579
unsigned * m
Definition inflate.c:1559
struct huft * t
Definition inflate.c:943
unsigned v[N_MAX]
Definition inflate.c:1584
register unsigned i
Definition inflate.c:1575
unsigned s
Definition inflate.c:1555
unsigned f
Definition inflate.c:1572
static void c2(register WDL_FFT_COMPLEX *a)
Definition fft.c:270
INT_PTR INT_PTR rt
Definition glue_arm.h:222
static PuglViewHint int value
Definition pugl.h:1708
static const char * name
Definition pugl.h:1582
static uintptr_t parent
Definition pugl.h:1644
virtual ASIOError start()=0
#define JUCE_BEGIN_IGNORE_WARNINGS_GCC_LIKE(...)
Definition juce_CompilerWarnings.h:181
#define JUCE_END_IGNORE_WARNINGS_GCC_LIKE
Definition juce_CompilerWarnings.h:182
#define JUCE_BEGIN_IGNORE_WARNINGS_MSVC(warnings)
Definition juce_CompilerWarnings.h:198
#define JUCE_END_IGNORE_WARNINGS_MSVC
Definition juce_CompilerWarnings.h:199
#define JUCE_JS_COMPARE_KEYWORD(name, str)
#define JUCE_JS_OPERATORS(X)
Definition juce_Javascript.cpp:26
#define JUCE_JS_KEYWORDS(X)
Definition juce_Javascript.cpp:41
#define JUCE_JS_COMPARE_OPERATOR(name, str)
#define JUCE_DECLARE_JS_TOKEN(name, str)
Definition juce_Javascript.cpp:49
float out
Definition lilv_test.c:1461
Definition juce_Javascript.cpp:48
Definition carla_juce.cpp:31
constexpr Type jmin(Type a, Type b)
Definition juce_MathsFunctions.h:106
unsigned int uint32
Definition juce_MathsFunctions.h:45
constexpr Type jmax(Type a, Type b)
Definition juce_MathsFunctions.h:94
RangedDirectoryIterator end(const RangedDirectoryIterator &)
Definition juce_RangedDirectoryIterator.h:184
Type jlimit(Type lowerLimit, Type upperLimit, Type valueToConstrain) noexcept
Definition juce_MathsFunctions.h:262
long long int64
Definition juce_MathsFunctions.h:54
constexpr NumericType square(NumericType n) noexcept
Definition juce_MathsFunctions.h:580
jack_client_t client jack_client_t client jack_client_t client jack_client_t JackInfoShutdownCallback function
Definition juce_linux_JackAudio.cpp:63
wchar_t juce_wchar
Definition juce_CharacterFunctions.h:42
void ignoreUnused(Types &&...) noexcept
Definition juce_MathsFunctions.h:333
constexpr FloatType radiansToDegrees(FloatType radians) noexcept
Definition juce_MathsFunctions.h:413
bool isPositiveAndBelow(Type1 valueToTest, Type2 upperLimit) noexcept
Definition juce_MathsFunctions.h:279
constexpr FloatType degreesToRadians(FloatType degrees) noexcept
Definition juce_MathsFunctions.h:409
int roundToInt(const FloatType value) noexcept
Definition juce_MathsFunctions.h:465
Definition juce_Javascript.cpp:572
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:576
AdditionOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:573
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:574
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:575
Definition juce_Javascript.cpp:1549
static var splice(Args a)
Definition juce_Javascript.cpp:1602
static var push(Args a)
Definition juce_Javascript.cpp:1589
static var indexOf(Args a)
Definition juce_Javascript.cpp:1637
static var remove(Args a)
Definition juce_Javascript.cpp:1570
static Identifier getClassName()
Definition juce_Javascript.cpp:1560
static var join(Args a)
Definition juce_Javascript.cpp:1578
static var contains(Args a)
Definition juce_Javascript.cpp:1562
ArrayClass()
Definition juce_Javascript.cpp:1550
Definition juce_Javascript.cpp:806
OwnedArray< Expression > values
Definition juce_Javascript.cpp:822
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:809
ArrayDeclaration(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:807
Definition juce_Javascript.cpp:426
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:429
ExpPtr object
Definition juce_Javascript.cpp:476
void assign(const Scope &s, const var &newValue) const override
Definition juce_Javascript.cpp:446
ExpPtr index
Definition juce_Javascript.cpp:476
ArraySubscript(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:427
Definition juce_Javascript.cpp:678
ExpPtr target
Definition juce_Javascript.cpp:688
Assignment(const CodeLocation &l, ExpPtr &dest, ExpPtr &source) noexcept
Definition juce_Javascript.cpp:679
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:681
ExpPtr newValue
Definition juce_Javascript.cpp:688
BinaryOperatorBase(const CodeLocation &l, ExpPtr &a, ExpPtr &b, TokenType op) noexcept
Definition juce_Javascript.cpp:481
ExpPtr rhs
Definition juce_Javascript.cpp:484
ExpPtr lhs
Definition juce_Javascript.cpp:484
TokenType operation
Definition juce_Javascript.cpp:485
virtual var getWithInts(int64, int64) const
Definition juce_Javascript.cpp:495
virtual var getWithStrings(const String &, const String &) const
Definition juce_Javascript.cpp:497
virtual var getWithDoubles(double, double) const
Definition juce_Javascript.cpp:494
BinaryOperator(const CodeLocation &l, ExpPtr &a, ExpPtr &b, TokenType op) noexcept
Definition juce_Javascript.cpp:490
virtual var getWithUndefinedArg() const
Definition juce_Javascript.cpp:493
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:499
var throwError(const char *typeName) const
Definition juce_Javascript.cpp:515
virtual var getWithArrayOrObject(const var &a, const var &) const
Definition juce_Javascript.cpp:496
Definition juce_Javascript.cpp:614
BitwiseAndOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:615
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:616
Definition juce_Javascript.cpp:608
BitwiseOrOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:609
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:610
Definition juce_Javascript.cpp:620
BitwiseXorOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:621
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:622
Definition juce_Javascript.cpp:270
ResultCode perform(const Scope &s, var *returnedValue) const override
Definition juce_Javascript.cpp:273
OwnedArray< Statement > statements
Definition juce_Javascript.cpp:282
BlockStatement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:271
Definition juce_Javascript.cpp:356
ResultCode perform(const Scope &, var *) const override
Definition juce_Javascript.cpp:358
BreakStatement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:357
Definition juce_Javascript.cpp:107
String::CharPointerType location
Definition juce_Javascript.cpp:125
String program
Definition juce_Javascript.cpp:124
void throwError(const String &message) const
Definition juce_Javascript.cpp:111
CodeLocation(const CodeLocation &other) noexcept
Definition juce_Javascript.cpp:109
CodeLocation(const String &code) noexcept
Definition juce_Javascript.cpp:108
Definition juce_Javascript.cpp:668
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:671
void assign(const Scope &s, const var &v) const override
Definition juce_Javascript.cpp:672
ConditionalOp(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:669
ExpPtr condition
Definition juce_Javascript.cpp:674
ExpPtr falseBranch
Definition juce_Javascript.cpp:674
ExpPtr trueBranch
Definition juce_Javascript.cpp:674
Definition juce_Javascript.cpp:362
ContinueStatement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:363
ResultCode perform(const Scope &, var *) const override
Definition juce_Javascript.cpp:364
Definition juce_Javascript.cpp:594
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:597
DivideOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:595
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:596
Definition juce_Javascript.cpp:392
ExpPtr parent
Definition juce_Javascript.cpp:421
Identifier child
Definition juce_Javascript.cpp:422
DotOperator(const CodeLocation &l, ExpPtr &p, const Identifier &c) noexcept
Definition juce_Javascript.cpp:393
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:395
void assign(const Scope &s, const var &newValue) const override
Definition juce_Javascript.cpp:413
Definition juce_Javascript.cpp:520
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:523
EqualsOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:521
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:524
var getWithUndefinedArg() const override
Definition juce_Javascript.cpp:522
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:525
var getWithArrayOrObject(const var &a, const var &b) const override
Definition juce_Javascript.cpp:526
Definition juce_Javascript.cpp:258
virtual var getResult(const Scope &) const
Definition juce_Javascript.cpp:261
ResultCode perform(const Scope &s, var *) const override
Definition juce_Javascript.cpp:264
Expression(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:259
virtual void assign(const Scope &, const var &) const
Definition juce_Javascript.cpp:262
Definition juce_Javascript.cpp:1060
Expression * parseLogicOperator()
Definition juce_Javascript.cpp:1496
Expression * parseTernaryOperator(ExpPtr &condition)
Definition juce_Javascript.cpp:1513
Expression * parseShiftOperator()
Definition juce_Javascript.cpp:1461
Expression * parseUnary()
Definition juce_Javascript.cpp:1421
void throwError(const String &err) const
Definition juce_Javascript.cpp:1109
Expression * matchCloseParen(Expression *ex)
Definition juce_Javascript.cpp:1154
Identifier parseIdentifier()
Definition juce_Javascript.cpp:1255
Expression * parsePreIncDec()
Definition juce_Javascript.cpp:1398
Expression * matchEndOfStatement(Expression *ex)
Definition juce_Javascript.cpp:1153
Expression * parseInPlaceOpExpression(ExpPtr &lhs)
Definition juce_Javascript.cpp:1112
Expression * parseFunctionCall(FunctionCall *call, ExpPtr &function)
Definition juce_Javascript.cpp:1278
BlockStatement * parseBlock()
Definition juce_Javascript.cpp:1119
Expression * parseTypeof()
Definition juce_Javascript.cpp:1413
void parseFunctionParamsAndBody(FunctionObject &fo)
Definition juce_Javascript.cpp:1073
BlockStatement * parseStatementList()
Definition juce_Javascript.cpp:1063
Statement * parseFunction()
Definition juce_Javascript.cpp:1195
Expression * parseMultiplyDivide()
Definition juce_Javascript.cpp:1432
Expression * parseFactor()
Definition juce_Javascript.cpp:1319
Expression * parseSuffixes(Expression *e)
Definition juce_Javascript.cpp:1294
Statement * parseForLoop()
Definition juce_Javascript.cpp:1207
Expression * parseComparator()
Definition juce_Javascript.cpp:1476
Expression * parseAdditionSubtraction()
Definition juce_Javascript.cpp:1447
Statement * parseIf()
Definition juce_Javascript.cpp:1156
Statement * parseDoOrWhileLoop(bool isDoLoop)
Definition juce_Javascript.cpp:1233
Expression * parsePostIncDec(ExpPtr &lhs)
Definition juce_Javascript.cpp:1406
Expression * parseExpression()
Definition juce_Javascript.cpp:1091
var parseFunctionDefinition(Identifier &functionName)
Definition juce_Javascript.cpp:1265
Statement * parseStatement()
Definition juce_Javascript.cpp:1127
ExpressionTreeBuilder(const String code)
Definition juce_Javascript.cpp:1061
Statement * parseVar()
Definition juce_Javascript.cpp:1177
Statement * parseReturn()
Definition juce_Javascript.cpp:1167
Definition juce_Javascript.cpp:721
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:724
OwnedArray< Expression > arguments
Definition juce_Javascript.cpp:761
FunctionCall(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:722
var invokeFunction(const Scope &s, const var &function, const var &thisObject) const
Definition juce_Javascript.cpp:736
ExpPtr object
Definition juce_Javascript.cpp:760
Definition juce_Javascript.cpp:827
Array< Identifier > parameters
Definition juce_Javascript.cpp:860
void writeAsJSON(OutputStream &out, int, bool, int) override
Definition juce_Javascript.cpp:838
var invoke(const Scope &s, const var::NativeFunctionArgs &args) const
Definition juce_Javascript.cpp:843
FunctionObject(const FunctionObject &other)
Definition juce_Javascript.cpp:830
DynamicObject::Ptr clone() override
Definition juce_Javascript.cpp:836
std::unique_ptr< Statement > body
Definition juce_Javascript.cpp:861
FunctionObject() noexcept
Definition juce_Javascript.cpp:828
String functionCode
Definition juce_Javascript.cpp:859
Definition juce_Javascript.cpp:556
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:560
GreaterThanOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:557
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:558
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:559
Definition juce_Javascript.cpp:564
GreaterThanOrEqualOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:565
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:568
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:567
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:566
Definition juce_Javascript.cpp:286
ExpPtr condition
Definition juce_Javascript.cpp:294
IfStatement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:287
std::unique_ptr< Statement > trueBranch
Definition juce_Javascript.cpp:295
std::unique_ptr< Statement > falseBranch
Definition juce_Javascript.cpp:295
ResultCode perform(const Scope &s, var *returnedValue) const override
Definition juce_Javascript.cpp:289
Definition juce_Javascript.cpp:1773
IntegerClass()
Definition juce_Javascript.cpp:1774
static var parseInt(Args a)
Definition juce_Javascript.cpp:1777
static Identifier getClassName()
Definition juce_Javascript.cpp:1775
Definition juce_Javascript.cpp:1765
JSONClass()
Definition juce_Javascript.cpp:1766
static Identifier getClassName()
Definition juce_Javascript.cpp:1767
static var stringify(Args a)
Definition juce_Javascript.cpp:1768
Definition juce_Javascript.cpp:626
LeftShiftOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:627
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:628
Definition juce_Javascript.cpp:540
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:544
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:543
LessThanOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:541
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:542
Definition juce_Javascript.cpp:548
LessThanOrEqualOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:549
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:550
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:551
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:552
Definition juce_Javascript.cpp:368
LiteralValue(const CodeLocation &l, const var &v) noexcept
Definition juce_Javascript.cpp:369
var getResult(const Scope &) const override
Definition juce_Javascript.cpp:370
var value
Definition juce_Javascript.cpp:371
Definition juce_Javascript.cpp:644
LogicalAndOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:645
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:646
Definition juce_Javascript.cpp:650
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:652
LogicalOrOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:651
Definition juce_Javascript.cpp:313
std::unique_ptr< Statement > body
Definition juce_Javascript.cpp:337
std::unique_ptr< Statement > initialiser
Definition juce_Javascript.cpp:337
ExpPtr condition
Definition juce_Javascript.cpp:338
bool isDoLoop
Definition juce_Javascript.cpp:339
ResultCode perform(const Scope &s, var *returnedValue) const override
Definition juce_Javascript.cpp:316
std::unique_ptr< Statement > iterator
Definition juce_Javascript.cpp:337
LoopStatement(const CodeLocation &l, bool isDo) noexcept
Definition juce_Javascript.cpp:314
Definition juce_Javascript.cpp:1696
static Identifier getClassName()
Definition juce_Javascript.cpp:1759
static var Math_cosh(Args a)
Definition juce_Javascript.cpp:1740
static var Math_atanh(Args a)
Definition juce_Javascript.cpp:1757
static var Math_sqr(Args a)
Definition juce_Javascript.cpp:1748
static var Math_asinh(Args a)
Definition juce_Javascript.cpp:1755
static var Math_range(Args a)
Definition juce_Javascript.cpp:1730
static var Math_max(Args a)
Definition juce_Javascript.cpp:1732
static var Math_cos(Args a)
Definition juce_Javascript.cpp:1737
static var Math_asin(Args a)
Definition juce_Javascript.cpp:1736
static var Math_acos(Args a)
Definition juce_Javascript.cpp:1738
static var Math_round(Args a)
Definition juce_Javascript.cpp:1728
static var Math_tan(Args a)
Definition juce_Javascript.cpp:1741
static var Math_sqrt(Args a)
Definition juce_Javascript.cpp:1749
static var Math_floor(Args a)
Definition juce_Javascript.cpp:1751
static var Math_log10(Args a)
Definition juce_Javascript.cpp:1745
static var Math_acosh(Args a)
Definition juce_Javascript.cpp:1756
static var Math_min(Args a)
Definition juce_Javascript.cpp:1731
static var Math_exp(Args a)
Definition juce_Javascript.cpp:1746
static Type sign(Type n) noexcept
Definition juce_Javascript.cpp:1760
static var Math_sign(Args a)
Definition juce_Javascript.cpp:1729
MathClass()
Definition juce_Javascript.cpp:1697
static var Math_pow(Args a)
Definition juce_Javascript.cpp:1747
static var Math_randInt(Args a)
Definition juce_Javascript.cpp:1726
static var Math_ceil(Args a)
Definition juce_Javascript.cpp:1750
static var Math_abs(Args a)
Definition juce_Javascript.cpp:1727
static var Math_atan(Args a)
Definition juce_Javascript.cpp:1743
static var Math_toDegrees(Args a)
Definition juce_Javascript.cpp:1733
static var Math_random(Args)
Definition juce_Javascript.cpp:1725
static var Math_tanh(Args a)
Definition juce_Javascript.cpp:1742
static var Math_sinh(Args a)
Definition juce_Javascript.cpp:1739
static var Math_toRadians(Args a)
Definition juce_Javascript.cpp:1734
static var Math_sin(Args a)
Definition juce_Javascript.cpp:1735
static var Math_log(Args a)
Definition juce_Javascript.cpp:1744
Definition juce_Javascript.cpp:601
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:604
ModuloOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:602
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:603
Definition juce_Javascript.cpp:587
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:589
MultiplyOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:588
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:590
Definition juce_Javascript.cpp:765
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:768
NewOperator(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:766
Definition juce_Javascript.cpp:530
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:533
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:534
var getWithUndefinedArg() const override
Definition juce_Javascript.cpp:532
var getWithArrayOrObject(const var &a, const var &b) const override
Definition juce_Javascript.cpp:536
NotEqualsOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:531
var getWithStrings(const String &a, const String &b) const override
Definition juce_Javascript.cpp:535
Definition juce_Javascript.cpp:1535
static var dump(Args a)
Definition juce_Javascript.cpp:1543
static Identifier getClassName()
Definition juce_Javascript.cpp:1542
ObjectClass()
Definition juce_Javascript.cpp:1536
static var cloneFn(Args a)
Definition juce_Javascript.cpp:1544
Definition juce_Javascript.cpp:788
Array< Identifier > names
Definition juce_Javascript.cpp:801
OwnedArray< Expression > initialisers
Definition juce_Javascript.cpp:802
ObjectDeclaration(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:789
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:791
Definition juce_Javascript.cpp:709
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:712
PostAssignment(const CodeLocation &l, Expression *dest, Expression *source) noexcept
Definition juce_Javascript.cpp:710
Definition juce_Javascript.cpp:343
ExpPtr returnValue
Definition juce_Javascript.cpp:352
ReturnStatement(const CodeLocation &l, Expression *v) noexcept
Definition juce_Javascript.cpp:344
ResultCode perform(const Scope &s, var *ret) const override
Definition juce_Javascript.cpp:346
Definition juce_Javascript.cpp:632
RightShiftOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:633
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:634
Definition juce_Javascript.cpp:638
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:640
RightShiftUnsignedOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:639
Definition juce_Javascript.cpp:130
var findSymbolInParentScopes(const Identifier &name) const
Definition juce_Javascript.cpp:181
ReferenceCountedObjectPtr< RootObject > root
Definition juce_Javascript.cpp:136
var * findRootClassProperty(const Identifier &className, const Identifier &propName) const
Definition juce_Javascript.cpp:173
void checkTimeOut(const CodeLocation &location) const
Definition juce_Javascript.cpp:235
bool findAndInvokeMethod(const Identifier &function, const var::NativeFunctionArgs &args, var &result) const
Definition juce_Javascript.cpp:190
const Scope *const parent
Definition juce_Javascript.cpp:135
DynamicObject::Ptr scope
Definition juce_Javascript.cpp:137
var findFunctionCall(const CodeLocation &location, const var &targetObject, const Identifier &functionName) const
Definition juce_Javascript.cpp:139
Scope(const Scope *p, ReferenceCountedObjectPtr< RootObject > rt, DynamicObject::Ptr scp) noexcept
Definition juce_Javascript.cpp:131
bool invokeMethod(const var &m, const var::NativeFunctionArgs &args, var &result) const
Definition juce_Javascript.cpp:216
Definition juce_Javascript.cpp:692
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:696
Expression * target
Definition juce_Javascript.cpp:703
SelfAssignment(const CodeLocation &l, Expression *dest, Expression *source) noexcept
Definition juce_Javascript.cpp:693
ExpPtr newValue
Definition juce_Javascript.cpp:704
TokenType op
Definition juce_Javascript.cpp:705
Definition juce_Javascript.cpp:246
Statement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:247
virtual ResultCode perform(const Scope &, var *) const
Definition juce_Javascript.cpp:251
ResultCode
Definition juce_Javascript.cpp:250
@ breakWasHit
Definition juce_Javascript.cpp:250
@ ok
Definition juce_Javascript.cpp:250
@ returnWasHit
Definition juce_Javascript.cpp:250
@ continueWasHit
Definition juce_Javascript.cpp:250
virtual ~Statement()
Definition juce_Javascript.cpp:248
CodeLocation location
Definition juce_Javascript.cpp:253
Definition juce_Javascript.cpp:1654
static var charCodeAt(Args a)
Definition juce_Javascript.cpp:1670
static var split(Args a)
Definition juce_Javascript.cpp:1673
StringClass()
Definition juce_Javascript.cpp:1655
static var fromCharCode(Args a)
Definition juce_Javascript.cpp:1667
static var substring(Args a)
Definition juce_Javascript.cpp:1668
static var indexOf(Args a)
Definition juce_Javascript.cpp:1669
static var charAt(Args a)
Definition juce_Javascript.cpp:1671
static Identifier getClassName()
Definition juce_Javascript.cpp:1665
Definition juce_Javascript.cpp:580
SubtractionOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:581
var getWithInts(int64 a, int64 b) const override
Definition juce_Javascript.cpp:583
var getWithDoubles(double a, double b) const override
Definition juce_Javascript.cpp:582
bool matchesAny(TokenType t1, TokenType t2) const
Definition juce_Javascript.cpp:885
TokenType currentType
Definition juce_Javascript.cpp:889
bool matchToken(TokenType name, size_t len) noexcept
Definition juce_Javascript.cpp:933
static bool isIdentifierBody(juce_wchar c) noexcept
Definition juce_Javascript.cpp:896
String::CharPointerType p
Definition juce_Javascript.cpp:893
static bool isIdentifierStart(juce_wchar c) noexcept
Definition juce_Javascript.cpp:895
void skip()
Definition juce_Javascript.cpp:869
bool parseStringLiteral(juce_wchar quoteType)
Definition juce_Javascript.cpp:964
var currentValue
Definition juce_Javascript.cpp:890
bool parseOctalLiteral()
Definition juce_Javascript.cpp:1024
void match(TokenType expected)
Definition juce_Javascript.cpp:876
void skipWhitespaceAndComments()
Definition juce_Javascript.cpp:939
bool matchesAny(TokenType t1, TokenType t2, TokenType t3) const
Definition juce_Javascript.cpp:886
TokenIterator(const String &code)
Definition juce_Javascript.cpp:867
TokenType matchNextToken()
Definition juce_Javascript.cpp:898
bool matchIf(TokenType expected)
Definition juce_Javascript.cpp:884
bool parseFloatLiteral()
Definition juce_Javascript.cpp:993
bool parseHexLiteral()
Definition juce_Javascript.cpp:974
bool parseDecimalLiteral()
Definition juce_Javascript.cpp:1042
CodeLocation location
Definition juce_Javascript.cpp:888
Definition juce_Javascript.cpp:656
TypeEqualsOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:657
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:658
Definition juce_Javascript.cpp:662
TypeNotEqualsOp(const CodeLocation &l, ExpPtr &a, ExpPtr &b) noexcept
Definition juce_Javascript.cpp:663
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:664
Definition juce_Javascript.cpp:375
var getResult(const Scope &s) const override
Definition juce_Javascript.cpp:378
void assign(const Scope &s, const var &newValue) const override
Definition juce_Javascript.cpp:380
Identifier name
Definition juce_Javascript.cpp:388
UnqualifiedName(const CodeLocation &l, const Identifier &n) noexcept
Definition juce_Javascript.cpp:376
Definition juce_Javascript.cpp:299
VarStatement(const CodeLocation &l) noexcept
Definition juce_Javascript.cpp:300
ExpPtr initialiser
Definition juce_Javascript.cpp:309
Identifier name
Definition juce_Javascript.cpp:308
ResultCode perform(const Scope &s, var *) const override
Definition juce_Javascript.cpp:302
Definition juce_Javascript.cpp:61
const char * TokenType
Definition juce_Javascript.cpp:76
static int getInt(Args a, int index) noexcept
Definition juce_Javascript.cpp:1529
static bool isNumeric(const var &v) noexcept
Definition juce_Javascript.cpp:99
static bool isNumericOrUndefined(const var &v) noexcept
Definition juce_Javascript.cpp:100
Time timeout
Definition juce_Javascript.cpp:73
static double getDouble(Args a, int index) noexcept
Definition juce_Javascript.cpp:1530
static var parseFloat(Args a)
Definition juce_Javascript.cpp:1789
static bool isFunction(const var &v) noexcept
Definition juce_Javascript.cpp:98
var evaluate(const String &code)
Definition juce_Javascript.cpp:84
static bool areTypeEqual(const var &a, const var &b)
Definition juce_Javascript.cpp:91
static Identifier getPrototypeIdentifier()
Definition juce_Javascript.cpp:102
void execute(const String &code)
Definition juce_Javascript.cpp:78
static int64 getOctalValue(const String &s)
Definition juce_Javascript.cpp:101
static var exec(Args a)
Definition juce_Javascript.cpp:1804
static String getTokenName(TokenType t)
Definition juce_Javascript.cpp:97
static var charToInt(Args a)
Definition juce_Javascript.cpp:1788
static var get(Args a, int index) noexcept
Definition juce_Javascript.cpp:1527
static var eval(Args a)
Definition juce_Javascript.cpp:1812
static bool isInt(Args a, int index) noexcept
Definition juce_Javascript.cpp:1528
static var trace(Args a)
Definition juce_Javascript.cpp:1787
std::unique_ptr< Expression > ExpPtr
Definition juce_Javascript.cpp:267
static String getString(Args a, int index) noexcept
Definition juce_Javascript.cpp:1531
RootObject()
Definition juce_Javascript.cpp:62
const var::NativeFunctionArgs & Args
Definition juce_Javascript.cpp:75
static var * getPropertyPointer(DynamicObject &o, const Identifier &i) noexcept
Definition juce_Javascript.cpp:103
static var typeof_internal(Args a)
Definition juce_Javascript.cpp:1791
static constexpr FloatType sqrt2
Definition juce_MathsFunctions.h:394
static constexpr FloatType pi
Definition juce_MathsFunctions.h:382
static constexpr FloatType euler
Definition juce_MathsFunctions.h:391
Definition juce_Variant.h:49
int numArguments
Definition juce_Variant.h:54
const var & thisObject
Definition juce_Variant.h:52
const var * arguments
Definition juce_Variant.h:53
const char const char const char const char char * fn
Definition swell-functions.h:168
int n
Definition crypt.c:458
uch * p
Definition crypt.c:594
return c
Definition crypt.c:175
ZCONST char * key
Definition crypt.c:587
int r
Definition crypt.c:458
int match(string, pattern, ignore_case __WDL) ZCONST char *string
int result
Definition process.c:1455
typedef int(UZ_EXP MsgFn)()
#define const
Definition zconf.h:137