当前位置: 首页 > 知识库问答 >
问题:

java中的特殊“%”

龚安民
2023-03-14

当我阅读Eclipse的源代码时,我发现了一个名为“$classname$.java”的文件。其部分内容如下:

package $packageName$;

%  if viewType =="treeViewer"
import java.util.ArrayList;
% endif

import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.*;
import org.eclipse.jface.viewers.*;
import org.eclipse.swt.graphics.Image;
import org.eclipse.jface.action.*;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.ui.*;
import org.eclipse.swt.widgets.Menu;
import org.eclipse.swt.SWT;
% if viewType == "treeViewer"
import org.eclipse.core.runtime.IAdaptable;
% endif
% Options in the template:
%
% packageName
% className
% viewName
% viewCategoryId
% viewCategoryName
% viewType
% doubleClick
% popup
% localToolbar
% localPulldown
% sorter
% filter
% drillDown

public class $className$ extends ViewPart {
%if viewType == "tableViewer"
    private TableViewer viewer;
%else
%  if viewType == "treeViewer"
    private TreeViewer viewer;
    private DrillDownAdapter drillDownAdapter;
%  endif
%endif
%if (localToolbar || localPulldown || popup)
    private Action action1;
    private Action action2;
%endif
%if doubleClick
    private Action doubleClickAction;
%endif

我试图提取if的AST,然后我出现了一个错误。“%if”和“%endif”在Java中是什么意思?我怎么才能得到它的AST呢?

共有1个答案

莫欣悦
2023-03-14

这不是一个有效的Java源文件,它要么是一个用于生成某种类型的Java文件的Eclipse文件模板,要么是一个首先需要通过预处理器运行的文件,然后才是一个实际有效的Java源文件

如果是第一个,那么您甚至不应该尝试从中获取一个AST,如果是后者,您需要找出这个项目使用的是哪个预处理器(Java中没有标准的),并通过它运行文件,从预处理步骤的结果中提取AST。

 类似资料:
  • 问题内容: 我试图编写一个文件名带有特殊字符的文件,例如“téééê.mp3”,但文件名始终保留“?” 我尝试了几种方法来代替字符“é”,但没有找到解决方法: 我也尝试过这种方式。 问题答案: 尝试: 现在,如果这是您的文件系统不支持此类文件名的问题,您将得到一个;。不同于,新的API拒绝创建可能最终无法读取的文件名。 如果确实无法创建路径,那么,您将必须找到某种逃避和撤消逃避的方法。也许写一个别

  • 我正在制作一个程序,从传奇联盟api获取数据,它分析你当前的游戏,并向你显示你的对手的名字,等级和东西。但我有一个问题,因为要获得某人的排名,我需要访问一个特定的url,其中包含他的尼克。问题是,一些玩家在他们的刻痕中放置了å、á、è、ö之类的角色,当这种情况发生时,我的程序就会停止工作。我将向您展示我用来实现这一点的部分代码: 这就是它抛出的错误:java。io。IOException:服务器返

  • 问题内容: import java.util.Scanner; import java.util.regex.*; public class io{ public static void main(String args[]){ Scanner scan = new Scanner(System.in); String c; if((c=scan.nextLine())!=null) { Patt

  • 我应该创建一个由7个整数组成的数组,称为sevenInt。要求用户输入7个介于80和120之间的整数,并将每个数字存储到sevenInt中。如果用户没有输入正确的整数范围,请再次询问,直到用户正确输入。然后,在七位数中显示偶数。 我的代码在一定程度上有效。 1) 如果我输入了错误的整数范围 例如,输入80-120之间的7个整数:(系统提示) 79808182838485(用户输入) 请输入80-1

  • 问题内容: 我正在阅读文件,但我不知道如何阅读口音和特殊字符,这是我阅读的代码,我必须添加其他编纂,但我不知道该怎么做 谢谢 问题答案: 请尝试以下操作:

  • 问题内容: 在Java中,我需要使用HTTP Post将请求发送到服务器,但是如果URL的参数中包含一些特殊字符,它将在Exception下面抛出 java.lang.IllegalArgumentException:URLDecoder:转义(%)模式中的非法十六进制字符-对于输入字符串:“&’” 发送数据的代码 在服务器端,我使用以下代码读取信息 代码可以正常工作,但是如果我输入一些特殊字符,