ひらメソッドで読むJDT
JDT(Eclipse のJavaコンパイラ) はどれくらい苦労して実装されているのかを調べたくなったので,ソースを読むことにした.
package org.eclipse.jdt.internal.compiler.ast; の頭から開始
AbstractMethodDeclaration.java
public abstract class AbstractMethodDeclaration extends ASTNode
いきなりASTNode という未探索のクラス発見
ASTNode.java
public abstract class ASTNode implements TypeConstants, TypeIds {
次にTypeConstans と TypeIds を発見
TypeIds.java
public interface TypeIds { ... }
この2つには,いろんな型の定数があるけど.java.io のクラスまで入っているのはどういうことだろう(java.lang.配下ならともかく)
ASTNode.java
に戻ってきた.
... private static int checkInvocationArgument( BlockScope scope, Expression argument, TypeBinding parameterType, TypeBinding argumentType, TypeBinding originalParameterType) {
BlockScope.java
public class BlockScope extends Scope {
Scope.java
public static int compareTypes(TypeBinding left, TypeBinding right) {
えーと,ここまで.
たまにインデントがずれているところがあるが,ここは自動生成されているのか..?
よく見たら,ひらメソッドは
と書いてある.関数...オブジェクト指向言語にはメソッドしかないけど,この読み方は向いているのかな?なんか新しい型があるたびに他のクラスに飛ばされるのでせわしない.まあ,順序を考えずに読めるのがいいのか.