diff --git a/Source/abstractSyntaxTree/Class/MethodDecl.java b/Source/abstractSyntaxTree/Class/MethodDecl.java index 5005324..10b2fa1 100644 --- a/Source/abstractSyntaxTree/Class/MethodDecl.java +++ b/Source/abstractSyntaxTree/Class/MethodDecl.java @@ -8,6 +8,8 @@ import java.util.List; public class MethodDecl implements IClass { + // name + private HashMap>> methodContext; private HashMap> typeContext; diff --git a/Source/abstractSyntaxTree/Modifier/IModifier.java b/Source/abstractSyntaxTree/Modifier/IModifier.java deleted file mode 100644 index e8c98ab..0000000 --- a/Source/abstractSyntaxTree/Modifier/IModifier.java +++ /dev/null @@ -1,11 +0,0 @@ -package abstractSyntaxTree.Modifier; - -public interface IModifier { - - //TODO: Maybe we can just use an enum for the Modifier - // if there is no typeCheck and no CodeGen - - // not type or type check - - // visit method for code generation -} diff --git a/Source/abstractSyntaxTree/Modifier/PrivateModifier.java b/Source/abstractSyntaxTree/Modifier/PrivateModifier.java deleted file mode 100644 index 3a51ce6..0000000 --- a/Source/abstractSyntaxTree/Modifier/PrivateModifier.java +++ /dev/null @@ -1,4 +0,0 @@ -package abstractSyntaxTree.Modifier; - -public class PrivateModifier implements IModifier{ -} diff --git a/Source/abstractSyntaxTree/Modifier/PublicModifier.java b/Source/abstractSyntaxTree/Modifier/PublicModifier.java deleted file mode 100644 index ebc0bab..0000000 --- a/Source/abstractSyntaxTree/Modifier/PublicModifier.java +++ /dev/null @@ -1,4 +0,0 @@ -package abstractSyntaxTree.Modifier; - -public class PublicModifier implements IModifier{ -} diff --git a/Source/abstractSyntaxTree/Program.java b/Source/abstractSyntaxTree/Program.java index 6df43b2..0c9aa5d 100644 --- a/Source/abstractSyntaxTree/Program.java +++ b/Source/abstractSyntaxTree/Program.java @@ -3,9 +3,7 @@ package abstractSyntaxTree; import TypeCheck.TypeCheckResult; import abstractSyntaxTree.Class.FieldDecl; import abstractSyntaxTree.Datatype.RefType; -import org.objectweb.asm.ClassWriter; import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Opcodes; import java.util.HashMap; import java.util.List; @@ -13,10 +11,7 @@ import java.util.List; public class Program { public List classes; - //TODO: Rename typeContext to attributeContext or something public HashMap> typeContext; // (class, (type, identifier)) - - //TODO: Change Data structure and make parameter a list public HashMap>> methodContext; // (class, (returntype, (identifier, parameter))) public TypeCheckResult typeCheck() throws Exception{ @@ -31,14 +26,7 @@ public class Program { public void codeGen() throws Exception{ for(RefType oneClass : classes){ - ClassWriter cw = new ClassWriter(ClassWriter.COMPUTE_FRAMES); - cw.visit(Opcodes.V1_8, Opcodes.ACC_PUBLIC, "oneClass.className", - null, "java/lang/Object", null); - oneClass.codeGen(cw); - cw.visitEnd(); - byte[] bytecode = cw.toByteArray(); - - //Write the bytecode to a .class file + oneClass.codeGen(); } } }