Merge jv
authorHG Automerge
Thu, 12 Jan 2017 09:44:22 +0000
branchjv
changeset 4088 529963173d68
parent 4087 5771dee59aef (current diff)
parent 4085 37418a44b701 (diff)
child 4098 e535606a3be1
Merge
Parser.st
ParserFlags.st
--- a/Parser.st	Thu Dec 29 00:17:02 2016 +0000
+++ b/Parser.st	Thu Jan 12 09:44:22 2017 +0000
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
               All Rights Reserved
@@ -4471,14 +4469,18 @@
                 ^ rClass class.
             ].
         ].
-        (#(#'new' #'new:' #'basicNew' #'basicNew:') includes:sel) ifTrue:[
+        (#(new new: basicNew basicNew:) includes:sel) ifTrue:[
+            aNode receiver isSuper ifTrue:[
+                "super new answers the instance and not the super instance"
+                ^ aNode receiver definingClass theNonMetaclass.
+            ].
             rClass := self typeOfNode:aNode receiver.
-            (rClass notNil and:[rClass isBehavior and:[rClass isMeta]]) ifTrue:[
+            (rClass isBehavior and:[rClass isMeta]) ifTrue:[
                 ^ rClass theNonMetaclass.
             ].
         ].    
-        ( #(#'isNil' #'notNil' #'isEmpty' #'notEmpty' #'isEmptyOrNil' #'notEmptyOrNil' 
-            #'<' #'>' #'>=' #'<=' #'=' #'==' #'~=' #'~~'
+        ( #(isNil notNil isEmpty notEmpty isEmptyOrNil notEmptyOrNil
+            < > >= <= = == ~= ~~
           ) includes:sel
         ) ifTrue:[
             ^ Boolean.
@@ -5380,6 +5382,7 @@
     selector := aParser selector.
 ! !
 
+
 !Parser methodsFor:'obsolete'!
 
 correctByDeleting
--- a/ParserFlags.st	Thu Dec 29 00:17:02 2016 +0000
+++ b/ParserFlags.st	Thu Jan 12 09:44:22 2017 +0000
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1989 by Claus Gittinger
  COPYRIGHT (c) 2005 by eXept Software AG
@@ -56,7 +58,8 @@
 		allowAssignmentToMethodArgument allowAssignmentToPoolVariable
 		lineNumberInfo allowSTXDelimiterComments
 		allowSTXExtendedArrayLiterals warnAssignmentToBlockArgument
-		warnAssignmentToMethodArgument warnAssignmentToPoolVariable'
+		warnAssignmentToMethodArgument warnAssignmentToPoolVariable
+		allowSignedByteArrayElements'
 	classVariableNames:'AllowArrayIndexSyntaxExtension AllowAssignmentToBlockArgument
 		AllowAssignmentToMethodArgument AllowAssignmentToPoolVariable
 		AllowCaretAsBinop AllowCharacterEscapes AllowDollarInIdentifier
@@ -100,7 +103,7 @@
 		WarnParagraphInIdentifier WarnPlausibilityChecks
 		WarnPossibleIncompatibilities WarnST80Directives WarnSTXSpecials
 		WarnUndeclared WarnUnderscoreInIdentifier WarnUnusedVars Warnings
-		AutoDefineVariables'
+		AutoDefineVariables AllowSignedByteArrayElements'
 	poolDictionaries:''
 	category:'System-Compiler'
 !
@@ -914,7 +917,7 @@
 !
 
 allowParagraphInIdentifier
-    "return true, if -characters are allowed in identifiers (treated as letter)"
+    "return true, if §-characters are allowed in identifiers (treated as letter)"
 
     ^ AllowParagraphInIdentifier
 
@@ -922,7 +925,7 @@
 !
 
 allowParagraphInIdentifier:aBoolean
-    "this allows turning on/off -characters in identifiers."
+    "this allows turning on/off §-characters in identifiers."
 
     AllowParagraphInIdentifier := aBoolean.
 
@@ -1098,6 +1101,18 @@
     "
 !
 
+allowSignedByteArrayElements
+    "return true, if byteArray elements are allowed to be negative."
+
+    ^ AllowSignedByteArrayElements
+!
+
+allowSignedByteArrayElements:aBoolean
+    "controls, if byteArray elements are allowed to be negative."
+
+    AllowSignedByteArrayElements := aBoolean
+!
+
 allowSqueakExtensions
     "return true, if support for squeak extensions
 	computed arrays { .., }
@@ -1453,7 +1468,7 @@
 !
 
 warnParagraphInIdentifier
-    "return true, if -characters in identifiers are to be warned about"
+    "return true, if §-characters in identifiers are to be warned about"
 
     ^ Warnings and:[WarnParagraphInIdentifier]
 
@@ -1461,7 +1476,7 @@
 !
 
 warnParagraphInIdentifier:aBoolean
-    "this allows turning on/off warnings about -characters in identifiers.
+    "this allows turning on/off warnings about §-characters in identifiers.
      You may find those warnings useful, to make certain that your code
      is portable to other Smalltalk versions, which do not allow this"
 
@@ -1660,6 +1675,7 @@
     AllowAssignmentToMethodArgument := false.
     AllowAssignmentToPoolVariable := false.
     "/ AllowAssignmentToPoolVariable := true.
+    AllowSignedByteArrayElements := false.
 
     ArraysAreImmutable := false.                "/ still care for ST-80 compatibility
     StringsAreImmutable := false.               "/ still care for ST-80 compatibility
@@ -2350,10 +2366,11 @@
 !
 
 allowSignedByteArrayElements
-    "experimental"
-    "/ ^ true.
-    "/    ^ allowSignedByteArrayElements
-    ^ false.
+    ^ allowSignedByteArrayElements
+!
+
+allowSignedByteArrayElements:aBoolean
+    allowSignedByteArrayElements := aBoolean
 !
 
 allowSqueakExtensions
@@ -2814,6 +2831,7 @@
     allowAssignmentToBlockArgument := AllowAssignmentToBlockArgument.
     allowAssignmentToMethodArgument := AllowAssignmentToMethodArgument.
     allowAssignmentToPoolVariable := AllowAssignmentToPoolVariable.
+    allowSignedByteArrayElements := AllowSignedByteArrayElements.
 
     arraysAreImmutable := ArraysAreImmutable ? true.
     stringsAreImmutable := StringsAreImmutable ? true.