Fixed class offset in constant pool when newly inserted
This commit is contained in:
parent
29faab5112
commit
79ddafbf9a
@ -1,7 +1,7 @@
|
|||||||
// compile all test files using:
|
// compile all test files using:
|
||||||
// ls Test/JavaSources/*.java | grep -v ".*Main.java" | xargs -I {} cabal run compiler {}
|
// ls Test/JavaSources/*.java | grep -v ".*Main.java" | xargs -I {} cabal run compiler {}
|
||||||
// compile (in project root) using:
|
// compile (in project root) using:
|
||||||
// javac -g:none -sourcepath Test/JavaSources/ Test/JavaSources/Main.java
|
// pushd Test/JavaSources; javac -g:none Main.java; popd
|
||||||
// afterwards, run using
|
// afterwards, run using
|
||||||
// java -ea -cp Test/JavaSources/ Main
|
// java -ea -cp Test/JavaSources/ Main
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@ getKnownMembers constants = let
|
|||||||
getClassIndex :: [ConstantInfo] -> String -> ([ConstantInfo], Int)
|
getClassIndex :: [ConstantInfo] -> String -> ([ConstantInfo], Int)
|
||||||
getClassIndex constants name = case findClassIndex constants name of
|
getClassIndex constants name = case findClassIndex constants name of
|
||||||
Just index -> (constants, index)
|
Just index -> (constants, index)
|
||||||
Nothing -> (constants ++ [ClassInfo (fromIntegral (length constants)), Utf8Info name], fromIntegral (length constants))
|
Nothing -> (constants ++ [ClassInfo (fromIntegral (length constants) + 2), Utf8Info name], fromIntegral (length constants) + 1)
|
||||||
|
|
||||||
-- get the index for a field within a class, creating it if it does not exist.
|
-- get the index for a field within a class, creating it if it does not exist.
|
||||||
getFieldIndex :: [ConstantInfo] -> (String, String, String) -> ([ConstantInfo], Int)
|
getFieldIndex :: [ConstantInfo] -> (String, String, String) -> ([ConstantInfo], Int)
|
||||||
|
Loading…
Reference in New Issue
Block a user