author | Stefan Vogel <sv@exept.de> |
Mon, 26 Mar 2018 15:53:53 +0200 | |
changeset 4222 | 9757ab066985 |
parent 4035 | 7b356dc3e0c2 |
child 4261 | 1b91b0f56a54 |
permissions | -rw-r--r-- |
" COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred. " "{ Package: 'stx:libcomp' }" "{ NameSpace: Smalltalk }" ProceedableError subclass:#ParseError instanceVariableNames:'errorMessage startPosition endPosition lineNumber' classVariableNames:'' poolDictionaries:'' category:'System-Compiler' ! !ParseError class methodsFor:'documentation'! copyright " COPYRIGHT (c) 1989 by Claus Gittinger All Rights Reserved This software is furnished under a license and may be used only in accordance with the terms of that license and with the inclusion of the above copyright notice. This software may not be provided or otherwise made available to, or used by, any other person. No title to or ownership of the software is hereby transferred. " ! documentation " raised for any compilation-related errors. (originally, I wanted to subclass this from compilationError, and raise different error for code generator issues (i.e. method too big, etc.) But all users of the parser in the system (RB-stuff, Lint stuff, fileIn etc.) always handle the ParseError, and I don't want them to be forced to change. So we subclass the codeGenerator issues from this one. " ! ! !ParseError methodsFor:'accessing'! description |s| s := super description. s last isSeparator ifFalse:[ errorMessage notEmptyOrNil ifTrue:[ s := s , ' ' ] ]. s := s , (errorMessage ? ''). lineNumber notNil ifTrue:[ s := s , ' [Line ' , lineNumber asString , ']' ]. ^ s ! endPosition ^ endPosition ! errorMessage ^ errorMessage ! errorMessage:something errorMessage := something. ! errorMessage:errorMessageArg startPosition:startPositionArg errorMessage := errorMessageArg. startPosition := startPositionArg. ! errorMessage:errorMessageArg startPosition:startPositionArg endPosition:endPositionArg errorMessage := errorMessageArg. startPosition := startPositionArg. endPosition := endPositionArg. ! lineNumber ^ lineNumber ! lineNumber:something lineNumber := something. ! parser ^ originator ! startPosition ^ startPosition ! ! !ParseError class methodsFor:'documentation'! version ^ '$Header$' ! version_CVS ^ '$Header$' ! !