アプリケーションのクラスの配線にPicoContainerを使用しています。以下に示すように、すべてが完璧に進んでいますが、1 か所では次のようになります。
CharArrayReader reader = new CharArrayReader(acCode.toCharArray());
CharStream charStream = new CharStream(reader);
Scanner scanner = new Scanner(charStream);
TokenStream tokenStream = new TokenStream(scanner);
ParserGeneratingAST parserGeneratingAST = new ParserGeneratingAST(tokenStream);
--> AbstractSyntaxTree ast = parserGeneratingAST.generateAST(); <-- here is the problem
SymbolsTable symbolsTable = new SymbolsTable();
ErrorsTable errorsTable = new ErrorsTable();
SymbolsTableFillerVisitor symbolsTableFillerVisitor = new SymbolsTableFillerVisitor(symbolsTable, errorsTable);
TypeCheckingVisitor typeCheckingVisitor = new TypeCheckingVisitor(symbolsTable, errorsTable);
InstructionsList instructionsList = new InstructionsList();
CodeGenerationVisitor codeGenerationVisitor = new CodeGenerationVisitor(instructionsList);
symbolsTableFillerVisitor.visit(ast);
typeCheckingVisitor.visit(ast);
codeGenerationVisitor.visit(ast);
問題の行は
AbstractSyntaxTree ast = parserGeneratingAST.generateAST();
PicoContainer を使用してこの問題を回避する方法はありますか? 可能であれば、注釈なしでクラスを維持したいと思います。
ありがとう