PPNotParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 30 Oct 2014 23:20:35 +0000
changeset 400 49dc52d760c8
parent 378 53d66ecfeb1b
child 642 77d5fddb6462
permissions -rw-r--r--
Fixed PPCCompiler: must refetch class afer updating instance variables of a given class. The reason is, that in (at least) Smalltalk/X modyfing a layout of a class results in creating a new class rather than updating an old one and migrating instances, i.e., the old class is not identical with the new class. Therefore, to install methods in in correct class, we have to refetch new version from system dictionary. On Pharo it should not harm

"{ Package: 'stx:goodies/petitparser' }"

PPDelegateParser subclass:#PPNotParser
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'PetitParser-Parsers'
!




!PPNotParser methodsFor:'parsing'!

parseOn: aPPContext
	| element memento |
	memento := aPPContext remember.
	element := parser parseOn: aPPContext.
	aPPContext restore: memento.
	^ element isPetitFailure
		ifFalse: [ PPFailure message: '' context: aPPContext ]
! !

!PPNotParser class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPNotParser.st,v 1.3 2012-05-04 22:06:22 vrany Exp $'
!

version_CVS
    ^ '$Header: /cvs/stx/stx/goodies/petitparser/PPNotParser.st,v 1.3 2012-05-04 22:06:22 vrany Exp $'
!

version_SVN
    ^ '§Id: PPNotParser.st 2 2010-12-17 18:44:23Z vranyj1 §'
! !