vmsystemobject.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 67 行

JAVA
67
字号
/**
 * $Id: VmSystemObject.java,v 1.2 2004/02/15 11:06:48 epr Exp $
 */

package org.jnode.vm;

import java.util.StringTokenizer;

public abstract class VmSystemObject implements BootableObject {
	/**
	 * Mangle an identifier into a ASCII C name
	 * @param s
	 * @return String
	 */
	public static String mangle(String s) {
		final StringBuffer res = new StringBuffer();
		final char[] src = s.toCharArray();
		final int cnt = s.length();
		for (int i = 0; i < cnt; i++) {
			final char ch = src[i];
			if (((ch >= 'a') && (ch <= 'z'))
				|| ((ch >= 'A') && (ch <= 'Z'))
				|| ((ch >= '0') && (ch <= '9'))) {
				res.append(ch);
			} else {
				res.append(Integer.toHexString(ch));
			}
		}
		return res.toString();
	}

	/**
	 * Mangle a classname into a ASCII C name
	 * @param s
	 * @return String
	 */
	public static String mangleClassName(String s) {
		s = s.replace('/', '.'); 
		final StringTokenizer tok = new StringTokenizer(s, ".");
		final StringBuffer res = new StringBuffer();
		int q = tok.countTokens();
		res.append('Q');
		res.append(q);
		while (tok.hasMoreTokens()) {
			String v = tok.nextToken();
			res.append(v.length());
			res.append(v);
		}
		return res.toString();
	}
	
	/**
	 * Verify this object, just before it is written to the boot image during
	 * the build process.
	 */
	public void verifyBeforeEmit() {}
	
	/**
	 * This method is called in the build process to get extra information
	 * on this object. This extra information is added to the listing file.
	 * @return String
	 */
	public String getExtraInfo() {
		return null;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?