Skip to content

Commit

Permalink
java parser changes for sealed classes
Browse files Browse the repository at this point in the history
  • Loading branch information
j-brant committed Mar 27, 2024
1 parent 3898d13 commit 5d21c09
Show file tree
Hide file tree
Showing 3 changed files with 2,009 additions and 1,756 deletions.
41 changes: 33 additions & 8 deletions src/SmaCC_Java/JavaClassDeclarationNode.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@ Class {
#name : #JavaClassDeclarationNode,
#superclass : #JavaDeclarationNode,
#instVars : [
'modifiers',
'classToken',
'name',
'typeParameters',
'extendsToken',
'superclass',
'leftBrace',
'rightBrace',
'declarations',
'implementsToken',
'interfaces',
'commas',
'leftBrace',
'declarations',
'rightBrace'
'permitsToken',
'permits',
'extendsToken',
'superclass',
'modifiers'
],
#category : #'SmaCC_Java'
}
Expand Down Expand Up @@ -45,7 +47,7 @@ JavaClassDeclarationNode >> commas: anOrderedCollection [

{ #category : #generated }
JavaClassDeclarationNode >> compositeNodeVariables [
^ #(#declarations #interfaces #modifiers)
^ #(#declarations #interfaces #permits #modifiers)
]

{ #category : #generated }
Expand Down Expand Up @@ -96,6 +98,7 @@ JavaClassDeclarationNode >> initialize [
declarations := OrderedCollection new: 2.
interfaces := OrderedCollection new: 2.
commas := OrderedCollection new: 2.
permits := OrderedCollection new: 2.
modifiers := OrderedCollection new: 2.
]

Expand Down Expand Up @@ -148,6 +151,28 @@ JavaClassDeclarationNode >> nodeVariables [
^ #(#typeParameters #superclass)
]

{ #category : #generated }
JavaClassDeclarationNode >> permits [
^ permits
]

{ #category : #generated }
JavaClassDeclarationNode >> permits: anOrderedCollection [
self setParents: self permits to: nil.
permits := anOrderedCollection.
self setParents: self permits to: self
]

{ #category : #generated }
JavaClassDeclarationNode >> permitsToken [
^ permitsToken
]

{ #category : #generated }
JavaClassDeclarationNode >> permitsToken: aSmaCCToken [
permitsToken := aSmaCCToken
]

{ #category : #generated }
JavaClassDeclarationNode >> rightBrace [
^ rightBrace
Expand All @@ -174,7 +199,7 @@ JavaClassDeclarationNode >> superclass: aJavaClassTypeNode [

{ #category : #generated }
JavaClassDeclarationNode >> tokenVariables [
^ #(#classToken #name #implementsToken #extendsToken)
^ #(#classToken #name #implementsToken #permitsToken #extendsToken)
]

{ #category : #generated }
Expand Down

0 comments on commit 5d21c09

Please sign in to comment.