Open GoogleCodeExporter opened 9 years ago
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 3:43
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 3:44
Deino un método que tiene Error signal: '...' y al tratar de guardarlo salta
Information
an OBCompilationBinder no entiende el mensaje possibleVariablesFor: #Error
continuedFrom: a SortedCollection()
Este error salta al tener un método con cualquier clase que no sea una clase
de colecciones (Set new se puede hacer).
Para solucionarlo se agrega #Error a los literales de la lesson, al igual que
con las clases de colecciones.
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 6:09
En el workspace Error signal no se puede hacer porque promptea que Error no
está definido como variable (como si estuviera en un método).
Debuggeando llegué a OCRequestorScope >> lookupVar:
lookupVar: name
name = 'self' ifTrue: [ ^outerScope lookupVar: name].
name = 'super' ifTrue: [ ^outerScope lookupVar: name].
name first isUppercase ifTrue: [ ^outerScope lookupVar: name ]. <-- entra por acá y no lo encuentra en un dictionary que sí tiene Set, Bag y OrderedCollection (pero no otras colecciones).
(requestor bindingOf: name asSymbol) ifNotNil: [:assoc |
^ OCLiteralVariable new assoc: assoc; scope: self; yourself]. <-- de no ser por la línea anterior entraría por acá, ya que el bindingOf: retorna el binding agregado al inicializar la lección.
^ super lookupVar: name.
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 8:08
TestCase subclass: #OBExecutionContext
instanceVariableNames: '_lesson Set Bag OrderedCollection'
OBExecutionContext >> lesson: aLesson
_lesson := aLesson.
Set := OBSetPrototype newForLesson: aLesson.
Bag := OBBagPrototype newForLesson: aLesson.
OrderedCollection := OBOrderedCollectionPrototype newForLesson: aLesson.
Por eso sólo esas 3 están en el dictionary. El quick fix sería agregar
Error, Dictionary y SortedCollection acá también, pero suena medio cochino.
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 8:28
Si pueden encontrar una forma de que no quede duplicado lo de las clases
literales sería genial. De momento sumé al parche.
Original comment by mmato...@gmail.com
on 18 Apr 2014 at 9:41
Original issue reported on code.google.com by
alfredo....@gmail.com
on 10 Mar 2014 at 11:55