Browse Source

Rename protocol reader class. Fix #710.

Herbert Vojčík 9 năm trước cách đây
mục cha
commit
b532350b5a
2 tập tin đã thay đổi với 139 bổ sung139 xóa
  1. 104 104
      src/Platform-ImportExport.js
  2. 35 35
      src/Platform-ImportExport.st

+ 104 - 104
src/Platform-ImportExport.js

@@ -1,4 +1,4 @@
-define("amber_core/Platform-ImportExport", ["amber/boot", "amber_core/Kernel-Objects", "amber_core/Platform-Services", "amber_core/Kernel-Exceptions", "amber_core/Kernel-Infrastructure", "amber_core/Kernel-Classes"], function($boot){
+define("amber_core/Platform-ImportExport", ["amber/boot", "amber_core/Kernel-Objects", "amber_core/Kernel-Exceptions", "amber_core/Platform-Services", "amber_core/Kernel-Infrastructure", "amber_core/Kernel-Classes"], function($boot){
 var $core=$boot.api,nil=$boot.nil,$recv=$boot.asReceiver,$globals=$boot.globals;
 $core.addPackage('Platform-ImportExport');
 $core.packages["Platform-ImportExport"].innerEval = function (expr) { return eval(expr); };
@@ -2287,54 +2287,28 @@ messageSends: ["stream:", "new"]
 $globals.ChunkParser.klass);
 
 
-$core.addClass('ClassCategoryReader', $globals.Object, ['class', 'category'], 'Platform-ImportExport');
+$core.addClass('ClassCommentReader', $globals.Object, ['class'], 'Platform-ImportExport');
 //>>excludeStart("ide", pragmas.excludeIdeData);
-$globals.ClassCategoryReader.comment="I provide a mechanism for retrieving class descriptions stored on a file in the Smalltalk chunk format.";
+$globals.ClassCommentReader.comment="I provide a mechanism for retrieving class comments stored on a file.\x0a\x0aSee also `ClassCategoryReader`.";
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "class:category:",
+selector: "class:",
 protocol: 'accessing',
-fn: function (aClass,aString){
+fn: function (aClass){
 var self=this;
 self["@class"]=aClass;
-self["@category"]=aString;
 return self;
 
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aClass", "aString"],
-source: "class: aClass category: aString\x0a\x09class := aClass.\x0a\x09category := aString",
+args: ["aClass"],
+source: "class: aClass\x0a\x09class := aClass",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ClassCategoryReader);
-
-$core.addMethod(
-$core.method({
-selector: "compileMethod:",
-protocol: 'private',
-fn: function (aString){
-var self=this;
-function $Compiler(){return $globals.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
-//>>excludeEnd("ctx");
-$recv($recv($Compiler())._new())._install_forClass_protocol_(aString,self["@class"],self["@category"]);
-return self;
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"compileMethod:",{aString:aString},$globals.ClassCategoryReader)});
-//>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aString"],
-source: "compileMethod: aString\x0a\x09Compiler new install: aString forClass: class protocol: category",
-referencedClasses: ["Compiler"],
-//>>excludeEnd("ide");
-messageSends: ["install:forClass:protocol:", "new"]
-}),
-$globals.ClassCategoryReader);
+$globals.ClassCommentReader);
 
 $core.addMethod(
 $core.method({
@@ -2349,13 +2323,13 @@ return $core.withContext(function($ctx1) {
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true, 
 //>>excludeEnd("ctx");
-$globals.ClassCategoryReader.superclass.fn.prototype._initialize.apply($recv(self), []));
+$globals.ClassCommentReader.superclass.fn.prototype._initialize.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassCategoryReader)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassCommentReader)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2365,7 +2339,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initialize"]
 }),
-$globals.ClassCategoryReader);
+$globals.ClassCommentReader);
 
 $core.addMethod(
 $core.method({
@@ -2374,68 +2348,103 @@ protocol: 'fileIn',
 fn: function (aChunkParser){
 var self=this;
 var chunk;
-function $ClassBuilder(){return $globals.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-$recv((function(){
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
-//>>excludeEnd("ctx");
+var $1;
 chunk=$recv(aChunkParser)._nextChunk();
-chunk;
-return $recv(chunk)._isEmpty();
-//>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
-//>>excludeEnd("ctx");
-}))._whileFalse_((function(){
+$1=$recv(chunk)._isEmpty();
+if(!$core.assert($1)){
+self._setComment_(chunk);
+};
+return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx2) {
+}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},$globals.ClassCommentReader)});
 //>>excludeEnd("ctx");
-return self._compileMethod_(chunk);
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["aChunkParser"],
+source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ifFalse: [\x0a\x09\x09self setComment: chunk ].",
+referencedClasses: [],
+//>>excludeEnd("ide");
+messageSends: ["nextChunk", "ifFalse:", "isEmpty", "setComment:"]
+}),
+$globals.ClassCommentReader);
+
+$core.addMethod(
+$core.method({
+selector: "setComment:",
+protocol: 'private',
+fn: function (aString){
+var self=this;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
+return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-}));
-$recv($recv($ClassBuilder())._new())._setupClass_(self["@class"]);
+$recv(self["@class"])._comment_(aString);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},$globals.ClassCategoryReader)});
+}, function($ctx1) {$ctx1.fill(self,"setComment:",{aString:aString},$globals.ClassCommentReader)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aChunkParser"],
-source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09[ chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ] whileFalse: [\x0a\x09\x09self compileMethod: chunk ].\x0a\x09ClassBuilder new setupClass: class",
-referencedClasses: ["ClassBuilder"],
+args: ["aString"],
+source: "setComment: aString\x0a\x09class comment: aString",
+referencedClasses: [],
 //>>excludeEnd("ide");
-messageSends: ["whileFalse:", "nextChunk", "isEmpty", "compileMethod:", "setupClass:", "new"]
+messageSends: ["comment:"]
 }),
-$globals.ClassCategoryReader);
+$globals.ClassCommentReader);
 
 
 
-$core.addClass('ClassCommentReader', $globals.Object, ['class'], 'Platform-ImportExport');
+$core.addClass('ClassProtocolReader', $globals.Object, ['class', 'category'], 'Platform-ImportExport');
 //>>excludeStart("ide", pragmas.excludeIdeData);
-$globals.ClassCommentReader.comment="I provide a mechanism for retrieving class comments stored on a file.\x0a\x0aSee also `ClassCategoryReader`.";
+$globals.ClassProtocolReader.comment="I provide a mechanism for retrieving class descriptions stored on a file in the Smalltalk chunk format.";
 //>>excludeEnd("ide");
 $core.addMethod(
 $core.method({
-selector: "class:",
+selector: "class:category:",
 protocol: 'accessing',
-fn: function (aClass){
+fn: function (aClass,aString){
 var self=this;
 self["@class"]=aClass;
+self["@category"]=aString;
 return self;
 
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aClass"],
-source: "class: aClass\x0a\x09class := aClass",
+args: ["aClass", "aString"],
+source: "class: aClass category: aString\x0a\x09class := aClass.\x0a\x09category := aString",
 referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: []
 }),
-$globals.ClassCommentReader);
+$globals.ClassProtocolReader);
+
+$core.addMethod(
+$core.method({
+selector: "compileMethod:",
+protocol: 'private',
+fn: function (aString){
+var self=this;
+function $Compiler(){return $globals.Compiler||(typeof Compiler=="undefined"?nil:Compiler)}
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx1) {
+//>>excludeEnd("ctx");
+$recv($recv($Compiler())._new())._install_forClass_protocol_(aString,self["@class"],self["@category"]);
+return self;
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx1) {$ctx1.fill(self,"compileMethod:",{aString:aString},$globals.ClassProtocolReader)});
+//>>excludeEnd("ctx");
+},
+//>>excludeStart("ide", pragmas.excludeIdeData);
+args: ["aString"],
+source: "compileMethod: aString\x0a\x09Compiler new install: aString forClass: class protocol: category",
+referencedClasses: ["Compiler"],
+//>>excludeEnd("ide");
+messageSends: ["install:forClass:protocol:", "new"]
+}),
+$globals.ClassProtocolReader);
 
 $core.addMethod(
 $core.method({
@@ -2450,13 +2459,13 @@ return $core.withContext(function($ctx1) {
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = true, 
 //>>excludeEnd("ctx");
-$globals.ClassCommentReader.superclass.fn.prototype._initialize.apply($recv(self), []));
+$globals.ClassProtocolReader.superclass.fn.prototype._initialize.apply($recv(self), []));
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 $ctx1.supercall = false;
 //>>excludeEnd("ctx");;
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassCommentReader)});
+}, function($ctx1) {$ctx1.fill(self,"initialize",{},$globals.ClassProtocolReader)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
@@ -2466,7 +2475,7 @@ referencedClasses: [],
 //>>excludeEnd("ide");
 messageSends: ["initialize"]
 }),
-$globals.ClassCommentReader);
+$globals.ClassProtocolReader);
 
 $core.addMethod(
 $core.method({
@@ -2475,52 +2484,43 @@ protocol: 'fileIn',
 fn: function (aChunkParser){
 var self=this;
 var chunk;
+function $ClassBuilder(){return $globals.ClassBuilder||(typeof ClassBuilder=="undefined"?nil:ClassBuilder)}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
-var $1;
+$recv((function(){
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+return $core.withContext(function($ctx2) {
+//>>excludeEnd("ctx");
 chunk=$recv(aChunkParser)._nextChunk();
-$1=$recv(chunk)._isEmpty();
-if(!$core.assert($1)){
-self._setComment_(chunk);
-};
-return self;
+chunk;
+return $recv(chunk)._isEmpty();
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},$globals.ClassCommentReader)});
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,1)});
 //>>excludeEnd("ctx");
-},
-//>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aChunkParser"],
-source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ifFalse: [\x0a\x09\x09self setComment: chunk ].",
-referencedClasses: [],
-//>>excludeEnd("ide");
-messageSends: ["nextChunk", "ifFalse:", "isEmpty", "setComment:"]
-}),
-$globals.ClassCommentReader);
-
-$core.addMethod(
-$core.method({
-selector: "setComment:",
-protocol: 'private',
-fn: function (aString){
-var self=this;
+}))._whileFalse_((function(){
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-return $core.withContext(function($ctx1) {
+return $core.withContext(function($ctx2) {
 //>>excludeEnd("ctx");
-$recv(self["@class"])._comment_(aString);
+return self._compileMethod_(chunk);
+//>>excludeStart("ctx", pragmas.excludeDebugContexts);
+}, function($ctx2) {$ctx2.fillBlock({},$ctx1,2)});
+//>>excludeEnd("ctx");
+}));
+$recv($recv($ClassBuilder())._new())._setupClass_(self["@class"]);
 return self;
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
-}, function($ctx1) {$ctx1.fill(self,"setComment:",{aString:aString},$globals.ClassCommentReader)});
+}, function($ctx1) {$ctx1.fill(self,"scanFrom:",{aChunkParser:aChunkParser,chunk:chunk},$globals.ClassProtocolReader)});
 //>>excludeEnd("ctx");
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
-args: ["aString"],
-source: "setComment: aString\x0a\x09class comment: aString",
-referencedClasses: [],
+args: ["aChunkParser"],
+source: "scanFrom: aChunkParser\x0a\x09| chunk |\x0a\x09[ chunk := aChunkParser nextChunk.\x0a\x09chunk isEmpty ] whileFalse: [\x0a\x09\x09self compileMethod: chunk ].\x0a\x09ClassBuilder new setupClass: class",
+referencedClasses: ["ClassBuilder"],
 //>>excludeEnd("ide");
-messageSends: ["comment:"]
+messageSends: ["whileFalse:", "nextChunk", "isEmpty", "compileMethod:", "setupClass:", "new"]
 }),
-$globals.ClassCommentReader);
+$globals.ClassProtocolReader);
 
 
 
@@ -4352,12 +4352,12 @@ selector: "methodsFor:",
 protocol: '*Platform-ImportExport',
 fn: function (aString){
 var self=this;
-function $ClassCategoryReader(){return $globals.ClassCategoryReader||(typeof ClassCategoryReader=="undefined"?nil:ClassCategoryReader)}
+function $ClassProtocolReader(){return $globals.ClassProtocolReader||(typeof ClassProtocolReader=="undefined"?nil:ClassProtocolReader)}
 //>>excludeStart("ctx", pragmas.excludeDebugContexts);
 return $core.withContext(function($ctx1) {
 //>>excludeEnd("ctx");
 var $2,$3,$1;
-$2=$recv($ClassCategoryReader())._new();
+$2=$recv($ClassProtocolReader())._new();
 $recv($2)._class_category_(self,aString);
 $3=$recv($2)._yourself();
 $1=$3;
@@ -4368,8 +4368,8 @@ return $1;
 },
 //>>excludeStart("ide", pragmas.excludeIdeData);
 args: ["aString"],
-source: "methodsFor: aString\x0a\x09^ ClassCategoryReader new\x0a\x09\x09class: self category: aString;\x0a\x09\x09yourself",
-referencedClasses: ["ClassCategoryReader"],
+source: "methodsFor: aString\x0a\x09^ ClassProtocolReader new\x0a\x09\x09class: self category: aString;\x0a\x09\x09yourself",
+referencedClasses: ["ClassProtocolReader"],
 //>>excludeEnd("ide");
 messageSends: ["class:category:", "new", "yourself"]
 }),

+ 35 - 35
src/Platform-ImportExport.st

@@ -528,74 +528,74 @@ on: aStream
 	^ self new stream: aStream
 ! !
 
-Object subclass: #ClassCategoryReader
-	instanceVariableNames: 'class category'
+Object subclass: #ClassCommentReader
+	instanceVariableNames: 'class'
 	package: 'Platform-ImportExport'!
-!ClassCategoryReader commentStamp!
-I provide a mechanism for retrieving class descriptions stored on a file in the Smalltalk chunk format.!
+!ClassCommentReader commentStamp!
+I provide a mechanism for retrieving class comments stored on a file.
+
+See also `ClassCategoryReader`.!
 
-!ClassCategoryReader methodsFor: 'accessing'!
+!ClassCommentReader methodsFor: 'accessing'!
 
-class: aClass category: aString
-	class := aClass.
-	category := aString
+class: aClass
+	class := aClass
 ! !
 
-!ClassCategoryReader methodsFor: 'fileIn'!
+!ClassCommentReader methodsFor: 'fileIn'!
 
 scanFrom: aChunkParser
 	| chunk |
-	[ chunk := aChunkParser nextChunk.
-	chunk isEmpty ] whileFalse: [
-		self compileMethod: chunk ].
-	ClassBuilder new setupClass: class
+	chunk := aChunkParser nextChunk.
+	chunk isEmpty ifFalse: [
+		self setComment: chunk ].
 ! !
 
-!ClassCategoryReader methodsFor: 'initialization'!
+!ClassCommentReader methodsFor: 'initialization'!
 
 initialize
 	super initialize.
 ! !
 
-!ClassCategoryReader methodsFor: 'private'!
+!ClassCommentReader methodsFor: 'private'!
 
-compileMethod: aString
-	Compiler new install: aString forClass: class protocol: category
+setComment: aString
+	class comment: aString
 ! !
 
-Object subclass: #ClassCommentReader
-	instanceVariableNames: 'class'
+Object subclass: #ClassProtocolReader
+	instanceVariableNames: 'class category'
 	package: 'Platform-ImportExport'!
-!ClassCommentReader commentStamp!
-I provide a mechanism for retrieving class comments stored on a file.
-
-See also `ClassCategoryReader`.!
+!ClassProtocolReader commentStamp!
+I provide a mechanism for retrieving class descriptions stored on a file in the Smalltalk chunk format.!
 
-!ClassCommentReader methodsFor: 'accessing'!
+!ClassProtocolReader methodsFor: 'accessing'!
 
-class: aClass
-	class := aClass
+class: aClass category: aString
+	class := aClass.
+	category := aString
 ! !
 
-!ClassCommentReader methodsFor: 'fileIn'!
+!ClassProtocolReader methodsFor: 'fileIn'!
 
 scanFrom: aChunkParser
 	| chunk |
-	chunk := aChunkParser nextChunk.
-	chunk isEmpty ifFalse: [
-		self setComment: chunk ].
+	[ chunk := aChunkParser nextChunk.
+	chunk isEmpty ] whileFalse: [
+		self compileMethod: chunk ].
+	ClassBuilder new setupClass: class
 ! !
 
-!ClassCommentReader methodsFor: 'initialization'!
+!ClassProtocolReader methodsFor: 'initialization'!
 
 initialize
 	super initialize.
 ! !
 
-!ClassCommentReader methodsFor: 'private'!
+!ClassProtocolReader methodsFor: 'private'!
 
-setComment: aString
-	class comment: aString
+compileMethod: aString
+	Compiler new install: aString forClass: class protocol: category
 ! !
 
 Object subclass: #ExportMethodProtocol
@@ -1080,7 +1080,7 @@ commentStamp: aStamp prior: prior
 !
 
 methodsFor: aString
-	^ ClassCategoryReader new
+	^ ClassProtocolReader new
 		class: self category: aString;
 		yourself
 !