1045 "Modified: / 21-08-2011 / 09:26:30 / cg" |
1045 "Modified: / 21-08-2011 / 09:26:30 / cg" |
1046 "Modified: / 25-02-2014 / 14:07:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1046 "Modified: / 25-02-2014 / 14:07:39 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1047 ! |
1047 ! |
1048 |
1048 |
1049 rememberVariableElementFor:node from:pos1 to:pos2 assigned:assigned |
1049 rememberVariableElementFor:node from:pos1 to:pos2 assigned:assigned |
1050 |name typeSymbol key element prev| |
1050 |name typeSymbol key element prev dict| |
1051 |
1051 |
1052 node startPosition: pos1 endPosition: pos2. |
1052 node startPosition: pos1 endPosition: pos2. |
1053 |
1053 |
1054 name := node name. |
1054 name := node name. |
1055 typeSymbol := key := node type. |
1055 typeSymbol := key := node type. |
|
1056 |
1056 (typeSymbol == #BlockArg or:[typeSymbol == #BlockVariable]) ifTrue:[ |
1057 (typeSymbol == #BlockArg or:[typeSymbol == #BlockVariable]) ifTrue:[ |
1057 key := (typeSymbol -> node block) |
1058 key := (typeSymbol -> currentBlock "node block") |
1058 ]. |
1059 ]. |
1059 |
1060 |
1060 prev := (lastVariableElements at:key ifAbsentPut:[Dictionary new]) at:name ifAbsent:[nil]. |
1061 dict := lastVariableElements at:key ifAbsentPut:[Dictionary new]. |
|
1062 prev := dict at:name ifAbsent:[nil]. |
1061 (prev notNil and:[prev start == pos1]) ifTrue:[ |
1063 (prev notNil and:[prev start == pos1]) ifTrue:[ |
1062 "/ prev assigned:assigned. |
1064 "/ prev assigned:assigned. |
1063 ^ self |
1065 ^ self |
1064 ]. |
1066 ]. |
1065 |
1067 |
1066 element := elements newElementFor: node. |
1068 element := elements newElementFor: node. |
1067 |
1069 |
1068 prev notNil ifTrue:[prev nextElement:element]. |
1070 prev notNil ifTrue:[prev nextElement:element]. |
1069 (lastVariableElements at:key) at:name put:element. |
1071 dict at:name put:element. |
1070 |
1072 |
1071 elements add: element. |
1073 elements add: element. |
1072 |
1074 |
1073 "Created: / 25-02-2014 / 12:13:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1075 "Created: / 25-02-2014 / 12:13:30 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
1074 ! ! |
1076 ! ! |
1075 |
1077 |
1076 !SyntaxHighlighter2 class methodsFor:'documentation'! |
1078 !SyntaxHighlighter2 class methodsFor:'documentation'! |
1077 |
1079 |
1078 version |
1080 version |
1079 ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' |
1081 ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' |
1080 ! |
1082 ! |
1081 |
1083 |
1082 version_CVS |
1084 version_CVS |
1083 ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' |
1085 ^ '$Header: /cvs/stx/stx/libtool/SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' |
1084 ! |
1086 ! |
1085 |
1087 |
1086 version_SVN |
1088 version_SVN |
1087 ^ '$Id: SyntaxHighlighter2.st,v 1.25 2015-02-27 20:20:50 cg Exp $' |
1089 ^ '$Id: SyntaxHighlighter2.st,v 1.26 2015-02-28 02:15:57 cg Exp $' |
1088 ! ! |
1090 ! ! |
1089 |
1091 |