Encapsed strings ----- B"; "$A[B]"; "$A[0]"; "$A[0x0]"; "$A[$B]"; "{$A}"; "{$A['B']}"; "${A}"; "${A['B']}"; "${$A}"; "\{$A}"; "\{ $A }"; "\\{$A}"; "\\{ $A }"; "{$$A}[B]"; "$$A[B]"; "A $B C"; b"$A"; ----- array( 0: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: A ) ) ) 1: Scalar_Encapsed( parts: array( 0: Expr_PropertyFetch( var: Expr_Variable( name: A ) name: B ) ) ) 2: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: B ) ) ) ) 3: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: 0 ) ) ) ) 4: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: 0x0 ) ) ) ) 5: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Expr_Variable( name: B ) ) ) ) 6: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: A ) ) ) 7: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: B ) ) ) ) 8: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: A ) ) ) 9: Scalar_Encapsed( parts: array( 0: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: B ) ) ) ) 10: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: Expr_Variable( name: A ) ) ) ) 11: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: \{ ) 1: Expr_Variable( name: A ) 2: Scalar_EncapsedStringPart( value: } ) ) ) 12: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: \{ ) 1: Expr_Variable( name: A ) 2: Scalar_EncapsedStringPart( value: } ) ) ) 13: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: \ ) 1: Expr_Variable( name: A ) ) ) 14: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: \{ ) 1: Expr_Variable( name: A ) 2: Scalar_EncapsedStringPart( value: } ) ) ) 15: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: Expr_Variable( name: A ) ) 1: Scalar_EncapsedStringPart( value: [B] ) ) ) 16: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: $ ) 1: Expr_ArrayDimFetch( var: Expr_Variable( name: A ) dim: Scalar_String( value: B ) ) ) ) 17: Scalar_Encapsed( parts: array( 0: Scalar_EncapsedStringPart( value: A ) 1: Expr_Variable( name: B ) 2: Scalar_EncapsedStringPart( value: C ) ) ) 18: Scalar_Encapsed( parts: array( 0: Expr_Variable( name: A ) ) ) )