public function provideValues()
{
(yield 'method reference' => [$value = '@user->getUserName()', [new Token($value, new TokenType(TokenType::METHOD_REFERENCE_TYPE))]]);
(yield 'property reference' => [$value = '@user->username', [new Token($value, new TokenType(TokenType::PROPERTY_REFERENCE_TYPE))]]);
(yield 'reference' => [$value = '@user{1..2}', [new Token($value, new TokenType(TokenType::RANGE_REFERENCE_TYPE))]]);
(yield 'list reference' => [$value = '@user_{alice, bob}', [new Token($value, new TokenType(TokenType::LIST_REFERENCE_TYPE))]]);
(yield 'wildcard reference' => [$value = '@user*', [new Token($value, new TokenType(TokenType::WILDCARD_REFERENCE_TYPE))]]);
(yield 'simple reference' => [$value = '@user', [new Token($value, new TokenType(TokenType::SIMPLE_REFERENCE_TYPE))]]);
(yield 'simple reference' => [$value = '@', [new Token($value, new TokenType(TokenType::SIMPLE_REFERENCE_TYPE))]]);
(yield 'simple reference with second member' => [$value = '@ user', [new Token('@', new TokenType(TokenType::SIMPLE_REFERENCE_TYPE))]]);
}