Represent names using string rather than array of parts

In most circumstances we are interested in the whole string, not
the parts split by namespace separator. As names are common, this
representation measurably improves memory usage and performance.
This commit is contained in:
Nikita Popov
2023-05-21 21:14:50 +02:00
parent df3a7057ab
commit 23647573e8
86 changed files with 423 additions and 1198 deletions

View File

@@ -220,9 +220,7 @@ array(
key: null
value: Expr_FuncCall(
name: Name(
parts: array(
0: getArr
)
name: getArr
)
args: array(
)
@@ -240,9 +238,7 @@ array(
key: null
value: Expr_FuncCall(
name: Name(
parts: array(
0: arrGen
)
name: arrGen
)
args: array(
)
@@ -260,9 +256,7 @@ array(
key: null
value: Expr_New(
class: Name(
parts: array(
0: ArrayIterator
)
name: ArrayIterator
)
args: array(
0: Arg(
@@ -329,9 +323,7 @@ array(
key: null
value: Expr_FuncCall(
name: Name(
parts: array(
0: getArr
)
name: getArr
)
args: array(
)
@@ -383,9 +375,7 @@ array(
key: null
value: Expr_FuncCall(
name: Name(
parts: array(
0: arrGen
)
name: arrGen
)
args: array(
)

View File

@@ -12,9 +12,7 @@ array(
)
expr: Expr_New(
class: Name(
parts: array(
0: B
)
name: B
)
args: array(
)
@@ -36,9 +34,7 @@ array(
)
expr: Expr_New(
class: Name(
parts: array(
0: B
)
name: B
)
args: array(
)

View File

@@ -190,10 +190,7 @@ array(
)
)
returnType: Name_FullyQualified(
parts: array(
0: Foo
1: Bar
)
name: Foo\Bar
)
stmts: array(
)

View File

@@ -110,9 +110,7 @@ array(
name: a
)
class: Name(
parts: array(
0: B
)
name: B
)
)
)

View File

@@ -682,9 +682,7 @@ array(
value: Expr_BooleanNot(
expr: Expr_ConstFetch(
name: Name(
parts: array(
0: false
)
name: false
)
)
)

View File

@@ -8,15 +8,11 @@ array(
0: Stmt_Expression(
expr: Expr_ClassConstFetch(
class: Name(
parts: array(
0: Foo
)
name: Foo
)
name: Expr_FuncCall(
name: Name(
parts: array(
0: bar
)
name: bar
)
args: array(
)
@@ -30,9 +26,7 @@ array(
)
name: Expr_FuncCall(
name: Name(
parts: array(
0: bar
)
name: bar
)
args: array(
)

View File

@@ -12,9 +12,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: f
)
name: f
)
args: array(
)
@@ -23,9 +21,7 @@ array(
1: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: f
)
name: f
)
args: array(
0: Arg(
@@ -42,9 +38,7 @@ array(
2: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: f
)
name: f
)
args: array(
0: Arg(
@@ -69,9 +63,7 @@ array(
3: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: f
)
name: f
)
args: array(
0: Arg(
@@ -88,9 +80,7 @@ array(
4: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: f
)
name: f
)
args: array(
0: Arg(

View File

@@ -12,18 +12,14 @@ array(
0: Stmt_Expression(
expr: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
)
1: Stmt_Expression(
expr: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -33,9 +29,7 @@ array(
2: Stmt_Expression(
expr: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: class

View File

@@ -210,9 +210,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: FOO
)
name: FOO
)
)
dim: Scalar_Int(
@@ -224,9 +222,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: Foo
)
name: Foo
)
name: Identifier(
name: BAR

View File

@@ -19,9 +19,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: a
)
name: a
comments: array(
0: // function name variations
)
@@ -131,9 +129,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_FuncCall(
name: Name(
parts: array(
0: a
)
name: a
comments: array(
0: // array dereferencing
)

View File

@@ -8,9 +8,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
name: foo
)
args: array(
0: Arg(
@@ -39,9 +37,7 @@ array(
1: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: bar
)
name: bar
)
args: array(
0: Arg(

View File

@@ -12,9 +12,7 @@ array(
expr: Expr_PropertyFetch(
var: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)
@@ -28,9 +26,7 @@ array(
expr: Expr_MethodCall(
var: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)
@@ -46,9 +42,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)
@@ -63,9 +57,7 @@ array(
var: Expr_ArrayDimFetch(
var: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)

View File

@@ -22,9 +22,7 @@ array(
0: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: A
)
name: A
comments: array(
0: // method name variations
)
@@ -45,9 +43,7 @@ array(
1: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: A
)
name: A
)
name: Scalar_String(
value: b
@@ -59,9 +55,7 @@ array(
2: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: A
)
name: A
)
name: Expr_Variable(
name: b
@@ -75,9 +69,7 @@ array(
name: Expr_ArrayDimFetch(
var: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: b
@@ -97,9 +89,7 @@ array(
var: Expr_ArrayDimFetch(
var: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: b
@@ -121,9 +111,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_StaticCall(
class: Name(
parts: array(
0: A
)
name: A
comments: array(
0: // array dereferencing
)
@@ -151,9 +139,7 @@ array(
6: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: static
)
name: static
comments: array(
0: // class name variations
)

View File

@@ -17,9 +17,7 @@ array(
0: Stmt_Expression(
expr: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
comments: array(
0: // property name variations
)
@@ -38,9 +36,7 @@ array(
1: Stmt_Expression(
expr: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Expr_Variable(
name: b
@@ -50,9 +46,7 @@ array(
2: Stmt_Expression(
expr: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Scalar_String(
value: b
@@ -63,9 +57,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
comments: array(
0: // array access
)
@@ -92,9 +84,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: b

View File

@@ -16,9 +16,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
name: foo
)
args: array(
0: VariadicPlaceholder(
@@ -43,9 +41,7 @@ array(
2: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: foo
@@ -59,9 +55,7 @@ array(
3: Stmt_Expression(
expr: Expr_New(
class: Name(
parts: array(
0: Foo
)
name: Foo
)
args: array(
0: VariadicPlaceholder(
@@ -95,9 +89,7 @@ array(
attrs: array(
0: Attribute(
name: Name(
parts: array(
0: Foo
)
name: Foo
)
args: array(
0: VariadicPlaceholder(

View File

@@ -44,9 +44,7 @@ array(
expr: Expr_Empty(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
name: foo
)
args: array(
)

View File

@@ -14,55 +14,41 @@ private\protected\public\static\abstract\final();
array(
0: Stmt_Namespace(
name: Name(
parts: array(
0: fn
)
name: fn
)
stmts: array(
)
)
1: Stmt_Namespace(
name: Name(
parts: array(
0: fn
1: use
)
name: fn\use
)
stmts: array(
)
)
2: Stmt_Namespace(
name: Name(
parts: array(
0: self
)
name: self
)
stmts: array(
)
)
3: Stmt_Namespace(
name: Name(
parts: array(
0: parent
)
name: parent
)
stmts: array(
)
)
4: Stmt_Namespace(
name: Name(
parts: array(
0: static
)
name: static
)
stmts: array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: fn
1: use
)
name: fn\use
)
args: array(
)
@@ -71,10 +57,7 @@ array(
1: Stmt_Expression(
expr: Expr_FuncCall(
name: Name_FullyQualified(
parts: array(
0: fn
1: use
)
name: fn\use
)
args: array(
)
@@ -83,10 +66,7 @@ array(
2: Stmt_Expression(
expr: Expr_FuncCall(
name: Name_Relative(
parts: array(
0: fn
1: use
)
name: fn\use
)
args: array(
)
@@ -95,14 +75,7 @@ array(
3: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: private
1: protected
2: public
3: static
4: abstract
5: final
)
name: private\protected\public\static\abstract\final
)
args: array(
)

View File

@@ -105,9 +105,7 @@ array(
conds: array(
0: Expr_ClassConstFetch(
class: Name(
parts: array(
0: BinaryOperator
)
name: BinaryOperator
)
name: Identifier(
name: ADD

View File

@@ -22,9 +22,7 @@ array(
0: Stmt_Expression(
expr: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)
@@ -33,9 +31,7 @@ array(
1: Stmt_Expression(
expr: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
0: Arg(
@@ -82,9 +78,7 @@ array(
expr: Expr_New(
class: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: b
@@ -174,9 +168,7 @@ array(
9: Stmt_Expression(
expr: Expr_New(
class: Name(
parts: array(
0: A
)
name: A
)
args: array(
)

View File

@@ -8,9 +8,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: test
)
name: test
)
args: array(
0: Arg(
@@ -34,9 +32,7 @@ array(
right: Expr_Throw(
expr: Expr_New(
class: Name(
parts: array(
0: Exception
)
name: Exception
)
args: array(
)

View File

@@ -13,9 +13,7 @@ array(
0: Stmt_Expression(
expr: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
name: foo
)
args: array(
0: Arg(
@@ -68,9 +66,7 @@ array(
2: Stmt_Expression(
expr: Expr_StaticCall(
class: Name(
parts: array(
0: Foo
)
name: Foo
)
name: Identifier(
name: bar
@@ -98,9 +94,7 @@ array(
3: Stmt_Expression(
expr: Expr_New(
class: Name(
parts: array(
0: Foo
)
name: Foo
)
args: array(
0: Arg(

View File

@@ -26,9 +26,7 @@ array(
expr: Expr_PropertyFetch(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
name: Identifier(
@@ -40,9 +38,7 @@ array(
expr: Expr_MethodCall(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
name: Identifier(
@@ -56,9 +52,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
dim: Scalar_Int(
@@ -72,9 +66,7 @@ array(
var: Expr_ArrayDimFetch(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
dim: Scalar_Int(
@@ -94,9 +86,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: A
)
name: A
)
)
dim: Scalar_Int(
@@ -108,9 +98,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -127,9 +115,7 @@ array(
var: Expr_ArrayDimFetch(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -152,9 +138,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -169,9 +153,7 @@ array(
expr: Expr_PropertyFetch(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -186,9 +168,7 @@ array(
expr: Expr_MethodCall(
var: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -205,9 +185,7 @@ array(
expr: Expr_ClassConstFetch(
class: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -222,9 +200,7 @@ array(
expr: Expr_StaticPropertyFetch(
class: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -239,9 +215,7 @@ array(
expr: Expr_StaticCall(
class: Expr_ClassConstFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Identifier(
name: B
@@ -276,9 +250,7 @@ array(
expr: Expr_MethodCall(
var: Expr_ConstFetch(
name: Name(
parts: array(
0: __FUNCIONT__
)
name: __FUNCIONT__
)
)
name: Identifier(

View File

@@ -17,9 +17,7 @@ array(
1: Stmt_Expression(
expr: Expr_ConstFetch(
name: Name(
parts: array(
0: bar
)
name: bar
)
)
)

View File

@@ -20,9 +20,7 @@ array(
expr: Expr_FuncCall(
name: Expr_FuncCall(
name: Name(
parts: array(
0: id
)
name: id
)
args: array(
0: Arg(
@@ -52,9 +50,7 @@ array(
name: Expr_FuncCall(
name: Expr_FuncCall(
name: Name(
parts: array(
0: id
)
name: id
)
args: array(
0: Arg(
@@ -96,9 +92,7 @@ array(
name: Expr_FuncCall(
name: Expr_FuncCall(
name: Name(
parts: array(
0: id
)
name: id
)
args: array(
)
@@ -136,9 +130,7 @@ array(
name: Expr_ArrayDimFetch(
var: Expr_FuncCall(
name: Name(
parts: array(
0: id
)
name: id
)
args: array(
0: Arg(
@@ -294,9 +286,7 @@ array(
)
default: Expr_ConstFetch(
name: Name(
parts: array(
0: null
)
name: null
)
)
)

View File

@@ -65,9 +65,7 @@ array(
expr: Expr_New(
class: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: Test
)
name: Test
)
name: VarLikeIdentifier(
name: className

View File

@@ -14,9 +14,7 @@ array(
0: Stmt_Expression(
expr: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: b
@@ -76,9 +74,7 @@ array(
5: Stmt_Expression(
expr: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Expr_Variable(
name: b
@@ -89,9 +85,7 @@ array(
expr: Expr_ArrayDimFetch(
var: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: Expr_Variable(
name: c
@@ -106,9 +100,7 @@ array(
expr: Expr_StaticPropertyFetch(
class: Expr_StaticPropertyFetch(
class: Name(
parts: array(
0: A
)
name: A
)
name: VarLikeIdentifier(
name: A

View File

@@ -26,9 +26,7 @@ array(
expr: Expr_Variable(
name: Expr_FuncCall(
name: Name(
parts: array(
0: foo
)
name: foo
)
args: array(
)