--- a/ByteCodeCompiler.st Wed Jan 25 17:18:07 2017 +0000
+++ b/ByteCodeCompiler.st Wed Feb 01 11:29:42 2017 +0000
@@ -802,7 +802,10 @@
!
ccCompilationOptions
- "return the options used with cc compilation"
+ <resource: #obsolete>
+
+ "return the options used with cc compilation.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags ccCompilationOptions
@@ -814,9 +817,12 @@
!
ccCompilationOptions:aString
+ <resource: #obsolete>
+
"define the compilation options
to be used when compiling to machine code.
- These are passed to cc. Can be set from your private.rc file."
+ These are passed to cc. Can be set from your private.rc file.
+ This method remains here for backward compatibility (older script files)"
ParserFlags ccCompilationOptions:aString
@@ -831,7 +837,10 @@
!
ccPath
- "return the path to (name of) the cc command for incremental method compilation"
+ <resource: #obsolete>
+
+ "return the path to (name of) the cc command for incremental method compilation.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags ccPath
@@ -847,7 +856,10 @@
!
ccPath:aPathOrCommandName
- "set the path to the cc command for incremental method compilation"
+ <resource: #obsolete>
+
+ "set the path to the cc command for incremental method compilation.
+ This method remains here for backward compatibility (older script files)"
ParserFlags ccPath:aPathOrCommandName
@@ -863,6 +875,8 @@
!
stcCompilation
+ <resource: #obsolete>
+
"return the flag which controls compilation to machine code.
If #always, methods are always compiled to machine code (which takes
longer, but provides faster code). If #none, methods are never compiled
@@ -871,7 +885,8 @@
Anything else lets the compiler compile to bytecode,
except for methods containing primitive code.
This can be set from your private.rc file or from a workspace
- for selective compilation to machine code."
+ for selective compilation to machine code.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcCompilation
@@ -881,6 +896,8 @@
!
stcCompilation:how
+ <resource: #obsolete>
+
"set the flag which controls compilation to machine code.
If #always, methods are always compiled to machine code (which takes
longer, but provides faster code). If #none, methods are never compiled
@@ -889,7 +906,8 @@
Anything else lets the compiler compile to bytecode,
except for methods containing primitive code.
This can be set from your private.rc file or from a workspace
- for selective compilation to machine code."
+ for selective compilation to machine code.
+ This method remains here for backward compatibility (older script files)"
|ret|
@@ -905,15 +923,21 @@
!
stcCompilationDefines
- "return the defines used with stc compilation"
+ <resource: #obsolete>
+
+ "return the defines used with stc compilation.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcCompilationDefines
!
stcCompilationDefines:aString
+ <resource: #obsolete>
+
"define the flags (for example, additional -D defines)
to be used when compiling to machine code.
- These are passed to stc. Can be set from your private.rc file."
+ These are passed to stc. Can be set from your private.rc file.
+ This method remains here for backward compatibility (older script files)"
ParserFlags stcCompilationDefines:aString
@@ -926,14 +950,20 @@
!
stcCompilationIncludes
- "return the includes used with stc compilation"
+ <resource: #obsolete>
+
+ "return the includes used with stc compilation.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcCompilationIncludes
!
stcCompilationIncludes:aString
+ <resource: #obsolete>
+
"define the include directories via additional -I flags.
- These are passed to stc. Can be set in your private.rc file"
+ These are passed to stc. Can be set in your private.rc file.
+ This method remains here for backward compatibility (older script files)"
ParserFlags stcCompilationIncludes:aString
@@ -946,15 +976,21 @@
!
stcCompilationOptions
- "return the options used with stc compilation"
+ <resource: #obsolete>
+
+ "return the options used with stc compilation.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcCompilationOptions
!
stcCompilationOptions:aString
+ <resource: #obsolete>
+
"define the compilation options
to be used when compiling to machine code.
- These are passed to stc. Can be set from your private.rc file."
+ These are passed to stc. Can be set from your private.rc file.
+ This method remains here for backward compatibility (older script files)"
ParserFlags stcCompilationOptions:aString
@@ -964,7 +1000,10 @@
!
stcModulePath
- "return the path, where temporary modules are created"
+ <resource: #obsolete>
+
+ "return the path, where temporary modules are created.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcModulePath
@@ -972,10 +1011,13 @@
!
stcModulePath:aPath
+ <resource: #obsolete>
+
"set the path to the directory, where temporary modules are created.
Obsolete; knowledge moved to parserFlags,
where it is also obsolete now, as this should not be set from the outside,
- but instead rely totally on the userPreferences."
+ but instead rely totally on the userPreferences.
+ This method remains here for backward compatibility (older script files)"
ParserFlags stcModulePath:aPath
@@ -983,7 +1025,10 @@
!
stcPath
- "return the path to the stc command, or nil if not found."
+ <resource: #obsolete>
+
+ "return the path to the stc command, or nil if not found.
+ This method remains here for backward compatibility (older script files)"
^ ParserFlags stcPath
@@ -995,7 +1040,10 @@
!
stcPath:aPath
- "set the path to the stc command - useful if private stc is wanted"
+ <resource: #obsolete>
+
+ "set the path to the stc command - useful if private stc is wanted.
+ This method remains here for backward compatibility (older script files)"
ParserFlags stcPath:aPath
--- a/Explainer.st Wed Jan 25 17:18:07 2017 +0000
+++ b/Explainer.st Wed Feb 01 11:29:42 2017 +0000
@@ -1434,11 +1434,27 @@
commonSuperClass isNil ifTrue:[
commonSuperClass := Behavior commonSuperclassOf:listOfImplementingClasses.
] .
- (listOfImplementingClasses includes:commonSuperClass) ifTrue:[
- (commonSuperClass implements:selector) ifTrue:[
- classProvidingComment := commonSuperClass
- ] ifFalse:[
+
+ ((listOfImplementingClasses includes:commonSuperClass)
+ and:[ (commonSuperClass implements:selector) ]
+ ) ifTrue:[
+ classProvidingComment := commonSuperClass
+ ] ifFalse:[
+ "/ avoid some obvious misleading pathes...
+ classProvidingComment := { Number . Collection . Stream . View }
+ detect:[:cls | (listOfImplementingClasses includes:cls)
+ or:[cls canUnderstand:selector] ]
+ ifNone:nil.
+ classProvidingComment notNil ifTrue:[
+ classProvidingComment := classProvidingComment whichClassImplements:selector.
+ ] ifFalse:[
classProvidingComment := firstImplementingClass.
+ [
+ classProvidingComment superclass notNil
+ and:[ classProvidingComment superclass implements:selector ]
+ ] whileTrue:[
+ classProvidingComment := classProvidingComment superclass
+ ].
].
].
].
@@ -1466,11 +1482,10 @@
cm := self fetchDescriptionOfMethod:(classProvidingComment compiledMethodAt:selector).
]
].
- cm notNil ifTrue:[
- cm := (' %1 says:\' withCRs bindWith:(self asClassLink:classProvidingComment name)),cm
- ].
].
cm notNil ifTrue:[
+ cm := (' %1 says:\' withCRs bindWith:(self asClassLink:classProvidingComment name)),cm.
+
"/ msg := msg,(msg last isSeparator ifTrue:[''] ifFalse:[' ']),cm
msg := msg,(Character cr),cm
].
--- a/ParseWarning.st Wed Jan 25 17:18:07 2017 +0000
+++ b/ParseWarning.st Wed Feb 01 11:29:42 2017 +0000
@@ -11,6 +11,8 @@
"
"{ Package: 'stx:libcomp' }"
+"{ NameSpace: Smalltalk }"
+
Notification subclass:#ParseWarning
instanceVariableNames:'errorMessage startPosition endPosition lineNumber'
classVariableNames:''
@@ -68,13 +70,20 @@
startPosition := something.
! !
+!ParseWarning methodsFor:'default action'!
+
+defaultResumeValue
+ Logger warning:('Parser Warning: ',(self errorMessage ? self description)).
+ ^ super defaultResumeValue
+! !
+
!ParseWarning class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/ParseWarning.st,v 1.2 2013-04-03 17:21:41 cg Exp $'
+ ^ '$Header$'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libcomp/ParseWarning.st,v 1.2 2013-04-03 17:21:41 cg Exp $'
+ ^ '$Header$'
! !
--- a/Parser.st Wed Jan 25 17:18:07 2017 +0000
+++ b/Parser.st Wed Feb 01 11:29:42 2017 +0000
@@ -11189,7 +11189,8 @@
(classToCompileFor notNil
and:[classToCompileFor isMeta not
and:[classToCompileFor isBuiltInClass not
- and:[(parser isDoIt not)]]]) ifTrue:[
+ and:[classToCompileFor theNonMetaclass isSharedPool not
+ and:[(parser isDoIt not)]]]]) ifTrue:[
list add: #InstanceVariable.
].
] ifFalse:[
@@ -11202,7 +11203,11 @@
list add: #ClassInstanceVariable.
].
].
- list addAll: #( #ClassVariable #PrivateClass ).
+ (classToCompileFor notNil and:[ classToCompileFor theNonMetaclass isSharedPool]) ifTrue:[
+ list addAllFirst: #( #ClassVariable nil ).
+ ] ifFalse:[
+ list addAll: #( #ClassVariable #PrivateClass ).
+ ]
]
].