mirror of
https://github.com/ParkerTenBroeck/coroutines.git
synced 2026-06-07 05:08:51 -04:00
flags added
This commit is contained in:
parent
ba6c68acbd
commit
2cca81977b
2 changed files with 5 additions and 2 deletions
|
|
@ -10,6 +10,7 @@ import java.lang.classfile.*;
|
||||||
import java.lang.classfile.attribute.*;
|
import java.lang.classfile.attribute.*;
|
||||||
import java.lang.classfile.constantpool.ClassEntry;
|
import java.lang.classfile.constantpool.ClassEntry;
|
||||||
import java.lang.constant.ClassDesc;
|
import java.lang.constant.ClassDesc;
|
||||||
|
import java.lang.constant.ConstantDescs;
|
||||||
import java.lang.reflect.AccessFlag;
|
import java.lang.reflect.AccessFlag;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
|
|
@ -77,7 +78,7 @@ public class GeneratorClassLoader extends ClassLoader {
|
||||||
mb.withCode(builder::buildSourceMethodShim);
|
mb.withCode(builder::buildSourceMethodShim);
|
||||||
});
|
});
|
||||||
if(builder.shouldBeInnerClass()){
|
if(builder.shouldBeInnerClass()){
|
||||||
innerCl.add(InnerClassInfo.of(builder.CD_this, Optional.of(clm.thisClass().asSymbol()), Optional.of(builder.CD_this.displayName()), AccessFlag.PUBLIC, AccessFlag.FINAL, AccessFlag.STATIC));
|
innerCl.add(InnerClassInfo.of(builder.CD_this, Optional.of(clm.thisClass().asSymbol()), Optional.of(builder.CD_this.displayName()), AccessFlag.PRIVATE, AccessFlag.FINAL, AccessFlag.STATIC));
|
||||||
nestMem.add(ClassDesc.of(builder.CD_this.displayName()));
|
nestMem.add(ClassDesc.of(builder.CD_this.displayName()));
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,7 @@ public abstract class StateMachineBuilder {
|
||||||
clb.withField(STATE_NAME, ConstantDescs.CD_int, ClassFile.ACC_PRIVATE);
|
clb.withField(STATE_NAME, ConstantDescs.CD_int, ClassFile.ACC_PRIVATE);
|
||||||
|
|
||||||
// constructor
|
// constructor
|
||||||
clb.withMethod(ConstantDescs.INIT_NAME, MTD_init, ClassFile.ACC_PUBLIC, mb -> mb.withCode(cob -> {
|
clb.withMethod(ConstantDescs.INIT_NAME, MTD_init, ClassFile.ACC_PRIVATE, mb -> mb.withCode(cob -> {
|
||||||
cob.aload(0).invokespecial(ConstantDescs.CD_Object, ConstantDescs.INIT_NAME, ConstantDescs.MTD_void);
|
cob.aload(0).invokespecial(ConstantDescs.CD_Object, ConstantDescs.INIT_NAME, ConstantDescs.MTD_void);
|
||||||
params(1, (param, slot, type) -> {
|
params(1, (param, slot, type) -> {
|
||||||
cob.aload(0).loadLocal(TypeKind.from(type), slot).putfield(CD_this, param, type);
|
cob.aload(0).loadLocal(TypeKind.from(type), slot).putfield(CD_this, param, type);
|
||||||
|
|
@ -146,6 +146,8 @@ public abstract class StateMachineBuilder {
|
||||||
cob.return_();
|
cob.return_();
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
clb.withFlags(AccessFlag.PUBLIC, AccessFlag.FINAL);
|
||||||
|
|
||||||
buildStateMachineMethod(clb);
|
buildStateMachineMethod(clb);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue