From: Jay Freeman (saurik) Date: Sat, 9 Jan 2016 04:37:54 +0000 (-0800) Subject: Allow the size of array typedefs to be a variable. X-Git-Tag: v0.9.590~23 X-Git-Url: https://git.saurik.com/cycript.git/commitdiff_plain/1d00044a33c8852a4675b91b8dc6b4ccfec1e8b3 Allow the size of array typedefs to be a variable. --- diff --git a/Parser.ypp.in b/Parser.ypp.in index 547d93e..6e889fa 100644 --- a/Parser.ypp.in +++ b/Parser.ypp.in @@ -2045,7 +2045,7 @@ ParameterTail ; SuffixedType - : SuffixedTypeOpt[typed] "[" NumericLiteral[size] "]" { $$ = $typed; $$->modifier_ = CYNew CYTypeArrayOf($size, $$->modifier_); } + : SuffixedTypeOpt[typed] "[" AssignmentExpression[size] "]" { $$ = $typed; $$->modifier_ = CYNew CYTypeArrayOf($size, $$->modifier_); } | "(" "^" TypeQualifierRightOpt[typed] ")" "(" TypedParameters[parameters] ")" { $$ = $typed; $$->modifier_ = CYNew CYTypeBlockWith($parameters, $$->modifier_); } | TypeSignifier[typed] "(" ParameterTail[modifier] { $$ = $typed; CYSetLast($modifier) = $$->modifier_; $$->modifier_ = $modifier; } | "("[parenthesis] ParameterTail[modifier] { $$ = CYNew CYTypedName(@parenthesis); CYSetLast($modifier) = $$->modifier_; $$->modifier_ = $modifier; }