Commit 794d6db0 authored by Ricolove's avatar Ricolove
Browse files

修正一些笔误

parent 3079963c
......@@ -6,7 +6,7 @@
## From Algorithm To Implement
## From Algorithm to Implement
本章关注的是如何将抽象的分析算法落实到代码实现,其中的坑会有哪些。至于某个算法的具体实现的坑,请看 FAQ 章节。
......@@ -70,7 +70,7 @@
假设没有 visitor 模式,我们要实现 `addReachable`,那么我们就要 `getIR().getStmts.forEach(stmt -> ...)`,然后里面用大量的 `stmt instanceof XXX` 判断来做相应的处理。
假设没有 visitor 模式,我们要实现 `addReachable`,那么我们就要 `getIR().getStmts().forEach(stmt -> ...)`,然后里面用大量的 `stmt instanceof XXX` 判断来做相应的处理。
当然这也是可行的。但是,因为框架提供了对 visitor 模式的支持,那么我们就可以直接让所有的 `stmt``accept` 我们的 `StmtProcessor`
......@@ -127,4 +127,4 @@
* 你可能注意到了,`int a = 1`, `String b = "word"` 这样的语句在本次实验中并不会出现,所以不需要针对它们做支持。
*`addReachable` 只需要处理 `New`, `Copy`, 以及静态的 `Inoke`, `StoreField`, `LoadField`,不需要多处理别的。
* 对于静态的 `Invoke`,其处理逻辑与 `processCall` 基本相同。需要注意的是,手册中 `1) do not need to dispatch on the receiver object` 说的是不需要**对 `recv` 做 dispatch**(因为 `recv == null`),但是不代表你不需要做 dispatch,这里依旧是调用 `resolveCallee` 就好了。
* 如果你是和我一样先写的 `analyze` ,那么你应该知道 `T.f` 应该去什么地方找了。
\ No newline at end of file
* 如果你是和我一样先写的 `analyze` ,那么你应该知道 `T.f` 应该去什么地方找了。
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment