You've already forked lazarus-ccr
* calling objc methods are fixed, overload method name fixed
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@426 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -1502,7 +1502,7 @@ begin
|
||||
AParser.FindNextToken(s, tt);
|
||||
end; {of while}
|
||||
|
||||
if ((_Spec * [td_Int, td_Short, td_Char, td_Long]) = []) then begin
|
||||
if ((_Spec * [td_Unsigned, td_Int, td_Short, td_Char, td_Long]) = []) then begin
|
||||
// if int, short long or char is not specified
|
||||
// volatile or const are
|
||||
Result := tt = tt_Ident;
|
||||
|
@ -148,7 +148,9 @@ begin
|
||||
if vname = '' then vname := TObjCParameterDef(p)._Name;
|
||||
vtype := ObjCToDelphiType(TObjCParameterDef(p)._Res._Name, TObjCParameterDef(p)._Res._IsPointer);
|
||||
if Result <> '' then Result := Result + '; ';
|
||||
Result := Result + vname + ': ' + vtype;
|
||||
|
||||
if Copy(vtype, 1, 5) = 'array' then Result := Result + 'const A'+vname + ': ' + vtype
|
||||
else Result := Result + 'A'+vname + ': ' + vtype;
|
||||
vname := '';
|
||||
end;
|
||||
end;
|
||||
@ -245,9 +247,24 @@ begin
|
||||
Result := (l = 'id') or (l = cl._ClassName);
|
||||
end;
|
||||
|
||||
function GetMethodPascalName(mtd: TClassMethodDef): AnsiString;
|
||||
var
|
||||
i : Integer;
|
||||
obj : TObject;
|
||||
begin
|
||||
Result := mtd._Name;
|
||||
for i := 0 to mtd.Items.Count - 1 do begin
|
||||
obj := mtd.Items[i];
|
||||
if not Assigned(obj) then Continue;
|
||||
if obj is TParamDescr then
|
||||
Result := Result + TParamDescr(obj)._Descr
|
||||
end;
|
||||
end;
|
||||
|
||||
function GetMethodStr(cl: TClassDef; m: TClassMethodDef; ForImplementation: Boolean): AnsiString;
|
||||
var
|
||||
// i : integer;
|
||||
nm : AnsiString;
|
||||
ft : AnsiString;
|
||||
res : AnsiString;
|
||||
begin
|
||||
@ -258,9 +275,10 @@ begin
|
||||
end else
|
||||
ft := '';
|
||||
|
||||
nm := m._Name;
|
||||
if ForImplementation
|
||||
then Result := GetProcFuncHead(m._Name, cl._ClassName, GetMethodParams(m), res, ft)
|
||||
else Result := GetProcFuncHead(m._Name, '', GetMethodParams(m), res, ft)
|
||||
then Result := GetProcFuncHead(nm, cl._ClassName, GetMethodParams(m), res, ft)
|
||||
else Result := GetProcFuncHead(nm, '', GetMethodParams(m), res, ft)
|
||||
end;
|
||||
|
||||
// returns define pas file name form Objective C name, like
|
||||
@ -508,6 +526,24 @@ begin
|
||||
Result := Format('Str%s_%s', [ClassName, ConstName]);
|
||||
end;
|
||||
|
||||
|
||||
function GetMethodConstName(mtd: TClassMethodDef): AnsiString;
|
||||
var
|
||||
i : Integer;
|
||||
obj : TObject;
|
||||
begin
|
||||
Result := mtd._Name;
|
||||
for i := 0 to mtd.Items.Count - 1 do begin
|
||||
obj := mtd.Items[i];
|
||||
if not Assigned(obj) then Continue;
|
||||
if obj is TParamDescr then
|
||||
Result := Result + TParamDescr(obj)._Descr
|
||||
else if obj is TObjCParameterDef then
|
||||
Result := Result + ':';
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
procedure WriteOutClassToHeader(cl : TClassDef; subs: TStrings; conststr: TStrings);
|
||||
var
|
||||
i : Integer;
|
||||
@ -517,6 +553,7 @@ var
|
||||
mtd : TClassMethodDef;
|
||||
obj : TObject;
|
||||
cs : AnsiString;
|
||||
nm : AnsiString;
|
||||
begin
|
||||
cs := GetClassConst(cl._ClassName, cl._ClassName);
|
||||
if conststr.IndexOf(cs) < 0 then begin
|
||||
@ -530,12 +567,15 @@ begin
|
||||
if obj is TClassMethodDef then begin
|
||||
mtd := TClassMethodDef(cl.Items[i]);
|
||||
|
||||
cs := GetClassConst(cl._ClassName, mtd._Name);
|
||||
nm := GetMethodPascalName(mtd);
|
||||
cs := GetClassConst(cl._ClassName, nm);
|
||||
if conststr.IndexOf(cs) < 0 then begin
|
||||
conststr.Add(cs);
|
||||
ss := Format(' %s = ''%s'';', [cs, mtd._Name]);
|
||||
ss := Format(' %s = ''%s'';', [cs, GetMethodConstName(mtd)]);
|
||||
subs.add(ss);
|
||||
end;
|
||||
mtd._Name := nm;
|
||||
|
||||
end else if obj is TPrecompiler then begin
|
||||
WriteOutIfDefPrecompiler(TPrecompiler(obj), ' ', subs);
|
||||
end;
|
||||
@ -601,14 +641,17 @@ begin
|
||||
end;
|
||||
|
||||
function GetPascalConstValue(const Vl: AnsiString): AnsiString;
|
||||
var
|
||||
ws : AnsiString;
|
||||
begin
|
||||
Result := Vl;
|
||||
//todo: improve! check at h2pas
|
||||
Result := ReplaceStr('<<', 'shl', vl);
|
||||
Result := ReplaceStr('>>', 'shr', Result);
|
||||
Result := ReplaceStr('||', 'or', Result);
|
||||
Result := ReplaceStr('|', 'or', Result);
|
||||
Result := ReplaceStr('&&', 'and', Result);
|
||||
Result := ReplaceStr('&', 'and', Result);
|
||||
repeat ws := Result; Result := ReplaceStr('<<', 'shl', ws); until Result = ws;
|
||||
repeat ws := Result; Result := ReplaceStr('>>', 'shr', ws); until Result = ws;
|
||||
repeat ws := Result; Result := ReplaceStr('||', 'or', ws); until Result = ws;
|
||||
repeat ws := Result; Result := ReplaceStr('|', 'or', ws); until Result = ws;
|
||||
repeat ws := Result; Result := ReplaceStr('&&', 'and', ws); until Result = ws;
|
||||
repeat ws := Result; Result := ReplaceStr('&', 'and', ws); until Result = ws;
|
||||
end;
|
||||
|
||||
procedure WriteOutEnumValues(enm: TEnumTypeDef; const Prefix: AnsiString; st: TStrings);
|
||||
@ -903,6 +946,7 @@ var
|
||||
i : Integer;
|
||||
// cnt : Integer;
|
||||
s : AnsiString;
|
||||
nm : AnsiString;
|
||||
j : Integer;
|
||||
obj : TObject; // or TEntity
|
||||
|
||||
@ -929,9 +973,10 @@ begin
|
||||
for j := 0 to cl.Items.Count - 1 do begin
|
||||
obj := TObject(cl.Items[j]);
|
||||
if obj is TClassMethodDef then begin
|
||||
i := mtds.indexOf(TClassMethodDef(obj)._Name);
|
||||
nm := TClassMethodDef(obj)._Name;
|
||||
i := mtds.indexOf(nm);
|
||||
if i < 0 then
|
||||
mtds.Add( TClassMethodDef(obj)._Name)
|
||||
mtds.Add(nm)
|
||||
else
|
||||
mtds.Objects[i] := TObject(Integer(mtds.Objects[i]) + 1);
|
||||
end;
|
||||
@ -942,7 +987,8 @@ begin
|
||||
if obj is TClassMethodDef then begin
|
||||
WriteOutIfComment(cl.Items, j - 1, ' ', subs);
|
||||
s := GetMethodStr(cl, TClassMethodDef(cl.Items[j]), false);
|
||||
i := mtds.IndexOf(TClassMethodDef(cl.Items[j])._Name);
|
||||
nm := TClassMethodDef(cl.Items[j])._Name;
|
||||
i := mtds.IndexOf(nm);
|
||||
if Integer(mtds.Objects[i]) > 0 then s := s + ' overload;';
|
||||
subs.Add(SpacePrefix + s);
|
||||
end else if obj is TPrecompiler then begin
|
||||
@ -960,15 +1006,8 @@ end;
|
||||
procedure WriteOutClassesSection(hdr: TObjCHeader; st: TStrings);
|
||||
var
|
||||
i : integer;
|
||||
// cl : TClassDef;
|
||||
// j : integer;
|
||||
// s : AnsiString;
|
||||
subs : TStringList;
|
||||
begin
|
||||
BeginSection('CLASSES', st);
|
||||
//BeginSection(GetIfDefFileName(hdr._FileName, 'C'), st);
|
||||
BeginExcludeSection( GetIfDefFileName(hdr._FileName, 'C'), st);
|
||||
|
||||
subs := TStringList.Create;
|
||||
try
|
||||
for i := 0 to hdr.Items.Count - 1 do
|
||||
@ -985,14 +1024,17 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
if subs.Count > 0 then begin
|
||||
st.Add('type');
|
||||
if subs.Count = 0 then Exit;
|
||||
BeginSection('CLASSES', st);
|
||||
BeginExcludeSection( GetIfDefFileName(hdr._FileName, 'C'), st);
|
||||
try
|
||||
st.AddStrings(subs);
|
||||
finally
|
||||
EndSection(st);
|
||||
EndSection(st);
|
||||
end;
|
||||
|
||||
finally
|
||||
EndSection(st);
|
||||
EndSection(st);
|
||||
subs.Free;
|
||||
end;
|
||||
end;
|
||||
@ -1041,9 +1083,9 @@ begin
|
||||
obj := TObject(mtd.Items[i]);
|
||||
if obj is TParamDescr then begin
|
||||
if vName <> '' then Result := Result + vname + ', ';
|
||||
vname := TParamDescr(obj)._Descr;
|
||||
vname := 'A'+TParamDescr(obj)._Descr;
|
||||
end else if obj is TObjCParameterDef then begin
|
||||
if vname = '' then vname := TObjCParameterDef(obj)._Name;
|
||||
if vname = '' then vname := 'A'+TObjCParameterDef(obj)._Name;
|
||||
end;
|
||||
end;
|
||||
Result := Result + vname;
|
||||
@ -1084,9 +1126,14 @@ var
|
||||
s : AnsiString;
|
||||
typeName : AnsiString;
|
||||
cl : TClassDef;
|
||||
|
||||
callobj : AnsiString;
|
||||
begin
|
||||
cl := TClassDef(mtd.Owner);
|
||||
s := Format('vmethod(Handle, sel_registerName(PChar(Str%s_%s)), %s)', [cl._ClassName, mtd._Name, GetParamsNames(mtd)]);
|
||||
if mtd._IsClassMethod then callobj := 'ClassID'
|
||||
else callobj := 'Handle';
|
||||
s := Format('vmethod(%s, sel_registerName(PChar(Str%s_%s)), %s)', [callobj, cl._ClassName, mtd._Name, GetParamsNames(mtd)]);
|
||||
|
||||
if ObjCToDelphiType(mtd.GetResultType._Name, mtd.GetResultType._IsPointer) <> '' then
|
||||
s := 'Result := ' + s;
|
||||
ObjCMethodToProcType(mtd, typeName, subs);
|
||||
@ -1104,12 +1151,16 @@ end;
|
||||
// writes out a method to implementation section, that has no params
|
||||
procedure WriteOutMethodNoParams(mtd: TClassMethodDef; subs: TStrings);
|
||||
var
|
||||
s : AnsiString;
|
||||
res : AnsiString;
|
||||
cl : TClassDef;
|
||||
s : AnsiString;
|
||||
res : AnsiString;
|
||||
cl : TClassDef;
|
||||
callobj : AnsiString;
|
||||
begin
|
||||
cl := TClassDef(mtd.owner);
|
||||
s := Format('objc_msgSend(Handle, sel_registerName(PChar(Str%s_%s)), [])', [cl._ClassName, mtd._Name]);
|
||||
if mtd._IsClassMethod then callobj := 'ClassID'
|
||||
else callobj := 'Handle';
|
||||
|
||||
s := Format('objc_msgSend(%s, sel_registerName(PChar(Str%s_%s)), [])', [callobj, cl._ClassName, mtd._Name ]);
|
||||
res := GetMethodResultType(mtd);
|
||||
if res <> '' then begin
|
||||
if res = 'objc.id' then s := 'Result := ' +s
|
||||
@ -1173,16 +1224,26 @@ end;
|
||||
procedure WriteOutImplementationSection(hdr: TObjCHeader; st: TStrings);
|
||||
var
|
||||
i : Integer;
|
||||
subs : TStringList;
|
||||
begin
|
||||
BeginSection('IMPLEMENTATION', st);
|
||||
subs := TStringList.Create;
|
||||
try
|
||||
for i := 0 to hdr.Items.Count - 1 do
|
||||
if Assigned(hdr.Items[i]) then begin
|
||||
if Assigned(hdr.Items[i]) then
|
||||
if (TObject(hdr.Items[i]) is TClassDef) then
|
||||
WriteOutClassToImplementation(TClassDef(hdr.Items[i]), st);
|
||||
end;
|
||||
WriteOutClassToImplementation(TClassDef(hdr.Items[i]), subs);
|
||||
|
||||
if subs.Count = 0 then Exit;
|
||||
|
||||
BeginSection('IMPLEMENTATION', st);
|
||||
try
|
||||
st.AddStrings(subs);
|
||||
finally
|
||||
EndSection(st);
|
||||
end;
|
||||
|
||||
finally
|
||||
EndSection(st);
|
||||
subs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -1216,8 +1277,6 @@ begin
|
||||
}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure FixAppleCategories(Items: TList; category: TClassDef);
|
||||
var
|
||||
i : Integer;
|
||||
@ -1235,6 +1294,11 @@ begin
|
||||
end; {of if}
|
||||
end;
|
||||
|
||||
procedure FixAppleClassDef(cl: TClassDef);
|
||||
begin
|
||||
//nothing todo...
|
||||
end;
|
||||
|
||||
procedure AppleHeaderFix(ent : TEntity);
|
||||
var
|
||||
i : Integer;
|
||||
@ -1263,6 +1327,7 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
// packing list, removing nil references.
|
||||
j := 0;
|
||||
for i := 0 to ent.Items.Count - 1 do
|
||||
if Assigned(ent.Items[i]) then begin
|
||||
@ -1271,11 +1336,39 @@ begin
|
||||
end;
|
||||
ent.Items.Count := j;
|
||||
|
||||
for i := 0 to ent.Items.Count - 1 do
|
||||
for i := 0 to ent.Items.Count - 1 do begin
|
||||
AppleHeaderFix( TEntity(ent.Items[i]));
|
||||
if TEntity(ent.Items[i]) is TClassDef then
|
||||
FixAppleClassDef( TClassDef(ent.Items[i]));
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
procedure WriteOutForwardSection(hdr: TObjCHeader; st: TStrings);
|
||||
var
|
||||
i : integer;
|
||||
subs : TStringList;
|
||||
begin
|
||||
subs := TStringList.Create;
|
||||
try
|
||||
for i := 0 to hdr.Items.Count - 1 do
|
||||
if TObject(hdr.Items[i]) is TClassDef then
|
||||
subs.Add(Format (' %s = class;', [TClassDef(hdr.Items[i])._ClassName]));
|
||||
if subs.Count > 0 then begin
|
||||
BeginSection('FORWARD', st);
|
||||
BeginExcludeSection( GetIfDefFileName(hdr._FileName, '_FORWARD'), st);
|
||||
try
|
||||
st.AddStrings(subs);
|
||||
finally
|
||||
EndSection(st);
|
||||
EndSection(st);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
subs.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure WriteOutIncludeFile(hdr: TObjCHeader; st: TStrings);
|
||||
var
|
||||
// i : integer;
|
||||
@ -1296,6 +1389,7 @@ begin
|
||||
end;
|
||||
|
||||
WriteOutHeaderSection(hdr, st);
|
||||
WriteOutForwardSection(hdr, st);
|
||||
WriteOutClassesSection(hdr, st);
|
||||
WriteOutImplementationSection(hdr, st);
|
||||
except
|
||||
@ -1351,17 +1445,37 @@ begin
|
||||
|
||||
TypeDefReplace['uint32_t'] := 'LongWord';
|
||||
TypeDefReplace['uint8_t'] := 'byte';
|
||||
|
||||
TypeDefReplace['NSUInteger'] := 'LongWord';
|
||||
TypeDefReplace['NSInteger'] := 'Integer';
|
||||
TypeDefReplace['long long'] := 'Int64';
|
||||
|
||||
TypeDefReplace['unsigned char'] := 'byte';
|
||||
|
||||
TypeDefReplace['short'] := 'SmallInt';
|
||||
TypeDefReplace['short int'] := 'SmallInt';
|
||||
|
||||
TypeDefReplace['unsigned short'] := 'Word';
|
||||
TypeDefReplace['unsigned int'] := 'LongWord';
|
||||
TypeDefReplace['unsigned short int'] := 'Word';
|
||||
|
||||
TypeDefReplace['int'] := 'Integer';
|
||||
TypeDefReplace['signed int'] := 'Integer';
|
||||
|
||||
TypeDefReplace['unsigned'] := 'LongWord';
|
||||
TypeDefReplace['unsigned int'] := 'LongWord';
|
||||
|
||||
TypeDefReplace['long long'] := 'Int64';
|
||||
TypeDefReplace['unsigned long long'] := 'Int64';
|
||||
|
||||
TypeDefReplace['float'] := 'Single';
|
||||
TypeDefReplace['CGFloat'] := 'Single';
|
||||
TypeDefReplace['short'] := 'smallInt';
|
||||
|
||||
TypeDefReplace['unit16_t'] := 'Word';
|
||||
TypeDefReplace['int32_t'] := 'Integer';
|
||||
TypeDefReplace['int64_t'] := 'Int64';
|
||||
TypeDefReplace['Class'] := '_Class';
|
||||
|
||||
TypeDefReplace['SRefCon'] := 'Pointer';
|
||||
TypeDefReplace['va_list'] := 'array of const';
|
||||
|
||||
IgnoreTokens.Add('DEPRECATED_IN_MAC_OS_X_VERSION_10_5_AND_LATER');
|
||||
end;
|
||||
|
@ -35,17 +35,17 @@
|
||||
<Filename Value="objcparser.pas"/>
|
||||
<IsPartOfProject Value="True"/>
|
||||
<UnitName Value="Project1"/>
|
||||
<CursorPos X="1" Y="10"/>
|
||||
<CursorPos X="16" Y="18"/>
|
||||
<TopLine Value="3"/>
|
||||
<EditorIndex Value="0"/>
|
||||
<UsageCount Value="71"/>
|
||||
<UsageCount Value="72"/>
|
||||
<Loaded Value="True"/>
|
||||
</Unit0>
|
||||
<Unit1>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<UnitName Value="ObjCParserUtils"/>
|
||||
<CursorPos X="47" Y="8"/>
|
||||
<TopLine Value="1"/>
|
||||
<CursorPos X="92" Y="150"/>
|
||||
<TopLine Value="141"/>
|
||||
<EditorIndex Value="2"/>
|
||||
<UsageCount Value="33"/>
|
||||
<Loaded Value="True"/>
|
||||
@ -53,8 +53,8 @@
|
||||
<Unit2>
|
||||
<Filename Value="ObjCParserTypes.pas"/>
|
||||
<UnitName Value="ObjCParserTypes"/>
|
||||
<CursorPos X="1" Y="1539"/>
|
||||
<TopLine Value="1531"/>
|
||||
<CursorPos X="26" Y="6"/>
|
||||
<TopLine Value="1"/>
|
||||
<EditorIndex Value="1"/>
|
||||
<UsageCount Value="33"/>
|
||||
<Bookmarks Count="1">
|
||||
@ -119,7 +119,7 @@
|
||||
<UnitName Value="pascodeutils"/>
|
||||
<CursorPos X="1" Y="13"/>
|
||||
<TopLine Value="1"/>
|
||||
<UsageCount Value="68"/>
|
||||
<UsageCount Value="69"/>
|
||||
</Unit11>
|
||||
<Unit12>
|
||||
<Filename Value="../appkit/NSWindow.inc"/>
|
||||
@ -190,7 +190,7 @@
|
||||
<IsPartOfProject Value="True"/>
|
||||
<CursorPos X="44" Y="16"/>
|
||||
<TopLine Value="11"/>
|
||||
<UsageCount Value="49"/>
|
||||
<UsageCount Value="50"/>
|
||||
<SyntaxHighlighter Value="C++"/>
|
||||
</Unit22>
|
||||
<Unit23>
|
||||
@ -264,7 +264,104 @@
|
||||
<UsageCount Value="10"/>
|
||||
</Unit33>
|
||||
</Units>
|
||||
<JumpHistory Count="0" HistoryIndex="-1"/>
|
||||
<JumpHistory Count="24" HistoryIndex="23">
|
||||
<Position1>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="135" Column="56" TopLine="131"/>
|
||||
</Position1>
|
||||
<Position2>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1530" Column="13" TopLine="1511"/>
|
||||
</Position2>
|
||||
<Position3>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1439" Column="1" TopLine="1427"/>
|
||||
</Position3>
|
||||
<Position4>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position4>
|
||||
<Position5>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1072" Column="18" TopLine="1060"/>
|
||||
</Position5>
|
||||
<Position6>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1117" Column="120" TopLine="1105"/>
|
||||
</Position6>
|
||||
<Position7>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1133" Column="119" TopLine="1121"/>
|
||||
</Position7>
|
||||
<Position8>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position8>
|
||||
<Position9>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1071" Column="22" TopLine="1071"/>
|
||||
</Position9>
|
||||
<Position10>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1072" Column="24" TopLine="1060"/>
|
||||
</Position10>
|
||||
<Position11>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1117" Column="112" TopLine="1105"/>
|
||||
</Position11>
|
||||
<Position12>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position12>
|
||||
<Position13>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1072" Column="24" TopLine="1060"/>
|
||||
</Position13>
|
||||
<Position14>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position14>
|
||||
<Position15>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1072" Column="19" TopLine="1060"/>
|
||||
</Position15>
|
||||
<Position16>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1117" Column="121" TopLine="1105"/>
|
||||
</Position16>
|
||||
<Position17>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1133" Column="114" TopLine="1121"/>
|
||||
</Position17>
|
||||
<Position18>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="149" Column="32" TopLine="133"/>
|
||||
</Position18>
|
||||
<Position19>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position19>
|
||||
<Position20>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="187" Column="26" TopLine="179"/>
|
||||
</Position20>
|
||||
<Position21>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="1" Column="1" TopLine="1"/>
|
||||
</Position21>
|
||||
<Position22>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="62" Column="26" TopLine="50"/>
|
||||
</Position22>
|
||||
<Position23>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="130" Column="34" TopLine="118"/>
|
||||
</Position23>
|
||||
<Position24>
|
||||
<Filename Value="ObjCParserUtils.pas"/>
|
||||
<Caret Line="153" Column="69" TopLine="137"/>
|
||||
</Position24>
|
||||
</JumpHistory>
|
||||
</ProjectOptions>
|
||||
<CompilerOptions>
|
||||
<Version Value="5"/>
|
||||
|
@ -150,9 +150,8 @@ var
|
||||
st : TStringList;
|
||||
f : Text;
|
||||
err : AnsiString;
|
||||
|
||||
|
||||
begin
|
||||
err := '';
|
||||
writeln('would you like to parse all current directory files .h to inc?');
|
||||
readln(ch);
|
||||
if (ch <> 'Y') and (ch <> 'y') then begin
|
||||
@ -235,6 +234,8 @@ var
|
||||
vlm : AnsiString;
|
||||
Params : TStringList;
|
||||
begin
|
||||
prm := '';
|
||||
vlm := '';
|
||||
Params := TStringList.Create;
|
||||
Params.CaseSensitive := false;
|
||||
try
|
||||
@ -270,10 +271,10 @@ begin
|
||||
end;
|
||||
|
||||
var
|
||||
inpf : AnsiString;
|
||||
st : TStrings;
|
||||
inpf : AnsiString = '';
|
||||
st : TStrings = nil;
|
||||
i : integer;
|
||||
err : AnsiString;
|
||||
err : AnsiString = '';
|
||||
begin
|
||||
try
|
||||
GetConvertSettings(ConvertSettings, inpf);
|
||||
|
Reference in New Issue
Block a user