'From Squeak6.0alpha of 5 March 2020 [latest update: #19460] on 17 August 2020 at 1:27:09 pm'!

!Parser methodsFor: 'pragmas' stamp: 'pre 8/17/2020 13:24'!
pragmaSequence
	"Parse a sequence of method pragmas."
	
	[	(hereType == #binary and: [self matchToken: #<])
			ifFalse: [ ^ self ].
		self pragmaStatement.
		(self matchToken: #>)
			ifFalse: [ ^ self expected: '>' ] ] repeat! !


!ParserTest methodsFor: 'tests' stamp: 'pre 8/17/2020 12:56'!
testRegressionPragmasParsing

	self 
		shouldnt: [Parser new 
					parse: 'methodHeader
							<first>'
					class: ParserTest] 
		raise: SyntaxErrorNotification! !

!ParserTest methodsFor: 'tests' stamp: 'pre 8/17/2020 12:56'!
testRegressionPragmasParsingClosingToken

	self 
		shouldnt: [Parser new 
					parse: 'methodHeader
							<first: ''>''>'
					class: ParserTest] 
		raise: SyntaxErrorNotification! !

!ParserTest methodsFor: 'tests' stamp: 'pre 8/17/2020 13:24'!
testRegressionPragmasParsingIsTooEager

	self 
		shouldnt: [Parser new 
					parse: 'methodHeader
							''<'' asciiValue'
					class: ParserTest] 
		raise: SyntaxErrorNotification! !

!ParserTest methodsFor: 'tests' stamp: 'pre 8/17/2020 13:25'!
testRegressionPragmasParsingIsTooEagerForCharacter

	self 
		shouldnt: [Parser new 
					parse: 'methodHeader
							$< asciiValue'
					class: ParserTest] 
		raise: SyntaxErrorNotification! !


!ScannerTest methodsFor: 'tests' stamp: 'pre 8/17/2020 12:57'!
testPragmaOpen

	self 
		assert: #('methodHeader:' 'aVariable' '<' 'first' $.)
		equals: (Scanner new typedScanTokens: 'methodHeader: aVariable
	''<'' first .')! !

