@@ -63,7 +63,7 @@ class Importer(val output: java.io.PrintWriter) {
63
63
m.protectName()
64
64
m.tpe = TypeRef (tsym.name)
65
65
}
66
- val applySym = sym.newMethod(Name (" apply" ))
66
+ val applySym = sym.newMethod(Name (" apply" ), Set .empty[ Modifier ] )
67
67
applySym.params += new ParamSymbol (Name (" value" ), TypeRef (tsym.name))
68
68
applySym.resultType = TypeRef .String
69
69
applySym.isBracketAccess = true
@@ -83,7 +83,7 @@ class Importer(val output: java.io.PrintWriter) {
83
83
processMembersDecls(owner, sym, members)
84
84
if (! sym.members.exists(_.name == Name .CONSTRUCTOR )) {
85
85
processDefDecl(sym, Name .CONSTRUCTOR ,
86
- FunSignature (Nil , Nil , Some (TypeRefTree (CoreType (" void" )))))
86
+ FunSignature (Nil , Nil , Some (TypeRefTree (CoreType (" void" )))), Set .empty[ Modifier ] )
87
87
}
88
88
89
89
case InterfaceDecl (TypeNameName (name), tparams, inheritance, members) =>
@@ -115,7 +115,7 @@ class Importer(val output: java.io.PrintWriter) {
115
115
sym.tpe = typeToScala(tpe)
116
116
117
117
case FunctionDecl (IdentName (name), signature) =>
118
- processDefDecl(owner, name, signature)
118
+ processDefDecl(owner, name, signature, Set .empty[ Modifier ] )
119
119
120
120
case ImportDecl => // Ignore imports
121
121
@@ -140,14 +140,14 @@ class Importer(val output: java.io.PrintWriter) {
140
140
141
141
for (member <- members) member match {
142
142
case CallMember (signature) =>
143
- processDefDecl(owner, Name (" apply" ), signature, protectName = false )
143
+ processDefDecl(owner, Name (" apply" ), signature, Set .empty[ Modifier ], protectName = false )
144
144
145
145
case ConstructorMember (sig @ FunSignature (tparamsIgnored, params, Some (resultType)))
146
146
if owner.isInstanceOf [ModuleSymbol ] && resultType == companionClassRef =>
147
147
val classSym = enclosing.getClassOrCreate(owner.name)
148
148
classSym.isTrait = false
149
149
processDefDecl(classSym, Name .CONSTRUCTOR ,
150
- FunSignature (Nil , params, Some (TypeRefTree (CoreType (" void" )))))
150
+ FunSignature (Nil , params, Some (TypeRefTree (CoreType (" void" )))), Set .empty[ Modifier ] )
151
151
152
152
case PropertyMember (PropertyNameName (name), opt, tpe, mods) if mods(Modifier .Static ) =>
153
153
assert(owner.isInstanceOf [ClassSymbol ],
@@ -162,28 +162,28 @@ class Importer(val output: java.io.PrintWriter) {
162
162
if owner.isInstanceOf [ClassSymbol ] && ! modifiers(Modifier .Static ) =>
163
163
owner.asInstanceOf [ClassSymbol ].isTrait = false
164
164
processDefDecl(owner, Name .CONSTRUCTOR ,
165
- FunSignature (Nil , signature.params, Some (TypeRefTree (CoreType (" void" )))))
165
+ FunSignature (Nil , signature.params, Some (TypeRefTree (CoreType (" void" )))), modifiers )
166
166
167
167
case FunctionMember (PropertyNameName (name), opt, signature, modifiers)
168
168
if modifiers(Modifier .Static ) =>
169
169
assert(owner.isInstanceOf [ClassSymbol ],
170
170
s " Cannot process static member $name in module definition " )
171
171
val module = enclosing.getModuleOrCreate(owner.name)
172
- processDefDecl(module, name, signature)
172
+ processDefDecl(module, name, signature, modifiers )
173
173
174
- case FunctionMember (PropertyNameName (name), opt, signature, _ ) =>
175
- processDefDecl(owner, name, signature)
174
+ case FunctionMember (PropertyNameName (name), opt, signature, modifiers ) =>
175
+ processDefDecl(owner, name, signature, modifiers )
176
176
177
177
case IndexMember (IdentName (indexName), indexType, valueType) =>
178
178
val indexTpe = typeToScala(indexType)
179
179
val valueTpe = typeToScala(valueType)
180
180
181
- val getterSym = owner.newMethod(Name (" apply" ))
181
+ val getterSym = owner.newMethod(Name (" apply" ), Set .empty[ Modifier ] )
182
182
getterSym.params += new ParamSymbol (indexName, indexTpe)
183
183
getterSym.resultType = valueTpe
184
184
getterSym.isBracketAccess = true
185
185
186
- val setterSym = owner.newMethod(Name (" update" ))
186
+ val setterSym = owner.newMethod(Name (" update" ), Set .empty[ Modifier ] )
187
187
setterSym.params += new ParamSymbol (indexName, indexTpe)
188
188
setterSym.params += new ParamSymbol (Name (" v" ), valueTpe)
189
189
setterSym.resultType = TypeRef .Unit
@@ -201,7 +201,7 @@ class Importer(val output: java.io.PrintWriter) {
201
201
case ObjectType (members) if members.forall(_.isInstanceOf [CallMember ]) =>
202
202
// alternative notation for overload methods - #3
203
203
for (CallMember (signature) <- members)
204
- processDefDecl(owner, name, signature, protectName)
204
+ processDefDecl(owner, name, signature, modifiers, protectName)
205
205
case _ =>
206
206
val sym = owner.newField(name, modifiers)
207
207
if (protectName)
@@ -212,12 +212,12 @@ class Importer(val output: java.io.PrintWriter) {
212
212
}
213
213
214
214
private def processDefDecl (owner : ContainerSymbol , name : Name ,
215
- signature : FunSignature , protectName : Boolean = true ) {
215
+ signature : FunSignature , modifiers : Modifiers , protectName : Boolean = true ) {
216
216
// Discard specialized signatures
217
217
if (signature.params.exists(_.tpe.exists(_.isInstanceOf [ConstantType ])))
218
218
return
219
219
220
- val sym = owner.newMethod(name)
220
+ val sym = owner.newMethod(name, modifiers )
221
221
if (protectName)
222
222
sym.protectName()
223
223
0 commit comments