@@ -16,14 +16,12 @@ TSFASTPythonImporter >> initialize [
1616TSFASTPythonImporter >> manageBinaryOperator: aTSNode ofKind: aClass [
1717
1818 | fastEntity |
19- fastEntity := self instantiateFastEntity: aClass from: aTSNode.
19+ self onNextContextDo: [ :contextEntry |
20+ contextEntry
21+ add: ' leftOperand' asAliasOfField: ' left' ;
22+ add: ' rightOperand' asAliasOfField: ' right' ].
2023
21- self setParentOf: fastEntity.
22-
23- self pushContext: fastEntity node: aTSNode during: [
24- context top add: ' leftOperand' asAliasOfField: ' left' .
25- context top add: ' rightOperand' asAliasOfField: ' right' .
26- self visitChildren: aTSNode in: fastEntity ].
24+ fastEntity := self createEntityForNode: aTSNode.
2725
2826 " TreeSitter does not seems to manage operator. See: https://github.com/tree-sitter/tree-sitter-python/issues/328
2927 So I try to het this property manually."
@@ -35,17 +33,12 @@ TSFASTPythonImporter >> manageBinaryOperator: aTSNode ofKind: aClass [
3533{ #category : ' visiting' }
3634TSFASTPythonImporter >> visitAssignment: aTSNode [
3735
38- | fastEntity |
39- fastEntity := self instantiateFastEntity: FASTPyAssignment from: aTSNode.
40-
41- self setParentOf: fastEntity.
42-
43- self pushContext: fastEntity node: aTSNode during: [
44- context top add: ' variable' asAliasOfField: ' left' .
45- context top add: ' expression' asAliasOfField: ' right' .
46- self visitChildren: aTSNode in: fastEntity ].
36+ self onNextContextDo: [ :contextEntry |
37+ contextEntry
38+ add: ' variable' asAliasOfField: ' left' ;
39+ add: ' expression' asAliasOfField: ' right' ].
4740
48- ^ fastEntity
41+ ^ self createEntityForNode: aTSNode
4942]
5043
5144{ #category : ' visiting' }
@@ -64,14 +57,10 @@ TSFASTPythonImporter >> visitBooleanOperator: aTSNode [
6457TSFASTPythonImporter >> visitComparisonOperator: aTSNode [
6558
6659 | fastEntity |
67- fastEntity := self instantiateFastEntity: FASTPyComparisonOperator from: aTSNode.
68-
69- self setParentOf: fastEntity.
70-
71- self pushContext: fastEntity node: aTSNode during: [
72- context top add: ' operands' asAliasOfField: ' <unnamedChild>' .
73- self visitChildren: aTSNode in: fastEntity ].
74-
60+ self onNextContextDo: [ :contextEntry | contextEntry add: ' operands' asAliasOfField: ' <unnamedChild>' ].
61+
62+ fastEntity := self createEntityForNode: aTSNode.
63+
7564 " The node does not gives us the operators so we try to get them ourselves."
7665 fastEntity operators:
7766 (fastEntity operands overlappingPairsCollect: [ :operand1 :operand2 | (fastEntity sourceText copyFrom: operand1 endPos + 1 to: operand2 startPos - 1 ) trim ]).
0 commit comments