eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'RBPragmaNode':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: RBPragmaNode


Inheritance:

   Object
   |
   +--RBProgramNode
      |
      +--RBPragmaNode

Package:
stx:goodies/refactoryBrowser/parser
Category:
Refactory-AST-Nodes
Version:
rev: 1.5 date: 2017/02/06 13:37:34
user: cg
file: RBPragmaNode.st directory: goodies/refactoryBrowser/parser
module: stx stc-classLibrary: parser

Description:


RBPragmaNode is an AST node that represents a method pragma.

Instance Variables:
	arguments <SequenceableCollection of: RBLiteralNode> our argument nodes
	left <Integer | nil> position of <
	right <Integer | nil> position of >
	selector <Symbol | nil>	the selector we're sending (cached)
	selectorParts <SequenceableCollection of: RBValueToken> the tokens for each keyword


Class protocol:

instance creation
o  selectorParts: keywordTokens arguments: valueNodes


Instance protocol:

accessing
o  argumentAt: keywordSelector

o  argumentAt: keywordSelector ifAbsent: absentBlock

o  argumentCount

o  arguments

o  arguments: aLiteralCollection

o  children

o  numArgs

o  selector

o  selector: aSelector

o  sentMessages
warning: returns a string collection because we avoid creating symbols when parsing

o  start

o  stop

accessing-token
o  left

o  left: anInteger

o  right

o  right: anInteger

comparing
o  = anObject

o  equalTo: anObject withMapping: aDictionary

o  hash

o  semanticallyEqualTo: anObject withMapping: aDictionary

copying
o  postCopy

initialization
o  selectorParts: keywordTokens arguments: valueNodes

matching
o  copyInContext: aDictionary

o  match: aNode inContext: aDictionary

private
o  buildSelector
to be checked: this creates symbols, although it probably shouldn't

o  selectorParts

o  selectorParts: tokenCollection

replacing
o  replaceNode: aNode withNode: anotherNode

testing
o  isBinary

o  isFaulty

o  isKeyword

o  isPragma

o  isPrimitive

o  isUnary

visiting
o  acceptVisitor: aProgramNodeVisitor



ST/X 7.1.0.0; WebServer 1.663 at exept.de:8081; Thu, 15 Nov 2018 12:35:16 GMT