{
startProfile(Operation.GET_SYNTAX_TREE);
try
{
getProject().clearScopeCacheForCompilationUnit(this);
TranscoderBase transcoder = embedData.getTranscoder();
if (transcoder instanceof SkinTranscoder)
{
List<ICompilerProblem> noProblems = Collections.emptyList();
return new SyntaxTreeRequestResult(getRootFileSpecification().getLastModified(), noProblems);
}
else
{
Collection<ICompilerProblem> problems = new LinkedList<ICompilerProblem>();
FileNode fileNode = transcoder.buildAST(problems, getAbsoluteFilename());
final ASFileScope fileScope = fileNode.getFileScope();
addScopeToProjectScope(new ASFileScope[] { fileScope });
markClassAsEmbed(fileScope);
return new SyntaxTreeRequestResult(fileNode, fileNode.getIncludeHandler().getIncludedFiles(), getRootFileSpecification().getLastModified(), problems);