Extract field declarations

This commit is contained in:
Tamas Vajk
2021-12-16 09:29:47 +01:00
committed by Ian Lynagh
parent 5bc28ab45a
commit 67d2c52e86
4 changed files with 43 additions and 6 deletions

View File

@@ -626,9 +626,13 @@
| file://:0:0:0:0 | MyLambda | funcExprs.kt:13:1:29:1 | call | TypeAccess |
| file://:0:0:0:0 | Object | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Object | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | String | file://:0:0:0:0 | <none> | TypeAccess |
| file://:0:0:0:0 | String | localFunctionCalls.kt:3:1:11:1 | x | TypeAccess |
| file://:0:0:0:0 | Unit | exprs.kt:168:6:170:1 | Direction | TypeAccess |
| file://:0:0:0:0 | Unit | exprs.kt:172:6:176:1 | Color | TypeAccess |
| file://:0:0:0:0 | int | file://:0:0:0:0 | <none> | TypeAccess |
| file://:0:0:0:0 | int | file://:0:0:0:0 | <none> | TypeAccess |
| file://:0:0:0:0 | int | file://:0:0:0:0 | <none> | TypeAccess |
| file://:0:0:0:0 | tmp0 | exprs.kt:4:1:136:1 | topLevelMethod | LocalVariableDeclExpr |
| funcExprs.kt:14:5:14:33 | functionExpression0a(...) | funcExprs.kt:13:1:29:1 | call | MethodAccess |
| funcExprs.kt:14:26:14:33 | ...->... | funcExprs.kt:13:1:29:1 | call | LambdaExpr |

View File

@@ -1,3 +1,25 @@
fieldDeclarations
| properties.kt:2:27:2:50 | int constructorProp; | properties.kt:2:27:2:50 | constructorProp | 0 |
| properties.kt:2:53:2:83 | int mutableConstructorProp; | properties.kt:2:53:2:83 | mutableConstructorProp | 0 |
| properties.kt:3:5:3:25 | int modifiableInt; | properties.kt:3:5:3:25 | modifiableInt | 0 |
| properties.kt:4:5:4:24 | int immutableInt; | properties.kt:4:5:4:24 | immutableInt | 0 |
| properties.kt:5:5:5:26 | int typedProp; | properties.kt:5:5:5:26 | typedProp | 0 |
| properties.kt:7:5:7:30 | int initialisedInInit; | properties.kt:7:5:7:30 | initialisedInInit | 0 |
| properties.kt:11:5:11:40 | int useConstructorArg; | properties.kt:11:5:11:40 | useConstructorArg | 0 |
| properties.kt:19:5:20:15 | int defaultGetter; | properties.kt:19:5:20:15 | defaultGetter | 0 |
| properties.kt:21:5:22:15 | int varDefaultGetter; | properties.kt:21:5:22:15 | varDefaultGetter | 0 |
| properties.kt:23:5:24:15 | int varDefaultSetter; | properties.kt:23:5:24:15 | varDefaultSetter | 0 |
| properties.kt:25:5:27:15 | int varDefaultGetterSetter; | properties.kt:25:5:27:15 | varDefaultGetterSetter | 0 |
| properties.kt:28:5:29:22 | int overrideGetter; | properties.kt:28:5:29:22 | overrideGetter | 0 |
| properties.kt:30:5:31:29 | int overrideGetterUseField; | properties.kt:30:5:31:29 | overrideGetterUseField | 0 |
| properties.kt:32:5:33:29 | int useField; | properties.kt:32:5:33:29 | useField | 0 |
| properties.kt:34:5:34:36 | String lateInitVar; | properties.kt:34:5:34:36 | lateInitVar | 0 |
| properties.kt:35:5:35:32 | int privateProp; | properties.kt:35:5:35:32 | privateProp | 0 |
| properties.kt:36:5:36:36 | int protectedProp; | properties.kt:36:5:36:36 | protectedProp | 0 |
| properties.kt:37:5:37:30 | int publicProp; | properties.kt:37:5:37:30 | publicProp | 0 |
| properties.kt:38:5:38:34 | int internalProp; | properties.kt:38:5:38:34 | internalProp | 0 |
| properties.kt:67:1:67:23 | int constVal; | properties.kt:67:1:67:23 | constVal | 0 |
#select
| properties.kt:2:27:2:50 | constructorProp | properties.kt:2:27:2:50 | getConstructorProp | file://:0:0:0:0 | <none> | properties.kt:2:27:2:50 | constructorProp | public |
| properties.kt:2:53:2:83 | mutableConstructorProp | properties.kt:2:53:2:83 | getMutableConstructorProp | properties.kt:2:53:2:83 | setMutableConstructorProp | properties.kt:2:53:2:83 | mutableConstructorProp | public |
| properties.kt:3:5:3:25 | modifiableInt | properties.kt:3:5:3:25 | getModifiableInt | properties.kt:3:5:3:25 | setModifiableInt | properties.kt:3:5:3:25 | modifiableInt | public |

View File

@@ -6,6 +6,7 @@ newtype TMaybeElement =
class MaybeElement extends TMaybeElement {
abstract string toString();
abstract Location getLocation();
}
@@ -13,7 +14,9 @@ class YesMaybeElement extends MaybeElement {
Element e;
YesMaybeElement() { this = TElement(e) }
override string toString() { result = e.toString() }
override Location getLocation() { result = e.getLocation() }
}
@@ -21,19 +24,16 @@ class NoMaybeElement extends MaybeElement {
NoMaybeElement() { this = TNoElement() }
override string toString() { result = "<none>" }
override Location getLocation() { none() }
}
MaybeElement getter(Property p) {
if exists(p.getGetter())
then result = TElement(p.getGetter())
else result = TNoElement()
if exists(p.getGetter()) then result = TElement(p.getGetter()) else result = TNoElement()
}
MaybeElement setter(Property p) {
if exists(p.getSetter())
then result = TElement(p.getSetter())
else result = TNoElement()
if exists(p.getSetter()) then result = TElement(p.getSetter()) else result = TNoElement()
}
MaybeElement backingField(Property p) {
@@ -46,3 +46,4 @@ from Property p
where p.fromSource()
select p, getter(p), setter(p), backingField(p), concat(string s | p.hasModifier(s) | s, ", ")
query predicate fieldDeclarations(FieldDeclaration fd, Field f, int i) { fd.getField(i) = f }