]>
git.proxmox.com Git - mirror_edk2.git/blob - Tools/Source/MigrationTools/org/tianocore/migration/Func.java
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 package org
.tianocore
.migration
;
15 import java
.util
.regex
.*;
18 Func(String r8func
,String r8lib
,String r9func
,String r9lib
) {
24 Func(String
[] linecontext
) {
25 r8funcname
= linecontext
[1];
26 r8libname
= linecontext
[0];
27 r9funcname
= linecontext
[2];
28 r9libname
= linecontext
[3];
30 public String r8funcname
;
31 public String r8libname
;
32 public String r9funcname
;
33 public String r9libname
;
35 public static Pattern ptnbrace
= Pattern
.compile("\\{[^\\{\\}]*\\}",Pattern
.MULTILINE
);
36 public static Pattern ptnfuncc
= Pattern
.compile("(?<!->)([a-zA-Z_]\\w*)\\s*\\(",Pattern
.MULTILINE
);
37 public static Pattern ptnfuncd
= Pattern
.compile("([a-zA-Z_]\\w*)\\s*\\([^\\)\\(]*\\)\\s*@",Pattern
.MULTILINE
);
38 public static Pattern ptnlowcase
= Pattern
.compile("[a-z]"); // must be removed
40 private static String reservedwords
= "if for pack while switch return sizeof";
42 public static String
register(Matcher mtr
, ModuleInfo mi
, Database db
) {
45 temp
= mtr
.group(1); // both changed and not changed funcc are registered , for finding all the non-local function calls
46 Matcher mtrlowcase
= ptnlowcase
.matcher(temp
); // must be removed , so the two funcs can be merged
47 if (!reservedwords
.contains(temp
) && mtrlowcase
.find()) {
48 mi
.hashfuncc
.add(temp
);
53 public static String registerFuncD(Matcher mtr, ModuleInfo mi, Database db) {
56 temp = mtr.group(1); // both changed and not changed funcd are registered , for finding all the non-local function calls
57 if (!reservedwords.contains(temp)) {
58 mi.hashfuncd.add(temp);