You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cls.enter(dotc.core.Symbols.newSymbol(cls, name.toTermName, Flags.ParamAccessor, tpe, Symbol.noSymbol)) // add other flags (local, private, privatelocal) and set privateWithin
* @paramparents Function returning the parent classes of the class. The first parent must not be a trait.
3873
+
* Takes the constructed class symbol as an argument. Calling `cls.typeRef.asType` as part of this function will lead to cyclic reference errors.
3874
+
* @paramdecls The member declarations of the class provided the symbol of this class
3875
+
* @paramselfType The self type of the class if it has one
3876
+
* @paramconstructorMethodType The MethodOrPoly type representing the type of the constructor.
3877
+
* PolyType may only represent only the first clause of the constructor.
3878
+
* @paramclsFlags extra flags with which the class symbol should be constructed.
3879
+
* @paramclsPrivateWithin the symbol within which this new class symbol should be private. May be noSymbol
3880
+
* @paramconsFlags extra flags with which the constructor symbol should be constructed.
3881
+
* @paramconsPrivateWithin the symbol within which the constructor for this new class symbol should be private. May be noSymbol
3882
+
* @paramconParamFlags extra flags with which the constructor parameter symbols should be constructed. Must match the shape of @paramconstructorMethodType
3883
+
*
3884
+
*/
3885
+
@experimental defnewClass(
3886
+
owner: Symbol,
3887
+
name: String,
3888
+
parents: Symbol=>List[TypeRepr],
3889
+
decls: Symbol=>List[Symbol],
3890
+
selfType: Option[TypeRepr],
3891
+
constructorMethodType: TypeRepr=>MethodOrPoly,
3892
+
clsFlags: Flags,
3893
+
clsPrivateWithin: Symbol,
3894
+
consFlags: Flags,
3895
+
consPrivateWithin: Symbol,
3896
+
conParamFlags: List[List[Flags]]
3897
+
):Symbol
3854
3898
3855
3899
/** Generates a new module symbol with an associated module class symbol,
3856
3900
* this is equivalent to an `object` declaration in source code.
0 commit comments