Beyond Natural Language Processing: Advancing Software Engineering Tasks through Code Structure