ProgrammingLanguage: added #id, #lookup and #lookupClass (required by translucent objects)
Context: added #programmingLanguage
--- a/Context.st Mon Mar 14 12:10:14 2011 +0000
+++ b/Context.st Thu Mar 17 15:08:28 2011 +0000
@@ -651,6 +651,15 @@
"Modified: 23.10.1996 / 16:18:44 / cg"
!
+programmingLanguage
+
+ ^method
+ ifNotNil:[method programmingLanguage]
+ ifNil:[SmalltalkLanguage instance]
+
+ "Created: / 17-03-2011 / 10:17:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
receiver
"return the receiver of the context"
@@ -2399,7 +2408,7 @@
!Context class methodsFor:'documentation'!
version
- ^ '$Id: Context.st 10602 2010-12-20 07:13:27Z vranyj1 $'
+ ^ '$Id: Context.st 10623 2011-03-17 15:08:28Z vranyj1 $'
!
version_CVS
@@ -2407,9 +2416,7 @@
!
version_SVN
- ^ '$Id: Context.st 10602 2010-12-20 07:13:27Z vranyj1 $'
+ ^ '$Id: Context.st 10623 2011-03-17 15:08:28Z vranyj1 $'
! !
Context initialize!
-
-
--- a/ProgrammingLanguage.st Mon Mar 14 12:10:14 2011 +0000
+++ b/ProgrammingLanguage.st Thu Mar 17 15:08:28 2011 +0000
@@ -203,6 +203,17 @@
!ProgrammingLanguage methodsFor:'accessing'!
+id
+
+ "Return an unique integer id of this language.
+ id must be < 32.
+ This id is used as index to various structures used by runtime"
+
+ ^self subclassResponsibility
+
+ "Created: / 17-03-2011 / 10:51:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
imports
"To make it polymorph with NameSpace for
@@ -214,6 +225,13 @@
"Modified: / 19-07-2010 / 12:14:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+lookup
+
+ ^self lookupClass instance
+
+ "Created: / 17-03-2011 / 10:57:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
name
"Answers a human-readable name of myself:
'Smalltalk' for SmalltalkLanguage,
@@ -278,6 +296,13 @@
^ nil
!
+lookupClass
+
+ ^BuiltinLookup
+
+ "Created: / 17-03-2011 / 10:56:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
metaClass
"will be used for new classes (in the class wizard);
a fallback here"
@@ -364,6 +389,14 @@
!ProgrammingLanguage methodsFor:'testing'!
+isJava
+ "true iff this is the Java language"
+
+ ^ false
+
+ "Created: / 17-03-2011 / 10:16:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
isProgrammingLanguage
^true
@@ -429,7 +462,7 @@
!ProgrammingLanguage class methodsFor:'documentation'!
version
- ^ '$Id: ProgrammingLanguage.st 10604 2011-02-04 23:09:23Z vranyj1 $'
+ ^ '$Id: ProgrammingLanguage.st 10623 2011-03-17 15:08:28Z vranyj1 $'
!
version_CVS
@@ -437,11 +470,7 @@
!
version_SVN
- ^ '$Id: ProgrammingLanguage.st 10604 2011-02-04 23:09:23Z vranyj1 $'
+ ^ '$Id: ProgrammingLanguage.st 10623 2011-03-17 15:08:28Z vranyj1 $'
! !
ProgrammingLanguage initialize!
-
-
-
-
--- a/SmalltalkLanguage.st Mon Mar 14 12:10:14 2011 +0000
+++ b/SmalltalkLanguage.st Thu Mar 17 15:08:28 2011 +0000
@@ -42,6 +42,14 @@
!SmalltalkLanguage methodsFor:'accessing'!
+id
+ "superclass ProgrammingLanguage says that I am responsible to implement this method"
+
+ ^ 1
+
+ "Modified: / 17-03-2011 / 10:54:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
name
"Answers a human-readable name of myself:
'Smalltalk' for SmalltalkLanguage,
@@ -219,7 +227,7 @@
!SmalltalkLanguage class methodsFor:'documentation'!
version
- ^ '$Id: SmalltalkLanguage.st 10604 2011-02-04 23:09:23Z vranyj1 $'
+ ^ '$Id: SmalltalkLanguage.st 10623 2011-03-17 15:08:28Z vranyj1 $'
!
version_CVS
@@ -227,11 +235,5 @@
!
version_SVN
- ^ '$Id: SmalltalkLanguage.st 10604 2011-02-04 23:09:23Z vranyj1 $'
+ ^ '$Id: SmalltalkLanguage.st 10623 2011-03-17 15:08:28Z vranyj1 $'
! !
-
-
-
-
-
-